图解HTTP读书笔记(二 简单的HTTP协议)

简单的HTTP协议

2.1 HTTP协议的常见方法

HTTP协议用于客户端跟服务端之间通信,通过请求和响应的交换达成通信,HTTP协议是无状态的,可以用cookie解决。

2.2 HTTP协议的常用方法

这里比较简单,列举了常用的方法:get,post

Delete,puttrace这样方法因为安全因素通常不会使用。

Get:通常为了获取资源。

POST:提交参数,传输实体主体。

常见的get,post自己可以观察一下:

图解HTTP读书笔记(二 简单的HTTP协议)

Head:不返回报文主体部分,用于确认资源有效性。

Connect:要求与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要是使用SSLTLS协议把通信内容加密后经隧道传输。

 图解HTTP读书笔记(二 简单的HTTP协议)

2.3 持久链接节省通信量

HTTP1.0协议,每进行一次通信就要断开一次TCP链接,HTTP1.1协议默认开启长连接,即只要任意一端没有明确提出断开链接,就保持TCP链接状态。

这样理解:如客户端不需要,需要加上请求首部connection:close告知服务器。如服务器不支持长连接,则需要加上响应首部connection:close告知客户端,否则需要加上响应首部connection:keep-alive

 图解HTTP读书笔记(二 简单的HTTP协议)

图解HTTP读书笔记(二 简单的HTTP协议)

http1.0的短连接只是在发送真正的数据包前,加了一个发送握手数据包的过程。而在发送完数据包之后,加了一个挥手数据包的过程。而长连接也只是在发送完数据包后,不着急发送挥手数据包,继续发送数据包。

持久连接使多数请求以管线化(pipelining)方式发送。

2.4 使用cookie的状态管理

http协议是无状态协议,无法根据之前的状态进行本次请求的处理。Cookie技术通过在请求和响应的报文中写入cookie信息来控制客户端的状态。

Cookie会根据服务端发送的响应报文的set-cookie首部字段信息,通知客户端保存cookie,当下次客户端再往改服务器发送请求时,客户端会自动在请求报文中带上cookie值出去。服务端在接收到客户端发来的cookie之后,会对比服务器上记录,得到之前的状态。

 图解HTTP读书笔记(二 简单的HTTP协议)