上网第三十六课: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 小时前
UDP底层与守护进程化-报头结构体skbuff指针移动与自成会话
驱动开发·网络协议·udp
XiaoMaqqqq11 小时前
知名的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
ysu_031413 小时前
Postman接口调试实战指南-从HTTP请求到环境变量-Collection与自动化测试
网络·网络协议·测试工具·http·api·postman·可用性测试
小此方13 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
网络小江15 小时前
组网第二课:X.25 与帧中继——第一次让带宽“拼车“
网络协议
阿钱真强道15 小时前
33 嵌入式操作系统 | 模块七验收:端到端一键验收 + 项目答辩
网络·网络协议·粘包·回归测试·uloop
网络小江19 小时前
上网第三十二课:NAT——让 IPv4 地址“够用“的魔法
网络协议
傲世仙尊21 小时前
HTTP深水区-重定向状态码与GETPOST的传参之路
网络·网络协议·http
网络小江21 小时前
上网第三十五课:第五周复盘——IP 与 DNS 快问快答
网络协议