尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

HTTP 超文本传输协议全解:Web 世界的通信规则

HTTP 超文本传输协议全解:Web 世界的通信规则
📅 发布时间:2026/7/8 4:37:38

HTTP(HyperText Transfer Protocol,超文本传输协议)是应用层最核心的通信协议之一,是整个万维网的数据交互基础。它规定了客户端(浏览器、APP)与 Web 服务器之间的通信格式、交互流程与语义规则,我们日常浏览网页、调用接口,底层都依赖 HTTP 完成。


一、核心基础认知

1. 基本定位

  • 层级:OSI 七层模型的应用层协议,无需关心底层传输细节
  • 模型:经典的请求 - 响应模型,永远是客户端主动发起请求,服务器被动返回响应
  • 底层传输:
    • HTTP/1.x、HTTP/2 默认基于TCP 协议,默认端口号 80
    • HTTPS 是 HTTP 的加密版本,基于 TLS/SSL,默认端口号 443
    • HTTP/3 基于 UDP 协议的 QUIC 实现

2. 三大核心特性

  1. 无状态:协议本身不记录请求的上下文信息,每次请求都是独立的,服务器默认不知道上一次请求的用户身份(通过 Cookie/Session/Token 解决状态保持)
  2. 明文传输:HTTP/1.x 报文是纯文本格式,抓包可直接读取内容,安全性差(HTTPS 解决该问题)
  3. 可扩展:通过自定义头部字段可以扩展能力,比如鉴权、缓存、跨域规则都通过头部实现

二、一次完整的 HTTP 请求流程

从输入网址到页面加载,HTTP 完整执行步骤:

  1. 域名解析:通过 DNS 系统将域名解析为服务器的 IP 地址
  2. 建立连接:客户端与服务器完成 TCP 三次握手,建立传输通道
  3. 发送请求:客户端构造 HTTP 请求报文,发送给服务器
  4. 服务端处理:服务器解析请求报文,执行业务逻辑(查数据库、读文件等)
  5. 返回响应:服务器构造 HTTP 响应报文,将结果回传给客户端
  6. 连接管理:根据Connection头部决定保持长连接还是关闭连接
  7. 客户端解析:浏览器 / 客户端解析响应内容(HTML、JSON、图片等),完成渲染或业务处理

三、HTTP 报文结构详解

HTTP 报文分为请求报文(客户端发)和响应报文(服务器发),结构高度统一,都由 4 部分组成:起始行 + 头部字段 + 空行 + 实体主体

1. 请求报文

结构拆解
  • 请求行:第一行,格式为请求方法 + 请求URL + HTTP版本
  • 请求头:多行键值对,描述客户端环境、请求参数、偏好设置
  • 空行:单独一行(CRLF),用来标记头部结束,是报文格式的强制分隔符
  • 请求体:可选,POST/PUT 等方法携带的业务数据(JSON、表单等)
完整示例

http

POST /api/user/login HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Content-Type: application/json Content-Length: 48 Connection: keep-alive {"username":"test","password":"123456"}

2. 响应报文

结构拆解
  • 状态行:第一行,格式为HTTP版本 + 状态码 + 状态描述
  • 响应头:多行键值对,描述服务器信息、响应数据属性、缓存规则等
  • 空行:分隔头部和响应体
  • 响应体:返回的实际数据,比如 HTML 页面、JSON 结果、图片二进制数据
完整示例

http

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Content-Length: 65 Cache-Control: max-age=3600 {"code":0,"msg":"登录成功","data":{"token":"abc123xyz"}}

四、HTTP 请求方法

HTTP/1.1 标准定义了 9 种请求方法,每种方法对应不同的业务语义,核心常用的有 5 种:

表格

方法语义幂等性有无请求体典型场景
GET获取资源是一般无打开网页、查询数据
POST提交数据、创建资源否有登录、提交表单、新增数据
PUT全量更新资源是有修改用户完整信息
DELETE删除资源是一般无删除一条数据
HEAD获取资源的元信息(仅返回头部)是无检查文件是否存在、获取文件大小

幂等性:同一个请求执行 1 次和执行 N 次,对服务器资源的影响完全一致,就叫幂等。

高频考点:GET 和 POST 的核心区别

  1. 参数位置:GET 参数拼接在 URL 后;POST 参数放在请求体中
  2. 幂等性:GET 是幂等操作;POST 是非幂等操作
  3. 数据长度:GET 受 URL 长度限制(浏览器一般限制 2KB 左右);POST 无严格长度限制
  4. 缓存特性:GET 请求可以被浏览器缓存;POST 默认不可缓存
  5. 安全性:两者都不安全(HTTP 明文),只是 GET 参数更直观暴露在地址栏

五、HTTP 状态码

状态码是三位数字,用来标记请求的处理结果,共分为 5 大类:

1xx:信息性状态码(请求处理中)

表示请求已接收,正在处理,属于中间状态,日常很少见。

  • 101 Switching Protocols:切换协议,比如升级 WebSocket

2xx:成功状态码

  • 200 OK:请求成功,最常见的成功状态
  • 201 Created:资源创建成功(POST/PUT 接口常用)
  • 204 No Content:请求成功,但没有返回任何响应体

3xx:重定向状态码

  • 301 Moved Permanently:永久重定向,资源已永久迁移到新地址
  • 302 Found:临时重定向,资源临时在其他地址
  • 304 Not Modified:协商缓存命中,资源未修改,客户端使用本地缓存

4xx:客户端错误状态码

  • 400 Bad Request:请求格式 / 参数错误,服务器无法解析
  • 401 Unauthorized:未授权,需要登录或有效凭证
  • 403 Forbidden:服务器拒绝访问,权限不足
  • 404 Not Found:请求的资源不存在
  • 405 Method Not Allowed:请求方法不被服务器支持

5xx:服务器端错误状态码

  • 500 Internal Server Error:服务器内部错误,代码异常
  • 502 Bad Gateway:网关错误,上游服务返回无效响应
  • 503 Service Unavailable:服务不可用,服务器过载或停机
  • 504 Gateway Timeout:网关超时,上游服务响应超时

六、HTTP 版本演进

1. HTTP/1.0

  • 默认短连接:每次请求都要重新建立 TCP 连接,请求结束就断开
  • 仅支持 GET、POST 等基础方法
  • 缺点:连接建立成本高,并发效率极低

2. HTTP/1.1(当前主流版本)

  • 默认长连接(Connection: keep-alive):一个 TCP 连接可以串行发送多个请求
  • 新增 Host 头部:支持一台服务器部署多个网站(虚拟主机)
  • 新增 PUT、DELETE、OPTIONS 等方法
  • 缺点:请求串行执行,存在队头阻塞—— 前一个请求阻塞,后续所有请求都会被卡住

3. HTTP/2.0

  • 二进制分帧:报文不再是纯文本,拆分为二进制帧,解析效率更高
  • 多路复用:一个 TCP 连接可以并行发送多个请求 / 响应,解决应用层队头阻塞
  • 头部压缩:HPACK 算法压缩重复头部,减少传输体积
  • 服务器推送:服务器可以主动向客户端推送资源
  • 缺点:底层还是 TCP,TCP 层的队头阻塞依然存在(丢包会导致整个连接重传)

4. HTTP/3.0

  • 基于 UDP 实现的 QUIC 协议,不再依赖 TCP
  • 彻底解决队头阻塞:流之间独立,单流丢包不影响其他流
  • 更快握手:0-RTT/1-RTT 即可建立连接,比 TCP+TLS 快很多
  • 连接迁移:网络切换(WiFi 切 5G)时连接不中断

七、常用核心头部字段

请求头

  • Host:目标服务器的域名,虚拟主机必备
  • User-Agent:客户端标识(浏览器、系统信息)
  • Accept:客户端能接收的内容类型
  • Content-Type:请求体的数据格式,如application/json
  • Cookie:客户端携带的身份凭证
  • Referer:请求的来源页面地址

响应头

  • Server:服务器软件类型(nginx、Apache)
  • Set-Cookie:向客户端写入 Cookie
  • Content-Type:响应体的数据格式
  • Cache-Control:缓存控制规则
  • Location:重定向的目标地址

相关新闻

  • IP 协议全解:互联网的「快递寻址中枢」,搞懂网络层的核心逻辑
  • 科智咨询:2025年中国IDC市场规模达1847.5亿元,AI驱动市场增速显著回升
  • 计算机毕业设计之家庭共享权益的健身俱乐部会员管理系统

最新新闻

  • 3分钟解决GitHub龟速问题:智能加速插件让你的开发效率翻倍
  • AI 电动加热手套智能温控功率 MOSFET 完整选型方案
  • Windows网络调试困境:3个Netcat实战场景让你告别图形化工具依赖
  • -python-LangGraph框架(3-34-LangGraph循环实战)
  • 从硬编码到 .env 与 pydantic_settings 类,连路由用法都给你捋清楚
  • 耐达讯自动化EtherNet/IP转DeviceNet网关:功能、参数与配置,看这一篇就够了!

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号