http1.1在互联网上的应用表现是https(安全的网络协议),其底层使用了SSL/TLS(TLS是SSL算法的升级版)加密协议,使得数据在网络上传输更加安全。
其建立过程如下:
1)浏览器通过URL访问Web服务器,要求与服务器建立SSL/TLS(对称加密、非对称加密、hash算法)链接,即是将自己的加密规则发送给服务器。
2)服务器选取加密规则和hash算法以证书(网络地址、加密公钥、证书颁的机构等)形式传输给浏览器。
3)浏览器验证证书信息,生成一组随机数并且使用公钥加密。使用约定好的hash算法计算握手消息。使用生成的随机数对消息加密。最后浏览器将所有的信息发送到服务器。
4)服务器获得信息之后,首先使用自己的私钥解密出信息的加密密码,使用此密码解密客户端发来的握手信息。验证hash算法的一致性,最后使用密码加密握手信息发送到浏览器。
5)浏览器机密并计算握手消息的hash,如果与服务端发来的hash一致,结束握手。
6)最后通信时,服务器与浏览器的通信使用浏览器随机生成的密码通信,并且使用对称加密算法进行加密。
通信建立的时候,浏览器会显示5类状态码表示当前的链接情况,状态码是由ITETF在2014年标准化的信息,参考文献是rfc7231。具体的状态码信息如下所示:
1xx:在完成所请求的操作并发送最终响应之前,用于通信连接状态或请求进度的临时响应。
> 100:请求的初始部分已收到,但尚未被服务器拒绝。
> 101:服务器理解并愿意通过upgrade header字段遵