Hkc

vuePress-theme-reco Hkc    2025
Hkc Hkc

Choose mode

  • dark
  • auto
  • light
TimeLine
GitHub
author-avatar

Hkc

25

Article

13

Tag

TimeLine
GitHub
  • Vue

  • Websocket

  • JS

  • CSS

  • Canvas

  • HTTP

    • https详解 (学习)
    • http学习
  • GIT

  • SERVER

  • MORE

https详解 (学习)

vuePress-theme-reco Hkc    2025

https详解 (学习)

Hkc 2018-03-03 http

HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性

为什么使用 https HTTP 是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。

如果客户端与服务器端通讯被中间代理服务器劫持,就可以拿到数据通讯时的数据。

HTTPS 是如何保障安全的 HTTP 是应用层协议,位于 HTTP 协议之下是传输协议 TCP。TCP 负责传输,HTTP 则定义了数据如何进行包装。HTTPS 就是在 HTTP 和 TCP 中间加多了一层加密层 TLS/SSL。

SSL 是个加密套件,负责对 HTTP 的数据进行加密。

传输加密的流程

原先是应用层将数据直接给到 TCP 进行传输,现在改成应用层将数据给到 TLS/SSL,将数据加密后,再给到 TCP 进行传输。

HTTPS 是如何加密数据的 一版加密分为对称加密和非对称加密

对称加密:加密数据用的密钥,跟解密数据用的密钥是一样的。

对称加密的优点在于加密、解密效率通常比较高。缺点在于,数据发送方、数据接收方需要协商、共享同一把密钥,并确保密钥不泄露给其他人。此外,对于多个有数据交换需求的个体,两两之间需要分配并维护一把密钥,这个带来的成本基本是不可接受的。

非对称加密:加密数据用的密钥(公钥),跟解密数据用的密钥(私钥)是不一样的。

什么叫做公钥呢?其实就是字面上的意思——公开的密钥,谁都可以查到。因此非对称加密也叫做公开密钥加密。相对应的,私钥就是非公开的密钥,一般是由网站的管理员持有。

公钥、私钥两个有什么联系呢?

简单的说就是,通过公钥加密的数据,只能通过私钥解开。通过私钥加密的数据,只能通过公钥解开。

很多同学都知道用私钥能解开公钥加密的数据,但忽略了一点,私钥加密的数据,同样可以用公钥解密出来。而这点对于理解 HTTPS 的整套加密、授权体系非常关键。非对称加密只能保证单向数据传输的安全性。

所以使用 https 不仅需要服务端配置,而且需要客户端配合才能发挥作用。

https 客户端使用 因为 CA 证书存在被劫持替换的风险,所以使用 https 达到数据加密的效果,客户端必须设置 ssl 为拒绝接受不信任的证书,这样当检测到证书与请求服务器的 domain 不一致时,数据传输存在风险,客户端将无法使用。从而达到数据传输的安全性。