HTTP 和 HTTPS 协议
HTTP 和 HTTPS 协议
协议的来源
计算机相互之间需要进行网络通信需要一种协议,进而产生了 HTTP、HTTPS 协议
HTTP 是什么
HTTP 译为
超文本传输协议,英文是Hyper Text Transfer Protocol,指定了客户端与服务器进行超文本(文本,视频,图片等)传输的协议
HTTP 的原理
基于 TCP 协议传输数据
HTTP 的特点
- 请求/响应模式
- 灵活。不限制传输数据的类型
- 无连接。每次连接只能处理一个请求
- 无状态。处理事务没有记忆功能,每次数据都需要重新传递
HTTP 报文组成
请求报文(图片来源于网络)
响应报文(图片来源于网络)
HTTP 的弊端
由于数据明文传输,可能会出现以下问题:
被窃听的风险。第三方可以截获并查看你的内容
被篡改的危险。第三方可以截获并修改你的内容
被冒充的风险。第三方可以伪装成通信方与你通信
HTTPS 是什么
为了解决 HTTP 的弊端,进而出现了 HTTPS 。可以把 HTTPS 简单理解为 HTTP + SSL/TLS,通过 SSL/TLS 证书来验证服务器身份,并为客户端和服务器之间的通信提供加密
SSL(Secure Socket Layer,安全套接字层)和 TLS(Transport Layer
Secure,传输层安全)。SSL 由 Netscape 研发,后基于 SSL 建立了 TLS。SSL/TLS 在网络数据传输时起到保护隐私和数据的完整性HTTPS 的通信过程
下图描述了 HTTPS 建立通信的过程(图片来源于网络):
一、客户端请求建立 HTTPS 连接
二、服务器向客户端发送包含服务器公钥的证书
三、客户端检查证书或者 CA(Certificate Authority,证书颁发机构)的颁发者是否受信任。否则,询问用户接受是否接受该证书
四、浏览器生成对称密钥,该密钥将使用服务器的公钥进行加密,以便安全地发送给服务器
五、服务器使用自己的私钥解密出对称密钥
六、服务器使用对称密钥加密与客户端之间的通信,而客户端则使用该对称密钥解密该通信
HTTPS 的弊端
- HTTPS 协议多次握手,导致页面的加载时间延长
- 证书需要付费,功能越强大的证书费用越高
- 安全算法会消耗 CPU 资源,对服务器资源占用比较高
- HTTPS 连接缓存不如 HTTP 高效,建立通信导致了耗时延长
该博客版权归饶英俊(Royin)所有,严禁抄袭,欢迎转载。如有反馈或建议等可通过邮箱联系我
本文链接:https://raoyingjun.github.io/2021/10/26/http%E5%92%8Chttps%E5%8D%8F%E8%AE%AE/