HTTP 与 HTTPS 的区别?
HTTPS
基础
https 是 http 的升级版本:
HTTPS = HTTP+ SSL/TLS
SSL 是安全层,TLS 是传输层安全,是 SSL 的继承。使用 SSL 或 TLS 可确保传输数据的安全性。
- 使用 HTTP 可能看到传输数据是: 这是明文信息
- 使用 HTTPS 可能看到: 283hd9saj9cdsncihquhs99ndso
HTTPS 传输的不再是文本,而是二进制流,使得传输更高效,且加密处理更加安全。
HTTPS 的工作流程
1、客户端请求 HTTPS 请求并连接到服务器的 443 端口,此过程和请求 HTTP 请求一样,进行三次握手;
2、服务端向客户端发送数字证书,其中包含公钥、证书颁发者、到期日期,现比较流行的加解密码对,即公钥和私钥。公钥用于加密,私钥用于解密。所以服务端会保留私钥,然后发送公钥给客户端。
3、客户端收到证书,会验证证书的有效性。验证通过后会生成一个随机的 pre-master key。再将密钥通过接收到的公钥加密然后发送给服务端
4、服务端接收后使用私钥进行解密得到 pre-master key
5、获得 pre-master key 后,服务器和客户端可以使用主密钥进行通信。
HTTP 与 HTTPS 区别
所以在回答 HTTP 与 HTTPS 的区别的问题,可以从下面几个方面进行回答:
- 加密: HTTPS 是 HTTP 协议的更加安全的版本,通过使用 SSL/TLS 进行加密传输的数据;
- 连接方式: HTTP(三次握手)和 HTTPS (三次握手+数字证书)连接方式不一样;
- 端口: HTTP 默认的端口是 80 和 HTTPS 默认端口是 443
HTTP2 是什么?
HTTP/2 超文本传输协议第 2 版,是 HTTP/1.x 的扩展。所以 HTTP/2 没有改动 HTTP 的应用语义,仍然使用 HTTP 的请求方法、状态码和头字段等规则。
它主要修改了 HTTP 的报文传输格式,通过引入二进制分帧层实现性能的提升。
现有很多主流浏览器的 HTTPS/2 的实现都是基于 SSL/TLS 的,所以基于 SSL/TLS 的 HTTP/2 连接建立过程和 HTTPS 差不多。在建立连接过程中会携带标识期望使用 HTTP/2 协议,服务端同样方式回应。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论