http历史版本

1,HTTP0.9

最早的http版本,后来才被定义为0.9版本。

这时候通信采用的是纯文本格式;

只支持get请求,且在服务器响应之后就关闭连接;

没有请求头的概念,功能比较简单。

2,HTTP1.0

这个版本增加了请求头、响应头的概念;

引入了HTTP协议版本号和一些元信息(例如状态码、权限、缓存、内容编码);

增加了post、header等方法;

传输格式增加了图片、音频、视频、二进制等。

3,HTTP1.1

HTTP1.1推出主要是完善1.0版本。

增加了put、delete等方法,restful的应用;

增加了Connection字段,可以支持keep-alive保持链接不断开;

增加了cache-control字段,缓存管理和控制;

允许响应数据分块,即断点传输,方便大文件的传输;

强制要求HOST头

4,HTTP2

HTTP2主要在性能上有很大的改善。但目前主流的浏览器只支持基于TSL部署的HTTP2,所以想要将网站升级到HTTP2,首先要升级为HTTPS,并申请证书。所以HTTP2目前的应用并不广泛。

头部压缩:HTTP2维护了一个头部信息字典,通过一系列算法减少重复传输的信息占用资源。

二进制分帧 :HTTP1.x是基于文本解析,而HTTP2将传输的信息分割成更小的消息和帧,并采用了二进制的编码,提升传输效率。

多路复用: 基于二进制分帧传输的基础,在共享一个TCP连接的请求和响应时,将多个同域名下的请求使用同一个链路进行发送(也就是一个连接处理多个往返通信,实现链路复用),http将消息分解成独立的帧数据打乱顺序发送,服务器接受后根据标识和首部数据重新组装起来。

服务器推送:服务器可以主动向客户端推送请求,无需客户端同意。

强化安全:底层使用了TSL1.25

5,HTTP3

HTTP3是基于UDP的QUIC协议,他解决了HTTP2多路复用丢包的问题。基于ID识别一个连接,不是TCP基于IP和端口。

QUIC协议是用来替代TCP SSL/TLS传输层的协议。他完善了丢包率高的网络恢复速度,减少重传量。

相关推荐
龙哥说跨境3 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我18 分钟前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine20239131 分钟前
06 网络编程基础
java·网络
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
热爱跑步的恒川5 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程8 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
23zhgjx-NanKon9 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon9 小时前
华为eNSP:mux-vlan
网络·安全·华为