HTTP和HTTPS的区别:小锁图标能保证什么、不能保证什么
本文在AI辅助下由原文翻译而成。请结合原文核对专业术语和公式。
HTTPS就是把普通的HTTP放进加密的TLS连接里传输。它对这条连接做出三项保证:网络上的旁观者读不到你收发的内容,内容一旦被改动就会被发现,服务器还要证明自己持有地址栏所示域名的有效证书。但它并不保证网站本身诚实可信。小锁图标(或Chrome新版的调节图标)描述的是连接,而不是网站背后的人,况且几乎所有钓鱼网站也在用HTTPS。
HTTP和HTTPS的区别:多出来的“S”是什么
HTTP是浏览器与服务器请求、传送网页的方式,自身以明文传输。HTTPS则把同样的请求和响应放进TLS(传输层安全协议)里发送。TLS是更早的SSL协议的后继者,所以大家至今仍说“SSL证书”,严格说是TLS服务器证书。SSL 3.0在2015年被正式弃用,TLS 1.0和1.1在2021年跟进,如今实际在用的是TLS 1.2和1.3。
| 对比项 | HTTP | HTTPS |
|---|---|---|
| 网址开头 | http:// | https:// |
| 默认端口 | 80 | 443 |
| 网络上传输的内容 | 路径上的任何人都能读 | 已加密 |
| 传输中被篡改 | 不会被发现 | 会被发现,连接随即中断 |
| 服务器身份核验 | 没有 | 必须持有该域名的有效证书 |
| Chrome地址栏 | “不安全” | 中性的调节图标 |
TLS 1.3的规范(RFC 8446)明确了安全通道的三项性质:
- 机密性:连接建立后,只有浏览器和服务器能读到数据,包括域名之后的页面路径、表单字段、密码和Cookie。
- 完整性:数据在途中一旦被改动就会被察觉,所以咖啡馆的路由器没法悄悄往网页里塞广告或恶意软件。
- 身份认证:服务器总要用证书证明自己的身份;浏览器一方通常不需要。
还有两点局限。TLS不会隐藏你发送的数据量,域名通常也依然可见:设备会通过DNS查询域名,握手的第一条消息里也写明了要访问的网站。加密DNS和较新的Encrypted Client Hello(ECH)扩展可以把域名遮住,但前提是双方都支持。
HTTPS连接是怎样建立的:一次TLS握手
请求网页之前,浏览器和服务器会先做一次TLS握手,TLS 1.3下只需一个往返:
- ClientHello。浏览器说明要访问哪个网站,列出自己支持的TLS版本和加密算法,并发出自己这一半的密钥共享值。
- ServerHello。服务器选定参数,并回送它那一半。此时双方各自算出相同的会话密钥,密钥本身从不经过网络,此后的内容全部加密。
- 证书与签名。服务器发来证书,并用对应的私钥为握手过程签名,证明自己真的持有私钥,而不是拿了一份复制来的证书。
- 浏览器检查。证书必须能追溯到浏览器或系统信任的证书颁发机构(CA),所列域名要与你访问的一致,且在有效期内。
- 加密的HTTP。双方确认握手过程未被改动,之后的请求和响应都走加密通道。
如果第4步没通过,浏览器会中止连接并弹出整页警告,例如Chrome的“您的连接不是私密连接”。这是HTTPS拦下了可能的冒充者,不是点掉就算的小故障。
小锁图标不能告诉你什么
证书证明的是谁控制着一个域名,而不是谁在经营这家企业,更不是对方是否诚实。最基础的是域名验证型(DV)证书:证书颁发机构只检查申请人是否控制该域名,例如要求对方发布指定的文件或DNS记录。Let’s Encrypt是免费、自动化的证书颁发机构,只签发DV证书,默认有效期90天。这推动了HTTPS的普及,但也意味着:架在yourbank.com.verify-login.net这类地址上的钓鱼页面,照样能拿到有效的证书。浏览器会如实报告“连接安全”,只不过连上的是错误的网站。(虚构示例)
| 证书类型 | 证书颁发机构检查什么 | 这对你意味着什么 |
|---|---|---|
| DV(域名验证型) | 申请人是否控制该域名 | 只说明服务器被授权使用该域名 |
| OV(组织验证型) | 域名控制权,外加组织的注册信息 | 证书详情中有公司名称 |
| EV(扩展验证型) | 对组织法律身份的更严格审查 | 与OV相同;Chrome 77(2019年)起公司名称标识已移出地址栏 |
HTTPS也不扫描下载文件里的恶意软件,不保护已存入服务器的数据,也帮不了已被入侵的设备。
Chrome为什么把小锁换成了调节图标
小锁诞生时,HTTPS还很少见。据Google介绍,2013年排名前一百万的网站中只有14%支持HTTPS,到2023年,Windows版Chrome加载的页面超过95%使用HTTPS。Google在2021年的研究还发现,只有11%的参与者正确理解了小锁的含义,不少人把它当成“网站值得信任”。几乎所有钓鱼网站都挂着同样的小锁,这种误解很危险;美国联邦调查局(FBI)早在2019年就警告过,不要因为有小锁或有“https”就信任网站。
2023年9月发布的Chrome 117把小锁换成了中性的调节图标(两条滑块),点开可查看网站信息和设置。纯HTTP页面仍标为“不安全”,自2018年7月的Chrome 68起就是如此。2025年10月,Google宣布了下一步:计划在Chrome 154中默认开启“一律使用安全连接”设置,这样Chrome在打开没有HTTPS的公共网站前会先征求你的同意。
输入密码或银行卡号前的检查清单
- 读懂真正的域名。找到网址里第一个单斜杠(/)之前的那一段,从右往左读:在yourbank.com.verify-login.net中,网站实际是verify-login.net,而不是yourbank.com。
- 走正路进入。自己输入网址或用书签,别点邮件、短信或二维码里的链接。
- 遇到证书警告不要强行继续。在需要登录或付款的网站上,直接关掉标签页。
- 让密码管理器或通行密钥替你核对域名。它们只在保存凭据的那个网站上提供账号信息,仿冒页面什么也拿不到。
- 把“不安全”当作停止信号。在HTTP页面上输入的任何内容都以明文传输,涉及敏感信息时不要继续。
- 别只盯着图标。突如其来的紧迫感、你没要求过的登录提示、便宜得离谱的价格,比地址栏里的符号更值得警惕。
常见问题
在公共Wi-Fi上,只要是HTTPS就够了吗?
HTTPS能让其他用户和热点运营者看不到通信内容,但仍能看到你访问了哪些域名。伪造的热点若读取HTTPS流量会触发证书警告,却可以把你引向外观相似的网站,所以依然要核对域名。
免费证书比收费证书更不安全吗?
就连接本身而言不是。加密强度取决于服务器使用的TLS版本和配置,而不是证书的价格。收费的OV、EV证书多了一层组织审核,但Chrome和Safari已不再在地址栏里突出显示。
公司或学校能看到我的HTTPS流量吗?
通常他们只能看到域名,看不到内容。不过在由他们管理的设备上,组织可以安装自己的根证书,通过安全网关检查HTTPS流量,且不会触发浏览器警告。在不归你控制的设备上,应假定可能被检查。
资料来源:IETF RFC 8446:TLS 1.3协议规范;Chromium博客:锁形图标的更新(2023);FBI IC3:钓鱼活动利用“安全”网站(2019);Let’s Encrypt常见问题。
相关阅读
为帮助理解本文而制作的原创插画。