中小企业网站建设市场,查找手机网站,常见的电商平台有哪些,小程序有什么用HTTP协议#xff1a; HTTP 是 HyperText Transfer Protocol#xff08;超文本传输协议#xff09;的缩写#xff0c;它是互联网上应用最为广泛的一种网络协议#xff0c;所有 WWW 文件都必须遵守这个标准。
HTTP1.0版本#xff1a;功能#xff1a; 请求中新增协…HTTP协议 HTTP 是 HyperText Transfer Protocol超文本传输协议的缩写它是互联网上应用最为广泛的一种网络协议所有 WWW 文件都必须遵守这个标准。
HTTP1.0版本功能 请求中新增协议版本信息 引入HTTP头概念 响应中新增状态码 支持 HTML 文件以外的其他类型 默认使用短连接浏览器每使用一个静态资源就会建立连接直到任务结束中断连接缺点 连接无法复用的问题每发送一次请求都需要进行三次握手的过程重新建立连接效率太低 阻塞问题http1.0是下一个请求的发送必须要等到上一个请求返回后才会进行如果上一个请求没有返回那么后面的请求就会全部阻塞。 安全问题http1.0所传输的内容都是明文的无法保证数据的安全性。
HTTP 1.1版本新增 默认支持长连接在一个网页打开期间所有网络请求复用同一条建立的连接。 引入额外的缓存控制机制。例如Entity tag,If-None-Match等更多可供选择的缓存头 新增24个错误状态相应码 引入内容协商允许通信双方约定语言(Accept-Language),编码(Accept-Encoding)等 支持响应分块(断点续传) 引入管线化发送请求后需等待收到响应后才能发送下一个—允许客户端同时并行发送多个请求按照客户端发送的请求顺序返回响应可能发生队头阻塞(上一个请求的响应若迟迟未处理完毕后面的响应会阻塞) Host头允许不同域名配置在同一IP地址
HTTP2.0版本 HTTP/2.0具有三大特性Header压缩服务端推送多路复用。Header压缩 HTTP/1.1每次通信携带的Header信息常常是相似的。HTTP/2.0中对于每次通信Header中相同的信息不会重复发送而是采用追加或替换的方式。具体实现为HTTP/2.0在客户和服务端共同维护一个Header表存储之前发送的K/V键值对并且此表在HTTP/2.0连接期间始终存在。 优点减少每次通信数据量提高传输速度。
服务端推送 服务器可对一个客户端的请求发送多个响应。并且服务端向客户端推送资源无需客户端明确的请求。务端根据客户端的请求提前推送额外的资源。例如在发送页面HTML时主动推送其它CSS/JS资源而不用等浏览器解析到相应位置。 优点减轻数据传输的冗余步骤加快页面响应速度提升用户体验。
多路复用二进制分帧 HTTP/1.x使用文本格式传输数据—HTTP/2.0将传输信息分割为若干帧采用二进制格式编码。应用层和传输层间增加一个二进制分帧层。每个请求都对应一个流并有一个唯一整数标识符。HTTP/1.x被拆分成多个帧并均有序列号以及自己流的标识符接收端自行合并。 优点采用更高效的编码协议提升传输效率。为多路复用提供基础。 HTTP/1.x有两大约束 顺序服务端必须按照客户端请求的顺序串行返回数据即使HTTP/1.1允许同一连接发起多个请求也不是真正的并行传输 阻塞浏览器限制每个域名下最多同时发起6个连接超过的会阻塞常见优化如下 使用多个域名(CDN)提高浏览器下载速度将多个CSS/JS文件打包成一个文件多个小图片合并为雪碧图减少HTTP请求 同一连接发起的多个请求服务端可并行传输数据。基于二进制分帧层HTTP/2.0可同时交错发送多个信息中的帧接收端根据帧的流标识符和序列号重新组装。多路复用使用同一TCP连接并发处理同一域名下所有请求减少TCP建立连接的时延。并且代替了顺序和阻塞机制实现真正并行传输避免队头阻塞问题极大提高传输效率
HTTP3.0版本 HTTP3.0 是一种基于 QUIC 协议的新的网络传输协议它可以提供更高的安全性、效率和可靠性。QUIC 协议是谷歌推出的一套基于UDP的传输协议它实现了 TCP HTTPS HTTP/2 的功能目的是保证可靠性的同时降低网络延迟。
QUIC 协议优点 连接建立速度快QUIC 协议只需要一个往返时间RTT就可以建立安全连接而 TCP TLS 需要三个 RTT。 支持连接迁移QUIC 协议引入了 Connection ID 的概念使得客户端和服务器之间的连接不依赖于 IP 地址和端口号而是由一个唯一的标识符来维持。这样当客户端切换网络或者 IP 地址变化时不会导致连接断开。 支持多路复用QUIC 协议支持在一个连接上并发发送多个数据流避免了 TCP 中的队头阻塞问题。同时QUIC 协议也支持对每个数据流进行单独的流量控制和拥塞控制。 支持前向纠错QUIC 协议可以在数据包中添加冗余信息以便在丢包时恢复数据减少重传次数和延迟。
QUIC 协议缺点 兼容性问题由于 QUIC 协议是基于 UDP 的而 UDP 在一些网络环境中可能会被阻断或者限速。因此QUIC 协议需要在客户端和服务器之间进行协商如果无法使用 QUIC则降级为 TCP TLS HTTP/2。 加密开销由于 QUIC 协议在用户空间实现了加密功能而不是利用内核提供的 TCP/IP 栈。这样虽然可以提高灵活性和更新速度但也增加了 CPU 的消耗和内存的占用。