HTTP请求过程(http是一种无状态协议,即不建立持久的连接)
一、一个完整的HTTP请求,通常有7个步骤:
1、建立TCP连接;
2、web浏览器向web服务器发送请求命令;
3、浏览器发送请求头信息;
4、服务器应答;
5、服务器发送应答头信息;
6、服务器向浏览器发送数据;
7、服务器关闭TCP连接。
二、一个HTTP请求由四部分组成:
1、HTTP请求方法或动作,如:GET或POST;
2、正在请求的URL;
3、请求头,包含一些客户端环境信息、身份验证信息;
4、请求体,即请求正文,可包含提交的查询字符串信息、表单信息等。
三、一个HTTP响应一般由三个部分组成:
1、一个数字和文字组成的状态码,用来显示请求成功还是失败;
2、响应头,包含许多有用的信息,如:服务器类型、日期时间、内容类型和长度;
3、响应体,即响应正文。
四、readyState属性(返回请求的当前状态):
0:请求未初始化,open还没有调用;
1:服务器连接已建立,open已经调用;
2:请求已接收,即,接收到头部信息了;
3:请求处理中,即,接收到响应体了;
4:请求已完成,且响应已就绪,即,响应完成了。
五、HTTP状态码(返回请求结果)由3位数字构成:
1XX:信息性状态码,接收的请求正在处理;
2XX:成功状态码,请求正常处理完毕;
3XX:重定向状态码,需要进行附加操作已完成请求;
4XX:客户端错误状态码,服务器无法处理请求;
5XX:服务器错误状态码,服务器处理请求出错。
六、TCP三次握手、四次回收策略(TCP的标志为:SYN/ACK)
1、三次握手
(1)发送端-------数据包(SYN)------------->接收端
(2)接收端--------------数据包(SYN/ACK)------>发送端
(3)发送端-------数据包(ACK)------------->接收端
2、四次挥手
(1)主动关闭方------TIN(关闭数据传送)----------------->被动关闭方;
(2)被动关闭方------------ACK(确认序号为收到序号+1)-------------->主动关闭方;
(3)被动关闭方------------FIN(关闭数据传送)---------------------->主动关闭方;
(4)主动关闭方------ACK(确认序号为收到序号+1)---------->被动关闭方。
HTTP请求过程(http是一种无状态协议,即不建立持久的连接)的更多相关文章
- Flask基础(10)-->http的无状态协议解决办法一(客户端cookie)
http的无状态协议 http是一种无状态协议,浏览器请求服务器时无状态的 什么是无状态? 无状态:指的是一次用户请求时,浏览器.服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求. 无状态 ...
- HTTP协议是无状态协议,怎么理解?
Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在 ...
- HTTP协议是无状态协议,怎么理解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp24 HTTP协议是无状态协议,怎么理解? 2010-02-23 09:4 ...
- HTTP无状态协议
http://baike.baidu.com/view/4551466.htm HTTP协议是无状态协议. 无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重 ...
- HTTP无状态协议理解
TTP协议是无状态协议. 无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大.另一方面,在服务器不需要先前信息时它的应 ...
- 《图解HTTP》读书笔记(三:无状态协议/cookie管理状态)
HTTP是一种不保存状态,即无状态(stateless)协议.HTTP协议自身不对请求和响应之间的通信状态进行保存. ——HTTP/1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Co ...
- http无状态协议,cookie和session详解(一)
1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...
- HTTP——无状态协议理解
无状态服务器是指一种把每个请求作为与之前任何请求都无关的独立的事务的服务器. HTTP是一个属于应用层的面向对象的协议 ------未完待续
- 2019.3.26 为什么说HTTP是无状态协议/无连接
无状态 1.协议对于事务处理没有记忆能力 2.对同一个url请求没有上下文关系 3.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响, ...
随机推荐
- windows下怎么解决Python双版本问题
相信大家会在windows下会遇到Python双版本问题 当我们装了Python2和Python3时我们好只能在命令栏调出最高版本的那个低版本的难道消失了吗?今天我们就解决这个问题! 1.下载 我们在 ...
- JavaScript 版数据结构与算法(一)栈
今天,我们要讲的是数据结构与算法中的栈. 栈的简介 栈是什么?栈是一个后进先出(LIFO)的数据结构.栈有啥作用?栈可以模拟算法或生活中的一些后进先出的场景,比如: 十进制转二进制,你需要将余数倒序输 ...
- HDU1201 水题
做多了年月日,现在基本就能水过了 18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- JSONP、图片Ping、XMLHttpRequest2.0等跨域资源请求(CORS)
跨域:当协议.主域名.子域名.端口号中任意一个不相同时都不算同一个域,而在不同域之间请求数据即为跨域请求.解决方法有以下几种(如有错误欢迎指出)以请求图片url为例: 1.通过XMLHttpReque ...
- Android架构: MVC 新浪微博
由于项目的需要,最近研究了一下需要连接网络项目的MVC架构,参考了一下一个新浪微博的开发架构 http://www.open-open.com/lib/view/open1345524526767.h ...
- win10 uwp 九幽图床
本文主要是图片加水印自动上传,代码已经上传github. 图片加水印,我的方法,简单,一个好的方法是毒逆天大神的图片加水印方法或http://daily.zhihu.com/story/8812028 ...
- Python读取SQLite文件数据
近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内 ...
- 从狗日的Oracle上下载jdk
就算因为需要我要用到java,我依然要说java是最垃圾的语言,现在oracle又让我明白什么叫最垃圾的公司. 从oracle下载文件要求你同意他的协议,但是你会发现很多时候就算你点了同意依然不可以下 ...
- 游标的小知识(借鉴and整理)
一.游标(用来存储多条查询数据的一种数据结构(结果集),它有一个指针,用来从上往下移动,从而达到遍历每条记录的作用) 游标也可以理解为逐行返回SQL语句的结果集 如何编写一个游标? 1.声明游标 de ...
- Vue源码后记-vFor列表渲染(3)
这一节肯定能完! 经过DOM字符串的AST转化,再通过render变成vnode,最后就剩下patch到页面上了. render函数跑完应该是在这里: function mountComponent( ...