HTTP协议版本差异

HTTP0.9

要规定了客户端和服务器之间的通信格式,默认使用80端口。

没有首部;只能获取纯文本

只支持GET方法.

请求完成后即关闭TCP连接

HTTP1.0

任何格式的内容都可以发送。不仅可以传输文字,还能传输图像、视频、二进制文件。

除了GET命令,还引入了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。

HTTP请求和回应的格式也变了。除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据。

新增功能还包括状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等

HTTP1.1

持久连接(keep-alive):TCP连接默认不关闭,可以被多个请求复用

管道机制(pipelining):同一个TCP连接里面,客户端可以同时发送多个请求。但是服务器还是按照顺序响应。

分块传输编码:对于动态生成的响应类容,可以使用分块传输,边生成边发送

新增了许多动词方法:PUT、PATCH、HEAD、 OPTIONS、DELETE。

客户端请求的头信息新增了Host字段,用来指定服务器的域名:有了Host字段,就可以将请求发往同一台服务器上的不同网站,为虚拟主机的兴起打下了基础。

HTTP2.0

多路复用:HTTP2建立一个TCP连接,一个连接上面可以有任意多个流(stream),消息分割成一个或多个帧在每个流里面传输。帧传输过去以后,再进行重组,形成一个完整的请求或响应。

二进制帧:1.1响应是文本格式,而2.0把响应划分成了两个帧,HEADERS和DATA 是帧的类型。也就是说一条HTTP响应,划分成了两个帧来传输,并且采用二进制来编码。

头信息压缩:每个请求带的一些首部字段都是相同的,例如cookie、user-agent等。HTTP2压缩首部。

服务器推送:服务器端推送使得服务器可以预测客户端需要的资源,主动推送到客户端。如客户端请求index.html,服务器端能够额外推送script.js和style.css。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值