-------------TCP握手协议-------------
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.
【第一次握手】建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
SYN:同步序列编号(Synchronize Sequence Numbers)
【第二次握手】服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
【第三次握手】客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.
完成三次握手,客户端与服务器开始传送数据
【HTTP工作原理】
HTTP 协议采用请求/响应模型。客户端向服务器发送一个请求报文,服务器以一个状态作为响应。
步骤:
1>>客户端连接到web服务器:HTTP 客户端与web服务器建立一个 TCP 连接;
2>>客户端向服务器发起 HTTP 请求:通过已建立的TCP 连接,客 户端向服务器发送一个请求报文;
3>>服务器接收 HTTP 请求并返回 HTTP 响应:服务器解析请求,定位请求资源,服务器将资源副本写到 TCP 连接,由客户端读取;
4>>释放 TCP 连接:若connection 模式为close,则服务器主动 关闭TCP 连接,客户端被动关闭连接,释放TCP 连接;若
connection 模式为keepalive,则该连接会保持一段时间,在该 时间内可以继续接收请求;
5>>客户端浏览器解析HTML内容:客户端将服务器响应的 html 文 本解析并显示;
----------------http请求----------------
组成:
1>请求行: 请求方式+URI+http版本
2>请求头部(键值对)
3>空行
4>请求数据:post方式传递的参数在这里
【请求方式】
1)GET
2)POST
3)HEAD
4)TRACE
5)PUT
6)CONNECT
7)DELETE
【http1.0/http1.1】
1.0:一次连接可以发送一次请求
1.1:一次连接可以发送多次请求
【url/uri】
1)url统一资源定位符 定位互联网资源
2)uri统一资源标记符 定位任何资源
【GET/POST】
GET参数在url中,POST在实体内容
GET参数数据有限,不超过1kb,POST无限制
GET在浏览器回退时是无害的,POST会再次提交请求。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET只接受ASCII字符的参数的数据类型,而POST没有限制
那么,post那么好为什么还用get?get效率高!。
---------------http响应---------------------
1>状态行: 协议版本 状态码 状态码描述
2>响应头部(键值对)
3>响应正文:服务器返回给客户端的文本信息
【状态码】
200 : 表示请求处理完成并完美返回
302: 表示请求需要进一步细化。
404: 表示客户访问的资源找不到。
500: 表示服务器的资源发送错误。(服务器内部错误)
502:错误网关
503:服务出错