2024年5月31日发(作者:)

http与https的区别

基本概念

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作

式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,

被用于在 Web 浏览器和网站服务器之间传递信息。

HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 打头的都是标准 HTT

P 服务。

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了W

eb浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议

不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过

计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS

来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据

的隐私与完整性。

HTTPS 默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:

1、TCP 三次同步握手

2、客户端验证服务器数字证书

3、DH 算法协商对称加密算法的密钥、hash 算法的密钥

4、SSL 安全加密隧道协商完成

5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;

用协商的hash算法进行数据完整性保护,保证数据不被篡改。

截至 2018 年 6 月,Alexa 排名前 100 万的网站中有 34.6% 使用 HTTPS 作为

默认值,互联网 141387 个最受欢迎网站的 43.1% 具有安全实施的 HTTPS,以及 45%

的页面加载(透过Firefox纪录)使用HTTPS。2017 年3 月,中国注册域名总数的 0.

11%使用 HTTPS。

根据 Mozilla 统计,自 2017 年 1 月以来,超过一半的网站流量被加密。

HTTP 与 HTTPS 区别

HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传

输过程是加密的,安全性较好。

使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请

证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、

GoDaddy 和 GlobalSign 等。

HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连

接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl

握手需要的 9 个包,所以一共是 12 个包。