HTTP与HTTPS

定义

http:超文本传输协议 HyperText Transfer Protocol
https:HyperText Transfer Protocol over Secure Socket Layer 在http的基础上加了安全套接层

avatar

HTTP的返回报文

avatar

avatar

HTTP与HTTPS的区别

  1. HTTPS协议需要到CA申请证书,一般免费证书很少
  2. HTTP是明文传输,HTTPS则是具有安全性的SSL加密传输
  3. HTTP端口号80,HTTPS端口号443
  4. HTTPS可进行加密传输、身份认证,比较难抓包,比HTTP安全

HTTPS为何安全?

  • SSL:Secure Sockets Layer 安全套接层
  • TLS:Transport Layer Security 传输层安全
  • TLS与SSL在传输层之上对网络连接进行加密,为网络通信提供安全及数据完整性

IP -> TCP -> HTTP
IP -> TCP -> SSL&TSL -> HTTPS

SSL协议为了解决以下风险而设计:

  • 所有信息都是加密传播,第三方无法窃听
  • 具有校验机制,一旦被篡改,通信双方都会立刻发现
  • 具备身份证书,防止身份被冒充
avatar

稍作解释:

  • 首先客户端传递一条握手信息给服务端,包含一个随机数1、加密算法
  • 服务端收到后会响应一条握手信息给客户端,包含一个随机数2、匹配好的加密算法
  • 服务端传递证书给客户端
  • 客户端校验服务端的证书
    <ol>
    <li>验证服务端证书的数字摘要和服务证书解密之后的内容是否一致,是否被篡改</li>
    <li>根据证书链主机查找 根证书默认会被植入 浏览器&操作系统 是否可信任列表</li>
    </ol>
  • 客户端组装会话秘钥
    根据number1,number2以及预主秘钥组装会话秘 钥
  • 用公钥加密预主秘钥传递给服务端
  • 服务端用私钥解密预主秘钥
  • 服务端组装会话秘钥
  • 客户端使用组装的会话秘钥发送一条加密消息到服务端,验证是否服务端能否接收客户端加密过的数据消息
  • 服务端使用组装的会话秘钥发送一条加密消息到客户度,验证客户端是否能解析加密后的数据

(SSL连接建立完成)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容