当前位置:首页 > 网站技术 > 前端技术 > 正文内容

HTTP之功能追加协议以及升级http2.0

小彬2020-08-05前端技术178

1、影响http网络请求的因素

带宽 

延迟

2、http协议的瓶颈

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

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

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

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

非强制压缩发送 


3、双工通信的websocket 

 ajax轮询和long pall都不是最佳的请求方式   


 websocket的特点

 真正的全双工方式

 减少通信量

HTTP之功能追加协议以及升级http2.0


 4、探索式的实践---SPDY

基于tcp会话层协议,目的是最小化延迟,提升网络速度,提高用户体验

对于http协议的增强,不是替代http


http缺陷

单路链接 请求低效

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

http头部冗余

HTTP之功能追加协议以及升级http2.0

SPDY改进

 多路复用 请求优化

 支持服务器推送技术

 SPDY压缩了http头

 强制使用SSL传输协议


 SPDY的意义

 意义很多,但是被http2.0代替


5、http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0


 单链接多资源的优势

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

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

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


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

HTTP之功能追加协议以及升级http2.0

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

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

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

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


请求优先级

HTTP之功能追加协议以及升级http2.0

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

  优先级不是绝对的

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

6、 实验:http1.1升级http2.0升级http2

  如何查看http版本,找到网站请求右键copy all as HAR;

   

  step1:安装apache的apr  

   (解压 tar xzf [解压文件名])

  step2:安装apr-until;

  注意:如果遇到编译中断(all-recursive),解决方案 下载安装expat库:yum install expart-devel

  step3:安装openssl;

  step4:安装Tomact native

  step5:配置id;

  step6:生成证书

  step7:配置server.xml  


HTTP之功能追加协议以及升级http2.0

7、管理web服务器文件的webDav协议

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0



8、QUIC&&HTTP3.0

HTTP之功能追加协议以及升级http2.0

http2.0的问题

对头阻塞

建立链接的握手延迟大



QUIC的特性

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0

HTTP之功能追加协议以及升级http2.0




标签: http
分享给朋友:

相关文章

基于Vue自定义左右渐变图片轮播组件

基于Vue自定义左右渐变图片轮播组件

本文取自 https://github.com/zhangxiaoshang/va-carousel 的 一个基于 vue 的图片轮播组件 我在此基础上修改了一下,自己用...

前端入门html、css、js知识汇总(1)

前端入门html、css、js知识汇总(1)

注:本文适合需要一点前端知识,如有不懂自行百度或去W3C官网、去菜鸟教程查询1.html不需要编译,直接由浏览器执行   html文件时一个文本文件   h...

使用rem做手机端网页自适应

使用rem做手机端网页自适应

利用原生js做手机端网页自适应解决方案rem布局刚开始我用的是下面这段代码,然后js通过外部链接引入,最后每次用手机刷新网页的时候都会出现缩略图function getRem(pwidth,...

Vue2.x 实战总结知识点

Vue2.x 实战总结知识点

1、git操作上传文件到gitee 先在线上建一个仓库bin012,然后本地打开git bash执行以下三步  mkdir bin012  cd&...

es6入门之环境搭建

es6入门之环境搭建

话不多说,首先我也是先学习了然后再总结的。es6入门——es6环境的搭建(原文有个错误,把cmd说成是控制台,以至于评论区有个新手没理解到意思,控制台是浏览器的console,cmd是输入命令行执行的...

评论列表

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信