浅谈HTTP
**HTTP:互联网的快递系统
你有没有想过——
我们每天打开网页、看视频、网购下单,
这些数据是怎么从地球另一端传到你屏幕上的?
一、当我点击“打开网页”时,究竟发生了什么?
浏览器其实在做一件很像“寄快递”的事。
它要把你的“请求”——比如登录、搜索、下单——
打包成一份信件,送到网站的服务器上。
二、那这封信是怎么写的?
它必须按照一种标准来写,这个标准就叫 HTTP 协议。
HTTP 规定了信里该写什么:
-
我要发给谁(Host)
-
我要干什么(GET、POST…)
-
我带了什么内容(账号、密码、搜索词)
这份信,我们叫它“HTTP 报文”。
它就像包裹里的装箱单。
命令行
curl -I www.baidu.com
网页鼠标右键 ,Inspect(检查) $\Rightarrow$ 网络 $\Rightarrow$ 刷新页面 ,就可以看到http报文。 ![[Screenshot 2025-10-12 at 21.44.42.png]]
三、那我怎么保证别人看不见我的信?
如果你用的是老式的 HTTP,就相当于用透明塑料袋寄信——
路上谁都能看到。
所以现代网站几乎都用了 HTTPS。
它在 HTTP 外面加了一层“加密外壳”,
用的技术叫 TLS/SSL 协议。
这时候你就会问:那我怎么知道网站是真的?
答案是:网站必须有一张“身份证”,
也就是 CA 证书,由权威机构颁发。
浏览器一看证书,就知道对方是不是“正版”。
命令行:
openssl s_client -connect www.baidu.com
在网址栏的地方,有一把“小锁”,里面就是关于“CA”证书的相关内容 ![[Screenshot 2025-10-12 at 21.41.26.png]]
四、写好信之后,它是怎么被送出去的?
光有信还不行,还得寄。
这一环节由 TCP 协议 负责。
它会把整封信拆成一小块一小块的数据包,
每个包都有编号,保证不丢、不乱。
有点像快递公司把大件拆成多个小包裹,一起出发。
五、那快递单号在哪儿?
每个包裹外面都要贴上收件人和发件人地址。
在网络世界,这张单就是 IP 地址。
-
你的电脑是发件人(源 IP)
-
网站服务器是收件人(目标 IP)
这些包裹在网络中不断被“中转”,
每经过一个“分拣中心”(路由器),
就会被转发到下一站,直到找到目标。
这就是 IP 协议 的工作。
命令行:
nslookup www.baidu.com
traceroute www.baidu.com
六、那这些包裹是怎么真的跑到对方电脑上的?
这就得靠更底层的两层了:
数据链路层 和 物理层。
它们负责让信号真的“在路上跑”:
通过网线、光纤、Wi-Fi、电波……
在一根根“信息公路”上,把数据送达对方。
七、那服务器收到了,会做什么?
服务器拆开所有包裹,重新拼好,
处理你的请求——比如验证密码、查找商品、生成网页——
然后再按照同样的流程,把结果寄回来。
你的浏览器收到这些包裹后,拆开、渲染、显示网页。
整个来回,就完成了一次“信息快递”。
八、总结一下,这趟快递旅程都经历了哪些环节?
| 快递环节 | 网络层级 | 对应协议 | 作用 |
|---|---|---|---|
| 写信、加密 | 应用层 | HTTP / HTTPS / TLS | 描述内容、保护隐私 |
| 拆包编号 | 传输层 | TCP / UDP | 确保可靠传输 |
| 贴地址单 | 网络层 | IP | 确定收发双方 |
| 运输上路 | 数据链路层 + 物理层 | Ethernet / Wi-Fi 等 | 实际传输信号 |
九、所以,当我敲下网址那一刻,我到底在干嘛?
你其实是在发出一份“数字快递”:
浏览器打包 → 加密 → 编号 → 贴地址 → 上路传输 → 服务器签收 → 回包显示。
HTTP 就是那张发货清单,
而 TCP/IP,就是支撑这场全球级快递系统的骨架。
每一次网页加载,
都是一场跨越光缆、信号塔、海底电缆的奇迹。