http 2.0 以及 SSL/TLS协议

2,160 阅读2分钟

http 2.0

1.二进制协议

http2.0头数据和信息体都是二进制,并且统称为“帧”(frame):头信息帧和数据帧。

二进制协议还有额外的好处,可以定义额外的帧,http2就有十几种


2.多工

http2.0复用tcp链接,在一个连接中,浏览器和服务器可以同时发送多个请求或者回应,并且不用按照顺序一一对应,避免了“对头阻塞”,实现了实时,双向通信。


3.数据流

可以指定数据的优先级,优先级越高,服务器会越早处理。


4.头信息压缩

头信息压缩机制,一方面头信息使用gzip或者compress压缩后在发送,另一方面,服务器和浏览器会共同维护一张头信息表,生成一个索引号,之后只发送索引号


5.服务器推送

http2.0允许服务器未经请求,主动向客户端推送资源。

场景有,服务端可以不用等html源码分析完毕,就把静态资源和网页一起推送给客户端。


SSL/TLS协议

4次握手

1.客户端给出一个协议版本号,一个客户端生成的随机数,以及客户端支持的加密方法

2.服务端确认加密方法,发送数字证书,给出一个服务端生成的随机数

3.客户端确认证书有效,生成一个新的随机数,并用证书内的公钥,加密这个随机数,发送给服务端,

4.服务端用自己的私钥,获取这个随机数

5.双方根据约定的加密方法,使用这三个随机数,生成"对话密钥",用来加密整个对话过程


https和http的区别

https需要ca证书,需要费用,http不用

https是有安全性ssl加密传输协议,http是超文本传输,是明文的

https和http的传输方式也不一样,端口也不一样,一个默认443,一个默认80

https是又ssl和http组成的具有加密和身份安全认证的网络协议,http是无状态的