上网第三十六课:HTTP——浏览器背后的协议

上门装宽带,用户指着地址栏问我:师傅,顶头这个 http:// 是啥?为啥有的网站是 https,多个 s 就不一样?我反手举了个例子:您下馆子,要翻菜单、下单、等后厨上菜吧?HTTP 就是浏览器和网站之间那套点菜规矩。今儿就把这套天天在用的规矩彻底讲透。

一、是什么:HTTP 就是一套点菜规矩

HTTP(HyperText Transfer Protocol,超文本传输协议)------名字听着唬人,干的事却特别朴素:规定浏览器怎么向网站要东西,网站怎么把东西端回来。

拿下馆子打比方,您打开一个网页就是一次完整的点菜流程:

  • 您翻菜单 = 浏览器解析网址(URL),确定去哪家店、点什么菜;
  • 您喊服务员下单 = HTTP 请求,浏览器对网站说要这个页面;
  • 后厨出菜 = HTTP 响应,网站把页面里的 HTML、图片、样式、脚本一样样端回来;
  • 服务员告诉您这道菜没有了 = 状态码,汇报这单的结果。

整个过程四个字:请求、响应。您平时点开一个网页,浏览器背地里要跑几十上百次这种流程------每张图、每个广告、每段样式和脚本,都是一次独立的请求。哪一单出了岔子,页面上就多一块残缺或转圈的空白。

二、为什么:解剖一次请求与响应

把一次点菜放大来看,它分成两半。

① 请求(Request):浏览器递给网站的菜单子

组成 内容 类比
请求行 方法 + 路径 + 协议版本,如 GET /index.html HTTP/1.1 喊出过来一份红烧牛肉面
请求头 浏览器类型、Cookie、可接受格式等 服务员记下的备注:少辣、打包
请求体 提交的数据(登录表单等) 您亲手填写的菜品说明

最常见的是 GET (只要东西:打开网页、加载图片)和 POST(把东西交给你:登录、提交表单、付款)。

② 响应(Response):网站递回的两件套

  • 状态行 + 响应头:先开口报结果,比如 HTTP/1.1 200 OK;
  • 响应体:正菜------网页的 HTML 源码及内容。

状态码就是这单菜的下场,认几个就够用了:

状态码 含义 大白话
200 成功 菜端上来了
301/302 重定向 这家店改名了,跟我去新址
403 禁止访问 没授权,进不了这个包间
404 资源找不到 菜单上没这道菜
500 服务器内部错误 后厨炸锅了,不赖您
502/503 网关/服务不可用 大厨请假了,菜出不来

HTTP 有个著名怪脾气:无状态(Stateless) ------服务生上完菜就忘了您,上一秒刚登过的号下一秒就不记得。那为什么网页还能保持登录状态?靠的是 Cookie:浏览器替您贴了一张熟客便签,每次点菜顺手递上,网站一看便签:哦,老熟人,放行。

三、怎么做:装维师傅排查网页打不开三板斧

第一板斧:F12 打开 Network 面板,让请求现形。 网页打不开、白屏或转圈时,按 F12 → 切到 Network → 刷新页面:红色或 4xx/5xx 的就是坏单;一直 pending 说明请求根本没到服务器,问题在 DNS 或链路上。

第二板斧:curl 一条命令验服务活着没。

text 复制代码
curl -I https://www.baidu.com

返回 200 = 服务正常;没反应 = 连接有问题,再用 ping / tracert 定位卡点。

第三板斧:手机流量交叉测试,把责任分清楚。 手机流量能打开、自家 WiFi 打不开 → 问题在家;两种都打不开 → 网站或运营商出口的问题。

四、进阶:HTTP 的三代进化与明文之痛

HTTP/1.1(1997 年,服役最久):一个连接一次请求,文件排队传,网页一复杂就慢。

HTTP/2(2015 年) :一个连接里几十个文件多路复用并发传,还做了头部压缩,主流网站基本都用它。

HTTP/3(2022 年):传输层从 TCP 换成基于 UDP 的 QUIC,抗丢包、握手快,视频游戏更顺滑。

最致命的老毛病:明文传输。 HTTP 传数据就像寄明信片------沿途每个中转节点都能看到内容。输入密码、身份证、支付信息走 HTTP,等于把密码写在明信片上寄出去。这就是浏览器把 HTTP 网站标上"不安全"的原因。

小结

  • HTTP 是浏览器和网站之间的请求-响应规矩,状态码就是每单的结果;
  • 它天生无状态,靠 Cookie 才记得住您是谁;
  • 明文是最大短板,升级 HTTPS 才是正解。

思考题:您看到某个请求返回 200,但页面区域还是空的。HTTP 返回 200 为什么内容还是坏了?(提示:200 只代表传输成功,不代表业务成功------200 也可能只是壳子到了,馅儿坏了。)

下期预告

HTTP 用明信片把网页塞进您的屏幕,可您输入密码、绑定卡号时,这些都是明文。谁在路上偷看?改了内容您能不能发现?明天开讲:HTTPS------地址栏那把小锁,到底保护了什么。

相关推荐
略懂而已1 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
吴建旭 智宅焕2 天前
智能家居全国交付中执行端能力跃迁的架构设计:从标准装调到交付专家的系统化路径
网络·网络协议·智能家居
Dream Cosmos2 天前
传输层协议之UDP
网络·网络协议·udp
梦到啥说啥2 天前
Linux网络编程:UDP网络协议
linux·网络协议·udp
张小姐的猫2 天前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
wuyk5552 天前
Spider-第03讲-HTTP速通与读懂响应
网络·爬虫·网络协议·http
梦到啥说啥3 天前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
Jeremy_WW3 天前
802.3协议解读 06:117章节 RS 和 200GMII / 400GMII I
网络·网络协议·信息与通信·光模块·802.3协议
沫璃染墨3 天前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
wdeok4 天前
Socket编程UDP-简单的聊天室
网络·网络协议·udp