7·1HTTP协议的瓶颈|7·2双工通信的WebScoket|7·3探索式的实践-SPDY|7·4期盼已久的HTTP2|7·6管理WEB服务器文件的WebDAV协议|7·7HTTP的大跃进QUIC与HTTP30

发布时间 2023-04-05 17:10:25作者: ja不会va

HTTP协议的瓶颈

  影响Http网络请求的原因

    带宽    延迟

  HTTP协议的瓶颈

    一条连接上只可发送一个请求

    请求只能从客户端开始。客户端不可以接受除响应意外的指令

    请求/响应头部不经压缩就发送

    每次互相发送相同的头部造成的浪费较多

    非强制压缩发送 

    HTTP 标准协议刚制定的时候,是用来传输HTML 文档的。随着web网站的用途越来越广,上网购物,社交等功能,已经不仅仅是传输HTML了。

      Web应用和脚本慢慢发展起来,可以满足现在web 应用程序的功能。

      但是随着越来越多的信息和越来越多的在线用户,HTTP协议的弊端也越来越明显了。比如 weibo 屡见不鲜的崩溃,社交网站大量新帖子的刷新。

      在线直播行业同时在线几百万人, 发送消息给前台时,前台的信息刷新使用传统的方式已经无法满足常见需求啦。

      当后台有内容更新时, 前台内容就必须去刷新。 但是HTTP协议的瓶颈导致服务器端自动刷新前端不太可能。这都是因为HTTP 协议的瓶颈导致的
  双工通信的Webscoket

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。

      WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

      在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

  WebSocket的握手

 

  

  

   

  

 

 

 

   HTTP的缺陷

    单路连接,请求低效

    HTTP只允许客户端主动发起请求

    HTTP头部冗余

  SPDY的改进

    多路复用,请求优化

    支持服务器推送技术

    SPDY压缩了HTTP头

    强制使用SSL传输协议

  

  HTTP2.0

    

  HTTP2.0性能增强的核心:二进制分帧

  

  HTTP2.0首部压缩

 

  

  HTTP2.0多路复用

 

  HTTP/2 Inside:multiplexing

  单链接多资源的优势

 

    可以减少服务链接压力,内存占用少了,连接吞吐量大了

    由于TCP连接减少而使网络拥塞状况得以改观

    慢启动时间减少,拥塞和丢包恢复速度更快

  

   并行双向字节流的请求和响应

 

  并行交错地发送请求,请求之间互不影响

  并行交错地发送响应,响应之间互不干扰

  只使用一个连接即可并行发送多个请求和响应

 

 

  消除不必要的延迟,减少页面加载的时间

    

请求优先级

  高优先级的流都应该优先发送

 

  优先级不是绝对的

  不同优先级混合也是必须的

服务器推送

  

Webdav协议

 

  

WEBDAV追加方法

 

  

WEBDAV新增状态码

 

  

WebDAV请求实例

 

  

QUIC&HTTP3.0

 

   

HTTP2.0的问题

 

  队头阻塞

 

  建立连接的握手延迟大

 

QUIC的特征

 

  0RRT

  没有队头阻塞的多路复用