互联网的信息传输,是如何从明文到密文,并一步步收紧的?这篇文章详细讲讲。
从明文到加密
1991~1994年,所有网页的所有内容都是明文传输的,随着互联网从学术网转向商用、民用,电商、在线支付、会员登录等需求出现,加密传输方案被提上日程。
1995年,网景公开发布 SSL 2.0,将 HTTP 报文封装在 SSL 加密通道传输,默认通信端口 443,HTTPS 协议正式诞生。然而,受证书费用与服务器算力等因素限制,只加密敏感页面,普通页面仍使用明文传输。
部分加密的隐患
在2009~2014年,淘宝只加密登录等敏感页面,用户访问淘宝首页、搜索页、商品详情页时,数据全是明文传输的,黑客可以轻松截获,并把登录按钮的链接地址改成钓鱼页面的链接地址,用户跳转后填写账号和密码,信息就到了黑客手上。
随着移动互联网的普及,酒店、商场、咖啡馆等场所普遍提供公共 WiFi,这种没有网络隔离的开放无线网络,非常容易成为黑客的攻击入口。如果通过有线宽带上网,信息没那么容易被黑客截获,但也防不住运营商监守自盗,比如2010年,青岛联通劫持百度搜索页,强制插入十秒前置广告。
数据被劫持后,插入广告的危害算轻微的,只要黑客愿意,窃取个人隐私信息、盗取银行卡资金、诱导用户跳转非法博彩网站都可以轻松做到。
全站加密
HTTPS诞生后,由于服务器算力有限、安全证书昂贵等原因,长期只应用于少数网站的少数页面。直到2014年,谷歌旗下产品全部切换为全站HTTPS,并将HTTPS纳入搜索排名加分项,带动全球网站跟进。
2015年,Let’s Encrypt 公益免费证书上线,零成本,自动申请、自动续期,所有网站都能无负担全站部署 HTTPS。
2016~2018年,Chrome等主流浏览器逐步收紧对明文 HTTP 页面的安全约束:刚开始只针对敏感页面,在地址栏标注灰色不安全提示。后来覆盖所有页面,且警告升级为醒目的红色文字,还限制 HTTP 网页调用摄像头、地理位置等高级 Web API。这些约束倒逼全网完成全站加密迁移。
强制加密
网站全部加密后,用户虽然可以通过 HTTPS 协议访问任意网页,但是用户手动输入http://域名,依然能访问明文页面。想要从根源杜绝数据裸奔,需要服务器和浏览器的双重约束。
在服务器设置强制加密
对应宝塔面板的 Force HTTPS(强制HTTPS),本质作用是为 80 端口设置永久 301 重定向,所有 HTTP 访问自动跳转 HTTPS。

301跳转在服务器返回重定向指令才会执行,另外还可以开启HSTS( HTTP Strict Transport Security,HTTP 强制加密策略),第一次通过 HTTPS 访问网站时,浏览器会接收并缓存 HSTS 响应头,在该响应头指定的有效期内访问同一域名,只会通过 HTTPS 访问,不会再发起 HTTP 请求。
浏览器端强制加密
2021年起,Chrome浏览器默认开启 HTTPS-First 优先模式,访问域名时优先尝试 443 端口 HTTPS 连接,握手失败才降级尝试 HTTP 连接。
2026年起,Chrome浏览器将默认全局开启安全强制策略,访问无 HTTPS 的公网 HTTP 站点时,弹出全屏拦截弹窗,必须用户手动确认才可访问明文页面。这一举措将促使更多网站切换至全局HTTPS。
根据 Cloudflare 的统计,全球网站 HTTPS 占比已经高达98.6%,但中国大陆地区还只有 86.6%,这也是国内外网络环境差异的表现之一。

