HTTP是怎么工作的
当你在浏览器里输入一个网址,比如 http://example.com,你的电脑就会向这个网站的服务器发起请求。这个过程用的就是HTTP协议,全称是超文本传输协议。它规定了浏览器和服务器之间怎么交换网页内容。
打开一个网页就像寄信,HTTP就是信封和邮路。但问题来了,这封信是明着写的,谁都能看。你在咖啡店连Wi-Fi,登录某个论坛,输入账号密码,这些信息如果走的是HTTP,那在网络里传输的时候就是裸奔状态。
数据裸奔的风险
假设你在公司楼下的奶茶店用免费Wi-Fi,打开一个老式购物网站下单。这个网站没上HTTPS,用的还是HTTP。你填的收货地址、手机号、甚至支付信息,都可能被同一网络下的其他人截获。黑客用抓包工具一扫,你的信息就到手了。
这就是HTTP最大的毛病——不加密。所有内容都是明文传输,中间不管经过多少路由设备,只要有人想看,就能看到。更危险的是,攻击者还能篡改内容。比如你下载一个软件安装包,结果中途被替换成带病毒的版本,你还浑然不知。
为什么有些网站还在用HTTP
不是所有网站都意识到了风险。一些小企业官网、个人博客或者内部系统,为了省事或省钱,没申请SSL证书,也就没法升级到HTTPS。还有些老旧系统,代码写死只支持HTTP,改起来成本高。
但这不代表你可以放心用。哪怕只是查个资料,也可能被记录下浏览习惯,慢慢拼出你的画像。广告商喜欢这样,可你未必乐意。
怎么判断自己是不是在“裸奔”
现在的浏览器很聪明,一进HTTP网站就会在地址栏标个“不安全”。Chrome、Edge这些主流浏览器都会提醒你。如果你看到网址开头是http://,而不是https://,那就得留个心眼。
特别是要输密码、填身份证号的时候,一定要确认是绿色锁头标志。没有这个锁,等于在公共场合大声念自己的银行卡密码。
从HTTP到HTTPS的升级路径
HTTPS就是在HTTP下面加了一层加密通道,靠的是TLS(以前叫SSL)协议。数据在发出去之前先加密,收到后再解密,中间就算被截走也看不懂。
实现起来也不复杂。买个SSL证书,装在服务器上,配置好Web服务(比如Nginx或Apache),把80端口(HTTP)的请求重定向到443端口(HTTPS)就行。
下面是Nginx的一个简单配置示例:
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
# 其他配置...
}现在Let's Encrypt提供免费证书,很多服务商一键就能部署,成本几乎为零。
普通用户能做什么
作为上网的人,最简单的办法就是养成看地址栏的习惯。别点开那些明显乱七八糟的HTTP链接,尤其是短信里、社交软件里弹出来的短网址。
浏览器可以装个叫“HTTPS Everywhere”的插件,它会自动尝试把HTTP请求改成HTTPS,虽然不能100%生效,但能挡住大部分低级风险。
家里路由器也可以做点设置。比如开启ARP防护,防止局域网内有人伪装网关搞中间人攻击。再高级点的,可以用Pi-hole这类工具过滤恶意域名,减少踩坑几率。