http/1.x,http/2,https,SSL,TLS

Posted smalljunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http/1.x,http/2,https,SSL,TLS相关的知识,希望对你有一定的参考价值。

http协议封装的数据包->tcp/ip->服务器  缺点:数据包中途被窃取或者被篡改。

http协议封装的数据包->ssl加密->tcp/ip->服务器:缺点:虽然安全,但是开销变大,传输数据变慢。

http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

https如何保证数据的传输加密?

https在传输的过程中涉及三个密钥:

服务器端用的公钥和私钥,用来进行非对称加密。

客户端产生的随机密钥,用来进行对称加密。

分为8步:

1.客户端向服务器发起HTTPS请求,连接到服务器的443端口。

2.服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。

3.服务器将自己的公钥发送给客户端。

4.客户端对服务端发来的公钥进行检查,验证其合法性,如果发现公钥有问题,https传输就无法继续。然后会生成一个随机值,这个随机值就是客户端密钥,然后用服务器公钥对客户端密钥进行非对称加密,这个客户端密钥就是密文,第一次https请求就结束了。

5.服务端接收到收到客户端的密文,然后用私钥进行非对称加密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行加密,这样数据就变成了密文。

6.服务端数据加密后的密文发给客户端。

7.客户端收到服务器发来的密文,用客户端的密钥来进行对称解密,得到服务器端发来的数据,这样第二次http请求就结束了。

 

以上是关于http/1.x,http/2,https,SSL,TLS的主要内容,如果未能解决你的问题,请参考以下文章

Jetty 9.3 SSL-ALPN-HTTP2 错误 ERR_EMPTY_RESPONSE 仅使用 HTTPS

阿里云免费申请免费SSL证书

HTTPS://迅达云 SSL 证书服务/单域名证书免费申请.do

SSL/TLS 握手优化详解

计算机网络HTTP:HTTP/1.x 和 HTTP/2

HTTP 2.0 PK HTTP 1.X —— 速度与激情