文章目录
一、基本概念
http
:超文本传输协议,一种网络传输协议,一个客户端和服务器请求和应答的标准(TCP)。
https
:简单讲就是在http
基础上 使用 SSL
或 TLS
对请求和响应进行加密,建立一个信息安全通道。
- https 工作原理:
js
1. 客户端使用 https url 访问服务器,要求与 web 服务器建立 ssl 连接
2. web 服务器接收到客户端的请求之后,会将网站的数字证书(包含了公钥),传送一份给客户端
3. 客户端的浏览器和web服务器端,开始协商ssl/tls链接的安全等级,也就是加密等级。
4. 协商一致后,客户端的浏览器建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
5. 然后 web 服务器通过自己的私钥解密出会话密钥
6. 最后 web 服务器再通过会话密钥加密与客户端之间的通信
- http 缺点:
js
1. 通信使用明文,内容可能会被窃听。
2. 不验证通信方的身份,因此有可能遭遇伪装。
3. 无法证明报文的完整性,所以有可能已遭篡改。
- https 优势:使得 http 协议可认证用户和服务器,确保真实数据发送到正确的客户机和服务器上,并且有助于防止未经授权访问敏感数据。
二、区别对比
- 加密:
https 由 http 和 ssl(或 tls) 协议构建的可进行加密传输和身份认证的网络协议,因此拦截通信的任何人只能看到随机字符串,而不是明文,比 http 协议的安全性更高,而 http 传输的数据读书未加密的的,也就是明文的。 - 证书:
当 web 浏览器通过 https 链接到 web 服务器时,服务器会向浏览器发送数字证书(ca 证书,费用较高)。该证书包含特定与服务器的信息,包含服务器的公钥。浏览器随后使用此证书与服务器建立安全链接 - 端口号:
一般而言,http 协议的端口为 80,https 的端口为 443。访问网址时,http 的 url 开头为http://
,https 的 url 开头为https://
。