跳至主要內容

说一下HTTP和HTTPS

yyshino大约 3 分钟

说一下HTTP和HTTPS

HTTPS的SSL加密是在传输层实现的。

基本概念

  1. HTTP: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
  2. HTTPS:是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
  3. HTTPS协议的主要作用:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。

区别

HTTP数据都是未加密的,也就是明文的,网景公司设置了 SSL 协议来对 HTTP协议传输的数据进行加密处理,简单来说 HTTPS 协议是由 HTTP 和 SSL 协议构建的可进行加密传输和身份认证的网络协议,比HTTP 协议安全性更高

主要区别

  1. HTTPS协议需要ca证书,费用较高
  2. HTTP是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 ssl 加密传输协议。
  3. 使用不同的链接方式,端口也不同,一般而言,HTTP 协议的端口为 80,HTTPS 的端口为 443
  4. HTTP连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP安全。

工作原理

客户端在使用 HTTPS 方式与 Web 服务器通信时有以下几个步骤

  1. 客户端使用https url访问服务器,则要求 web 服务器建立 ssl 链接
  2. web 服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端
  3. 客户端和 web 服务器端开始协商 SSL 链接的安全等级,也就是加密等级。
  4. 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站
  5. web 服务器通过自己的私钥解密出会话密钥。
  6. web 服务器通过会话密钥加密与客户端之间的通信。

HTTPS的优点

  1. 使用 HTTPS 协议可认证用户和服务器确保数据发送到正确的客户机和服务器
  2. HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性
  3. HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  4. 谷歌曾在 2014 年 8 月份调整搜索引擎算法,并称“比起同等 HTTP 网站,采用 HTTPS 加密的网站在搜索结果中的排名将会更高”。

HTTPS的缺点

  1. https 握手阶段比较费时,会使页面加载时间延长 50%,增加 10%~20%的耗电。
  2. https 缓存不如 http 高效,会增加数据开销。 SSL 证书也需要钱,功能越强大的证书费用越高。
  3. SSL 证书需要绑定 IP,不能再同一个 ip 上绑定多个域名,ipv4 资源支持不了这种消耗。