HTTP协议定义了浏览器怎样向万维网请求万维网文档,以及服务器怎样把文档传给浏览器
HTTP客户端与服务器之间的每一次交互都是有一个ASCII码串构成请求和“类MIME”的响应构成
HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。
HTTP协议本身是无连接无状态的。
总时间=文档传输时间+2RTT
组成:
开始行 (请求行、状态行)区分是请求报文还是响应报文
首部行 说明浏览器、服务器或报文主体的一些信息
实体主体
1.HTTP1.0 采用非持续连接,每请求一个文档都会有2倍RTT开销。如果一个页面有很多连接对象就需要一次进行连接,每次连接下载都会有2RTT时间开销,而且每建立一次TCP连接客户端和服务器端都要分配变量和缓存。当同时又大量客户端请求时,服务器的负担会很重。
2.HTTP1.1
使用持续连接,服务器端在发送完响应后任然保存这条连接一段时间,使同一个客户端可以继续发送请求报文。
可通过建立几个TCP连接实现并发,但是创建TCP连接本身也是有开销。
支持只发送header信息,如果服务器认为客户端有权限,则返回100,否则返回401.收到100才开始把请求body发送到服务器,节约宽带。
3.HTTP2.0
使用多路复用技术,使同一个连接并发处理多个请求。并发请求数量比HTTP1.0大好几个数量级
对header数据压缩,数据体积变小,网络传输更快。
把客户端需要的资源一起推送到客户端。