https初识

概述

HTTPS就是在安全的传输层上发送的HTTP。它在将HTTP报文发送给TCP之前, 先将其发送给了一个安全层,对其进行加密。

HTTPS VS HTTP

《https初识》 image.png

方案

当请求一个客户端对某web资源执行某事务时, 它会去检查URL的方案。

  • 如果URL的方案是http,客户端就会打开一条到服务器端口80的连接, 并向其发送http命令
  • 如果是https,客户端就会
    (1) 打开一条到服务器端口443的连接
    (2) 然后与服务器握手 ,以二进制格式与服务器交换一些SSL安全参数,附上加密的http命令。

建立安全传输

未加密的HTTP中

客户端会打开一条到web服务器端口80的tcp连接,发送一条请求报文,接收一条响应报文,关闭连接

https中

  1. 打开开一条到web服务器端口443的连接,
  2. 一旦建立了tcp连接,客户端和服务器就会初始化ssl层,对加密的参数进行沟通,并交换密钥。
  3. 握手完成之后, SSL初始化就完成了,客户端就可以将请求报文发送给安全层。
  4. 在将报文发送给TCP之前,要先对其进行加密

    《https初识》 image.png

SSL握手

在发送已加密的HTTP报文之前,客户端和服务器要进行一次SSL握手,在这个握手过程中,它们要完成的工作有

  • 交换协议版本号
  • 选择一个两端都了解的密码
  • 对两端的身份进行认证
  • 生成临时的会话密钥,以便加密信道

《https初识》 简化SSL握手

    原文作者:海娩
    原文地址: https://www.jianshu.com/p/5ee829d6a4c5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞