http1.0 1.1和2.0的区别

http的1.0 1.1的区别
连接复用:1.1默认支持连接复用,可以在一个连接上发送多个请求和响应
缓存机制:1.1提供了更多的缓存机制,除了1.0基于过期时间的缓存策略,还有ETag和If-None-Match等
流水线机制:时发送多个请求,1.0必须等待前一个请求响应后才能发送下一个请求
块传输:1.1引入了分块传输编码机制,传输大文件时可以分块传输,从而减少网络拥堵
host头部:1.1引入了host头部,可以在同一个IP地址下支持多个域名,提高服务器的利用率


http的1.1和2.0的区别
多路复用:一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。 
二进制传输:二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
头压缩:对头部信息进行压缩,减少了网络传输的数据量。
服务端推送:可以在客户端请求之前主动向客户端发送资源,提高了页面加载速度。

连接复用和多路复用的区别:
http1.1连接复用是指在一个TCP连接上可以发送多个HTTP请求和响应,避免为每个请求和响应建立新的连接,但是要求响应和请求的顺序是一致的。类似流水线。
http2.0的多路复用中响应和请求则可以乱序到达,原因一个request对应一个id,接收方通过id去归属。


适用场景区分:
HTTP/1.0适用于较为简单的网络应用场景,因为每个请求都要新建一个连接,所以高并发场景性能较差。
HTTP/1.1 适用于大多数的网络应用场景,通过连接复用,提升了性能,但是数据传输效率仍然有限。

HTTP/2.0适用于高并发、大流量的网络应用场景。HTTP/2.0支持多路复用、二进制传输、头部压缩、服务器推送等新特性,可以大幅提高网络传输效率和安全性。但是,HTTP/2.0需要服务器和客户端都支持,且在低带宽、高延迟的网络环境下可能会出现性能问题。

skywalking默认使用的是http2,因为使用了grpc,只有http2才支持

你可能感兴趣的:(http,网络,http)