简单理解https与http
都是超文本传输协议,一个安全一个不安全,名字长的安全,名字短的不安全。
安全与不安全是居于什么分别的?
通过加密
http无加密。
https=http + SSL/TSL(加密)来保障数据安全。加密传输 + 身份验证
SSL/TLS
层是在HTTP协议的基础上加入的安全层,用于提供数据加密和身份验证功能。SSL(安全套接字层)及其继任者TLS(传输层安全性)是为网络通信提供安全及数据完整性的一种安全协议。
SSL/TLS 握手流程
-
客户端发起请求:浏览器向服务器发送支持的加密算法列表。
-
服务器返回证书:服务器发送数字证书(包含公钥、域名、有效期等信息)。
-
验证证书:浏览器检查证书是否由受信任的机构(CA)颁发,是否与当前域名匹配。
-
生成会话密钥:客户端用服务器公钥加密一个随机数(Pre-Master Key),发送给服务器。
-
建立加密通道:双方基于随机数生成对称加密密钥,后续通信使用该密钥加密数据。
HTTP vs HTTPS 直观对比 | ||
特性 | HTTP | HTTPS |
数据安全性 | 明文传输,不安全 | 加密传输,防窃听、篡改 |
身份验证 | 无 | 通过证书验证服务器身份 |
性能开销 | 无加密,速度快 | 加密解密消耗 CPU,但现代优化后差距极小 |
SEO 影响 | 可能降低搜索排名 | 谷歌等搜索引擎优先推荐 HTTPS |
浏览器标识 | 地址栏显示“不安全” | 显示“锁”图标,增强用户信任 |
适用场景 | 内部测试、非敏感信息传输 | 所有涉及隐私或交易的网站 |
当提示HTTPS 证书错误(如证书过期、域名不匹配)时如何继续访问?
界面无继续前往提示时,在警告页输入thisisunsafe 可直接进入