http 超文本传输协议 (网页)

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.91991只支持 GET,返回纯 HTML功能极简纯文本
HTTP/1.01996增加 POST、HEAD 等方法每次请求新建连接纯文本
HTTP/1.11997持久连接、管道化、Host 字段、缓存控制队头阻塞(Head-of-Line Blocking)纯文本
HTTP/22015多路复用、二进制帧、头部压缩(HPACK)、服务器推送仍基于 TCP(队头阻塞未彻底解决)二进制
HTTP/32022基于 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 开发的基石,彻底掌握它,你的网页性能优化、前后端分离、接口设计都会突飞猛进!🚀

文章已创建 5021

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部