【探索Linux】P.33(HTTP协议)

[复制链接]
发表于 2026-10-3 14:20:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

HTTP 协议入门:从一条 URL 的六个部分看下去

前面聊过自定义协议怎么解决异构网络之间的通信问题。换成互联网上最常见的 HTTP,思路是同一套的:双方约定格式、约定语义,就能把请求送到位。这篇从一条 URL 拆起,讲清 URI/URL 里每一段各管什么,再补上 HTTP 报文的基本结构。

一、先认识 URL

URL 全称统一资源定位符(Uniform Resource Locator),本质上就是网络上某个资源的地址。理论上每个有效的 URL 指向唯一的一个资源——可以是一个 HTML 页面、一份 CSS、一张图片,什么都可以。现实里当然有例外,最常见的就是一个 URL 指向了不存在的、或者早被搬到别处的资源,这正是 404 的由来。资源归 Web 服务器管,所以 URL 要不要改、怎么改,决定权在网站运维手里。

二、拆解一条 URL 的六个部分

拿 http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument 举例:

1. 协议(http)

告诉浏览器用哪套协议去拿。Web 上基本就是 HTTP 或它的安全版 HTTPS。浏览器也认得其他协议,比如 mailto: 会去开邮件客户端,ftp: 走文件传输,看到不用奇怪。

2. 域名(www.example.com)

指明要请求哪台 Web 服务器。也可以直接写 IP 地址,但不方便也记不住,实际网络里几乎都用域名,靠 DNS 解析成对_IP。

3. 端口(:80)

相当于服务器资源分配的"门牌号"。HTTP 的标准端口是 80,HTTPS 是 443,用标准端口时浏览器会默认省略;换了别的端口就必须显式写出来,否则连不上。

4. 路径(/path/to/myfile.html)

服务器上资源的位置。早期 Web 里这个路径直接对应服务器上的物理文件;现在多数是抽象的路由,跟磁盘文件未必有对应关系。

5. 查询参数(?key1=value1&key2=value2)

问号后面这一串是额外传给服务器的键值对,用 & 分隔。服务器可以在返回资源前拿这些参数做额外处理——排序、筛选、分页都靠它。每个服务器对参数的处理规则不一样,唯一可靠的确认方式就是问这个服务的维护者。

6. 锚点(#SomewhereInTheDocument)

锚点指资源内部的"书签",浏览器拿到资源后直接定位到标注位置:HTML 文档里会滚动到锚点所在段落,音视频文档里会跳到对应时间点。注意锚点不发给服务器,它是浏览器端内部用的。

三、HTTP 报文长什么样

  • 请求报文:请求行(方法 + 路径 + 版本,如 GET /index.html HTTP/1.1)+ 请求头(Host、User-Agent、Cookie 等)+ 空行 + 可选请求体。
  • 响应报文:状态行(版本 + 状态码,如 HTTP/1.1 200 OK)+ 响应头 + 空行 + 响应体(真正的内容)。

常用的几个请求方法:GET 取资源、POST 提交数据、PUT 整体替换、DELETE 删除。常见状态码:200 成功、301/302 重定向、304 未修改(走缓存)、400 客户端错、401 未授权、403 禁止、404 找不到、500 服务端错。

四、HTTP 的几个关键特性

  • 无状态:默认每次请求互不相认,所以才有 Cookie、Session、Token 这套东西去维持"登录态"。
  • 明文传输:HTTP 报文不加密,中间人能看能改,所以涉及账号口令、支付的一律上 HTTPS。
  • 三次握手:TCP 连接要先握手,HTTP/1.1 默认保持连接(keep-alive)复用,省得每个请求都重新建连接。
  • HTTP/2 与 HTTP/3:2 做多工复用、头部压缩;3 把底层换成 QUIC(基于 UDP),弱网下的抖动表现好很多。

五、一句话串起来

URL 负责"在哪儿、怎么拿",HTTP 负责"按什么格式说话"。把上面六个部分和报文结构理解了,看抓包、看接口文档、排查 403/404 就有了底子。下一步顺着同一个思路往下走,就是 HTTPS 的加密握手过程,以及 DNS 把域名解析成 IP 的那几步。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表