HTTP 超文本传输协议(HyperText Transfer Protocol) 是互联网的核心协议,也是所有网页加载、API 调用、文件传输的基础。

它定义了浏览器(客户端)Web服务器 之间如何交换数据(HTML、图片、JSON、视频等)


1. HTTP 是什么?核心特点

特点 说明
应用层协议 基于 TCP/IP(HTTP 默认端口 80,HTTPS 默认端口 443)
请求-响应模型 客户端发起请求,服务器返回响应,一问一答
无状态(Stateless) 每次请求相互独立,服务器不记住上一次请求的内容(Cookie/Session 解决此问题)
无连接(早期) HTTP/1.0 每次请求都要新建 TCP 连接;HTTP/1.1 支持持久连接(Keep-Alive)
媒体独立 可以传输任意类型数据(通过 Content-Type 指定)
简单灵活 纯文本协议,容易调试

2. HTTP 工作流程(请求-响应全过程)

经典流程(以访问 https://www.baidu.com 为例):

  1. DNS 解析域名 → 获取 IP
  2. 三次握手建立 TCP 连接
  3. 浏览器发送 HTTP 请求
  4. 服务器处理并返回 HTTP 响应
  5. 浏览器渲染页面(HTML + CSS + JS)
  6. 断开 TCP 连接(或保持持久连接)

3. HTTP 报文格式(最重要!)

HTTP 报文分为 请求报文响应报文,结构完全一致:

请求报文示例(GET 请求)
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: session=abc123
Connection: keep-alive

(空行)
(GET 一般没有请求体)
响应报文示例(成功返回)
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Server: Nginx
Date: Mon, 11 Mar 2026 09:16:00 GMT

<!DOCTYPE html>
<html>
<head><title>首页</title></head>
...

4. HTTP 请求方法(8 种常用)

方法 含义 是否带请求体 幂等性 典型用途
GET 获取资源 浏览网页、获取数据
POST 提交数据 表单提交、登录、注册
PUT 替换/更新资源 修改用户信息
DELETE 删除资源 可选 删除文章
HEAD 只获取响应头 检查资源是否存在
OPTIONS 询问服务器支持哪些方法 跨域预检(CORS)
TRACE 回显请求(诊断) 测试
PATCH 局部更新 修改部分字段

5. HTTP 状态码分类(一图看懂)

类别 含义 常见状态码
1xx 信息(继续处理) 100 Continue
2xx 成功 200 OK、201 Created、204 No Content
3xx 重定向 301 永久重定向、302 临时重定向、304 未修改
4xx 客户端错误 400 Bad Request、401 Unauthorized、403 Forbidden、404 Not Found
5xx 服务器错误 500 Internal Server Error、502 Bad Gateway、503 Service Unavailable

6. HTTP 版本演进对比(面试必问)

版本 发布年份 关键特性 主要问题 传输方式
HTTP/0.9 1991 只支持 GET,返回纯 HTML 功能极简 纯文本
HTTP/1.0 1996 增加 POST、HEAD 等方法 每次请求新建连接 纯文本
HTTP/1.1 1997 持久连接、管道化、Host 字段、缓存控制 队头阻塞(Head-of-Line Blocking) 纯文本
HTTP/2 2015 多路复用、二进制帧、头部压缩(HPACK)、服务器推送 仍基于 TCP(队头阻塞未彻底解决) 二进制
HTTP/3 2022 基于 QUIC(UDP)、0-RTT、彻底解决队头阻塞 部署成本较高 二进制

一句话总结
HTTP/1.1 是目前最广泛使用的;HTTP/2 大幅提升网页加载速度;HTTP/3 是未来方向(尤其移动网络)。


7. HTTP vs HTTPS

  • HTTP:明文传输,容易被窃听、篡改。
  • HTTPS = HTTP + SSL/TLS 加密层。
    • 提供加密、身份验证、数据完整性。
    • 现在几乎所有网站都强制使用 HTTPS(浏览器会标记 HTTP 为“不安全”)。

想深入学习?
回复以下任意关键字,我立刻给你对应完整内容

  • “HTTP 请求头详解”
  • “HTTP/2 多路复用原理”
  • “HTTPS 握手流程图解”
  • “HTTP 缓存机制(强缓存、协商缓存)”
  • “写一个抓包分析 HTTP 的实战案例”

或者直接说“给我完整 PDF/思维导图”,我可以帮你整理!

HTTP 是所有 Web 开发的基石,彻底掌握它,你的网页性能优化、前后端分离、接口设计都会突飞猛进!🚀

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐