http各个版本学习总结笔记

http 1.0 

  1.  引入状态码     --- 处理 出错问题 

  2.  引入 请求头、响应头    -- 用于数据交互

  3.  引入cache机制  -- 缓存的已经下载的东西

http 1.1 都做了那些改进? 

  1.  持久化链接tcp连接 - 传送数据(一次) - tcp断开   ==》  tcp连接  - 传送数据(多次) - tcp断开 

    新加Connection字段 :close 关闭持久化 (默认打开) ,最多6个持久化连接

  2.  不成熟http管道化以前会发生对头阻塞问题 == 》 尝试批量传输 

  3. 提供虚拟主机的支持实现多个域名公用一个IP

    新加Host字段:用来表示当前的域名地址

  4.  对动态生成的内容提供了完美支持: 本来是采用的Content-Length: 100  浏览器可以根据该值大小接收数据  ==》 为了适应动态 采用Chunk transfer 块级传输机制解决

    服务器会将数据分割成若干个任意大小的数据块,每个数据块发送时会附上上个数据块的长度,最后使用一个零长度的块作为发送数据完成的标志

  5.  客户端 Cookie、安全机制:Cookie 机制和安全机制

HTTP2:如何提升网络速度

  1. 原因:

 

      tcp的慢启动

     同时开启多个tcp连接 会竞争固定带宽 (一些主要的 一些不重要的  都会加载 )

     对头阻塞

  2. 解决方案:

 

      1. 多路复用: 每份数据都有id   服务器可以根据自己的喜好进行加载某个模块  浏览器将相同id拼接响应数据

          1-1.   可以设置请求的优先级

          1-2.   服务器推送  - - 提前将数据文件js css 推送至浏览器  等html请求后直接使用  提高首次渲染速度

          1-3.  头部压缩  hpack 编码   

               1-3-1. 有一个静态字典表格 , 头部字段使用二进制数字展示  对应哪个就是哪个  

                                                                 如果没有,则需要自己建立动态表格详细点击查看

https://blog.csdn.net/whuslei/article/details/6667471
https://juejin.cn/post/6982856040245100552#heading-16

 

 

     

  

 

posted @ 2022-02-07 16:55  郭杰前端开发  阅读(26)  评论(0编辑  收藏  举报
## 希望内容对你有帮助,如果有错误请联系我 q: 1911509826,感谢支持