当你深夜在浏览器中输入 www.baidu.com 时有没有想过,除了月黑风高的夜和本机的浏览记录,还有谁知道你访问了它呢?要搞清楚这件事,首先我们要了解一下访问网站时,这其中发生了什么。
如果你在 10 年之前访问网站,大概率会在浏览器的地址栏中看到这样的网址 http://www.baidu.com ,这其中网址前面的 http
表明访问网站使用的是 HTTP 协议。当你按下回车键↩︎,访问网站也拉开了序幕。我们知道 IP 地址是设备在互联网上的唯一标识,而要访问的网站是部署在互联网上的某一台设备中(服务器),那么这台设备会有一个固定的 IP 地址。那么怎么将网址和 IP 地址建立起联系呢?访问网站的第一步就是使用 DNS 服务把网址转换成服务器的 IP 地址。DNS(Domain Name System)即域名系统,就是提供域名(网址)与 IP 地址相互映射的服务,方便人们访问网站。当浏览器知道了 IP 地址后,会通过端口 80 向该 IP 地址发送 TCP 连接请求,最终给你呈现出网站的内容。简单来说,使用 HTTP 访问网站有这样几步:
- 浏览器向 DNS 服务器请求将网址解析为 IP 地址;
- 浏览器通过端口 80 向该 IP 地址发送 TCP 连接请求;
- 浏览器发送 HTTP 请求,接收服务器 HTTP 响应并渲染网页。
那么哪些环节会泄露隐私呢?由于 HTTP 协议不加密