HTTP 与 HTTPS
一、HTTP
HTTP (HyperText Transfer Protocol),即超文本运输协议,是实现网络通信的一种规范
而HTTP是一个传输协议,即将数据由A传到B或将B传输到A,并且 A 与 B 之间能够存放很多第三方,如: A<=>X<=>Y<=>Z<=>B
传输的数据并不是计算机底层中的二进制包,而是完整的、有意义的数据,如HTML 文件, 图片文件, 查询结果等超文本,能够被上层应用识别
在实际应用中,HTTP常被用于在Web浏览器和网站服务器之间传递信息,以明文方式发送内容,不提供任何方式的数据加密
特点如下:
二、HTTPS
在上述介绍HTTP中,了解到HTTP传递信息是以明文的形式发送内容,这并不安全。而HTTPS出现正是为了解决HTTP不安全的特性
为了保证这些隐私数据能加密传输,让HTTP运行安全的SSL/TLS协议上,即 HTTPS = HTTP + SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密
SSL 协议位于TCP/IP 协议与各种应用层协议之间,浏览器和服务器在使用 SSL 建立连接时需要选择一组恰当的加密算法来实现安全通信,为数据通讯提供安全支持
流程图如下所示:
三、区别
来源整理自:vue3js.cn 面试官系列
补充
补充:HTTP 与 HTTPS 的核心差异在于「是否对传输数据做加密 + 身份认证 + 完整性校验」。
主要差异:
- 安全性:HTTP 明文,易被窃听和篡改;HTTPS 在 TCP 与 HTTP 之间加入 SSL/TLS,对称加密传输内容、数字证书认证身份、摘要算法防篡改。
- 端口:HTTP 默认 80,HTTPS 默认 443。
- 证书:HTTPS 需要 CA 颁发的证书;浏览器对证书链做校验,证书失效或被吊销时浏览器会拦截。
- 握手过程:HTTPS 多一次 TLS 握手,但 TLS 1.3 / HTTP/2+ 显著减少了 RTT。
- 性能:现代 HTTPS 经过会话复用(Session Ticket)+ HTTP/2 多路复用,性能损失非常小;浏览器还会做 OCSP Stapling 优化。
- SEO 与权限:HTTPS 站点在搜索引擎中权重更高,浏览器对很多新 API(如
geolocation)要求必须 HTTPS 上下文。
补充:HTTPS 不是「绝对安全」,它解决的是传输链路上的风险,XSS、CSRF、SQL 注入等应用层风险仍需额外防护。
区别速览(表)
| 维度 | HTTP | HTTPS |
|---|---|---|
| 端口 | 80 | 443 |
| 加密 | 明文 | SSL/TLS 加密 |
| 证书 | 不需要 | 需要 CA 证书 |
| 性能 | 较快 | 多一次 TLS 握手(HTTP/2/3 后差距减小) |
| SEO | 不友好 | 搜索引擎更友好 |
| 适用 | 普通展示页、内部系统 | 涉及账号、支付、隐私的场景 |
TLS 握手简化流程
- 客户端
ClientHello:支持协议版本、加密套件、随机数。 - 服务端
ServerHello+ 证书 +ServerHelloDone。 - 客户端验证证书,生成 pre-master secret,用服务端公钥加密发送。
- 双方基于随机数派生出会话密钥,后续用对称加密。
补充:现代浏览器对没有 HTTPS 的站点会标记「不安全」,并逐步收紧 HTTP 访问能力(如地理位置 API、Web Bluetooth 等)。



