HTTP1.0、1.1、2.0、3.0的区别

简介: HTTP1.0、1.1、2.0、3.0的区别

HTTP 1.0


ecaadef0a6e54ae18800885c82d80ca5.png

短连接: 每次请求都要重新建立tcp请求,即三次握手,性能较差

无host头域: 也就是http请求头里的host’

不允许断点传输: ,而且不能只传输对象的一部分,需要传输整个对象


HTTP 1.1


引入更多缓存策略:在HTTP1.0中主要使用header里的If-Modefied-Since,expires来做为缓存判断的标准,HTTP1.1则引入更多的缓存控制策略例如Entity tag,if-ynmodified-Since,if-match等更多可供选择的缓存头控制策略

在请求头引入range头域: 它允许只请求资源的某个部分,即返回码是206,这样就方便开发者自由选择以便于充分利用带宽和连接

Host头处理: 在HTTP 1.0中认为每台服务器都绑定唯一一个IP地址,因此,请求消息中的URL并没有传递主机名,但随着虚拟主机技术的发展,在一台服务器上可以存在多个虚拟主机,并且他们共享一个IP地址

长连接支持: HTTP 1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求,减少建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection:keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点


HTTP 2.0


新的二进制格式: HTTP1.X的解析是基于文本,基于文本协议的格式解析存在天然的缺陷,文本的表现形式有多样性,要做到健壮性考虑的考虑必然很多,二进制则不同,只认0,1的组合,基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮

多路复用: 即连接共享,一个连接上可以有多个request,一个request对应一个id,每个连接的request可以随机的混杂在一起,接收方可以根据request的id将request再归属到各自不同的服务端请求里面

HTTP 2.0的多路复用和HTTP 1.1中的长连接复用有什么区别?

HTTP/1.1 Pipeling解决方式为,若干个请求排队串行化单线程处理,后面的请求等待前面请求的返回才能获得执行机会,一旦有某个请求超时等,后续请求只能被阻塞,这就是常说的线头阻塞

HTTP/2多个请求可同时在一个连接上并行执行,某个请求任务耗时严重,不会影响其它连接的正常执行

header压缩: HTTP1.X的header中带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields,避免重复的header的传输,又减少了需要传输的大小

服务端推送: HTTP2.0也具有server push功能


HTTP 3.0


基于google的QUIC协议,而quic协议是使用udp实现的减少了tcp三次握手以及tls握手时间

解决了http 2.0中前一个stream丢包导致后一个stream被阻塞的问题(TCP层的对头阻塞)

优化了重传策略,重传包和原包的编号不同,降低后续重传计算的消耗

连接迁移,不在用tcp四元组确定一个连接,而是用一个64位随机数来确定这个连接

更合适的流量控制


相关文章
|
3天前
|
缓存 安全 网络协议
一起深入了解http和https的区别
HTTP适合于非敏感信息的传输,而HTTPS则是在要求安全性、隐私保护及信任机制的现代互联网环境中不可或缺的标准配置。随着网络安全意识的提高和技术的发展,越来越多的网站和服务都转向使用HTTPS,力求在提供便捷服务的同时保障用户数据的安全。HTTPS将成为未来的基本选择。
52 0
一起深入了解http和https的区别
|
3天前
|
JSON 网络协议 API
PRC和HTTP(rest)过程的区别
PRC和HTTP(rest)过程的区别
|
3天前
|
安全 网络协议 算法
http和https的区别有哪些
http和https的区别有哪些
|
3天前
|
网络协议 安全 数据安全/隐私保护
Socks5代理和HTTP代理的区别在哪里?
Socks5和HTTP代理是两种IP代理方式,分别基于Socks5及HTTP协议。Socks5支持TCP/UDP,适合P2P、游戏和流媒体,提供传输层身份验证。HTTP代理仅支持HTTP,适用于Web浏览控制和内容过滤。选择代理应根据实际需求,如需高速低延迟选Socks5,需访问控制选HTTP。
|
3天前
|
网络协议 网络安全 程序员
socket,tcp,http三者之间的原理和区别
socket,tcp,http三者之间的原理和区别
socket,tcp,http三者之间的原理和区别
|
3天前
|
安全 网络协议 网络安全
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
HTTP和HTTPS是互联网主要的两大协议,HTTP是基础的简单请求-响应协议,常用于TCP上,但数据传输不安全。HTTPS是HTTP的安全版本,添加了SSL层进行加密和身份验证,提供更高的安全性,用于保护数据和验证网站真实性。HTTPS需CA证书,可能产生费用,并使用443端口而非HTTP的80端口。
|
3天前
|
网络协议 安全 数据安全/隐私保护
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
SOCKS5和HTTP是两种代理协议,前者是通用型,支持多种网络流量,提供身份验证、IPv6支持及UDP兼容性,更适合实时数据传输。HTTP代理专用于HTTP协议,适用于Web资源请求。SOCKS5在传输方式、功能、兼容性和安全性上更胜一筹,而HTTP代理则在处理HTTP请求时更专业。选择代理协议应根据需求和应用场景,考虑服务的稳定性和安全性。付费代理如kookeey全球代理,支持双协议,速度快且可扩展性强,是可靠的选择。
|
3天前
|
安全 网络协议 网络安全
Socks5代理与HTTP代理的区别与优劣
在互联网时代,隐私和安全至关重要,代理服务器如socks5和HTTP代理成为保护个人信息的工具。socks5代理支持多种网络流量和UDP协议,更具灵活性和通用性,但设置复杂;HTTP代理则更常见、易用,适合仅处理HTTP流量的场景,但限制较多。选择哪种代理取决于具体需求和应用场景。
|
3天前
|
网络协议 网络安全 数据安全/隐私保护
http和https的区别!
http和https的区别!
|
3天前
|
网络协议 Linux Windows
TCP/IP、Http、Socket之间的区别
TCP/IP、Http、Socket之间的区别