当你在咖啡店连上免费Wi-Fi,打开某个网站查余额、填表单,有没有想过这些信息是不是被“裸奔”着传出去的?其实,这和你用的是HTTP还是HTTPS有很大关系。
HTTP传输数据就像明信片
HTTP协议本身是不加密的,也就是说,它传输的数据是明文的。你可以把HTTP请求想象成一张明信片——寄信人、收信人、内容全都写在外面,中间经过的每一个邮局(也就是网络节点)理论上都能看到上面写了什么。
比如你访问一个使用HTTP的登录页面,输入用户名和密码提交后,这些信息会以原始文本的形式在网络中传输。如果有人在同一局域网下进行抓包,比如用Wireshark这类工具,就能直接看到你发送的内容。
看看一个典型的HTTP请求长什么样
GET /login HTTP/1.1\r\nHost: example.com\r\nUser-Agent: Mozilla/5.0\r\nAccept: text/html\r\n\r\n这段请求里的每一行都是可读的文本。服务器返回的内容同样也是明文,浏览器拿到后直接解析展示。这意味着你的浏览行为、提交的数据、甚至Cookie信息都可能被第三方截获。
公共Wi-Fi下的风险更明显
试想你在机场连上一个叫“Free_WiFi”的热点,然后访问了一个HTTP的新闻网站。表面看只是在刷资讯,但如果你登录了这个网站的账号,或者它嵌入了某个广告链接偷偷收集你的设备信息,这些都会被网络中的监听者轻松捕获。
有些攻击者甚至会搭建伪热点,伪装成正规网络,专门用来窃取HTTP流量。这种场景下,用户完全无感,但数据早已泄露。
HTTPS才是加过密的信封
为了解决这个问题,HTTPS出现了。它在HTTP和TCP之间加了一层SSL/TLS加密。数据在发出前会被加密,到达服务器后再解密。即使被截获,看到的也是一堆乱码。
现在大多数主流网站都已经切换到HTTPS,浏览器地址栏的小锁图标就是标志。但一些老旧系统、内部管理系统或临时测试页面,仍可能使用HTTP,这时候就要格外小心。
所以,下次看到网址开头是http://而不是https://,就得留个心眼——你正在“裸奔”。