400-638-8808
|
微信公众号
一、HTTP协议的今生来世
最近在看博客的时候,发现有的面试题已经考HTTP/2了,于是我就顺着去了解一下。
到现在为止,HTTP协议已经有三个版本了:
下面就简单聊聊他们三者的区别,以及整理一些必要的额外知识点。
1.1 HTTP版本之间的区别
1.1.1 HTTP1.0和HTTP1.1区别
HTTP1.0和HTTP1.1最主要的区别就是:
在HTTP1.0默认是短连接:
简单来说就是:每次与服务器交互,都需要新开一个连接!
试想一下:请求一张图片,新开一个连接,请求一个CSS文件,新开一个连接,请求一个JS文件,新开一个连接。HTTP协议是基于TCP的,TCP每次都要经过三次握手,四次挥手,慢启动...这都需要去消耗我们非常多的资源的!
在HTTP1.1中默认就使用持久化连接来解决:建立一次连接,多次请求均由这个连接完成!(如果阻塞了,还是会开新的TCP连接的)
相对于持久化连接还有另外比较重要的改动:
1.1.2 HTTP2基础
在说HTTP2之前,不如先直观比较一下HTTP2和HTTP1.1的区别:
上面也已经说了,HTTP 1.1提出了管线化(pipelining)理论,但是仅仅是限于理论的阶段上,这个功能默认还是关闭了的。
管线化(pipelining)和非管线化的区别:
HTTP Pipelining其实是把多个HTTP请求放到一个TCP连接中一一发送,而在发送过程中不需要等待服务器对前一个请求的响应;只不过,客户端还是要按照发送请求的顺序来接收响应!
就像在超市收银台或者银行柜台排队时一样,你并不知道前面的顾客是干脆利索的还是会跟收银员/柜员磨蹭到世界末日(不管怎么说,服务器(即收银员/柜员)是要按照顺序处理请求的,如果前一个请求非常耗时(顾客磨蹭),那么后续请求都会受到影响。
1.1.3 HTTP1.1和HTTP2区别
HTTP2与HTTP1.1最重要的区别就是解决了线头阻塞的问题!其中最重要的改动是:多路复用 (Multiplexing)
使用了HTTP2可能是这样子的:
HTTP2所有性能增强的核心在于新的二进制分帧层(不再以文本格式来传输了),它定义了如何封装http消息并在客户端与服务器之间传输。
看上去协议的格式和HTTP1.x完全不同了,实际上HTTP2并没有改变HTTP1.x的语义,只是把原来HTTP1.x的header和body部分用frame重新封装了一层而已
HTTP2连接上传输的每个帧都关联到一个“流”。流是一个独立的,双向的帧序列可以通过一个HTTP2的连接在服务端与客户端之间不断的交换数据。
实际上运输时:
HTTP2还有一些比较重要的改动:
1.2 HTTP2总结
HTTP1.1新改动:
HTTP2新改动:
1.3 HTTPS再次回顾
之前在面试的时候被问到了HTTPS,SSL这样的知识点,也没答上来,这里也简单整理一下。
首先还是来解释一下基础的东东:
3y的通讯之路:
回到我们的HTTPS,HTTPS其实就是在HTTP协议下多加了一层SSL协议(ps:现在都用TLS协议了)
HTTPS采用的是混合方式加密:
过程是这样子的:
服务器拿到这个加密的密钥,解密获取密钥,再使用对称加密算法,和用户完成接下来的网络通信
所以相比HTTP,HTTPS 传输更加安全
(1) 所有信息都是加密传播,黑客无法窃听。
(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。
(3) 配备身份证书,防止身份被冒充。
二、总结
我只是在学习的过程中,把自己遇到的问题写出来,整理出来,希望可以对大家有帮助。如果文章有错的地方,希望大家可以在评论区指正,一起学习交流~
天下数据SSL证书服务:
详情请戳:https://www.idcbest.com/2018/ssl.asp
天下数据提供SSL证书服务,价格低至299/年;天下数据为活动期间购买的用户提供免费安装ssl证书的技术支持服务,免费定制安全解决方案,让数据更安全!有任何问题可随时咨询在线客服!
上一篇 :图解基于HTTPS的DNS
天下数据手机站 关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图
天下数据18年专注海外香港服务器、美国服务器、海外云主机、海外vps主机租用托管以及服务器解决方案-做天下最好的IDC服务商
《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号
朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权
深圳总部:中国.深圳市南山区深圳国际创新谷6栋B座10层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓
7×24小时服务热线:4006388808香港服务电话:+852 67031102
本网站的域名注册业务代理北京新网数码信息技术有限公司的产品