HTTP 核心知识点速查表
目录
一、HTTP 基础定位
二、请求(Request)结构
常用请求方法
三、响应(Response)结构
常用状态码分类
四、HTTP 版本差异
五、关键概念补充
一、HTTP 基础定位
- 全称:HyperText Transfer Protocol(超文本传输协议)
- 作用:客户端(浏览器、APP 等)与服务器之间的应用层通信协议,用于传输 HTML、图片、视频等资源
- 底层依赖:基于 TCP 协议(HTTP/3 基于 QUIC 协议),默认端口为 80(HTTPS 为 443)
- 核心模型:请求 - 响应模型,一次请求对应一次响应
二、请求(Request)结构
组成部分 | 核心内容 | 示例 |
---|---|---|
请求行 | 方法 + URL + 协议版本 | GET /index.html HTTP/1.1 |
请求头 | 键值对形式,传递请求附加信息 | User-Agent: Chrome/118.0.0.0Cookie: sessionId=abc123 |
请求体 | 仅 POST、PUT 等方法使用,传递表单、JSON 等数据 | username=test&password=123(表单){"name":"test"}(JSON) |
常用请求方法
方法 | 核心作用 | 特点 |
---|---|---|
GET | 获取资源 | 参数拼在 URL 后,长度有限,可缓存 |
POST | 提交资源 | 参数在请求体中,可传大量数据,不可缓存 |
PUT | 全量更新资源 | 覆盖式更新,需传完整资源数据 |
DELETE | 删除资源 | 请求成功后删除指定资源 |
HEAD | 获取响应头 | 仅返回响应头,无响应体,用于检查资源 |
三、响应(Response)结构
组成部分 | 核心内容 | 示例 |
---|---|---|
响应行 | 协议版本 + 状态码 + 状态描述 | HTTP/1.1 200 OK |
响应头 | 键值对形式,传递响应附加信息 | Content-Type: text/htmlSet-Cookie: token=def456 |
响应体 | 服务器返回的实际数据 | HTML 代码、JSON 字符串、图片二进制数据 |
常用状态码分类
状态码范围 | 含义 | 典型代码及场景 |
---|---|---|
2xx | 成功 | 200 OK(请求成功)204 No Content(成功但无响应体) |
3xx | 重定向 | 301 Moved Permanently(永久重定向)302 Found(临时重定向)304 Not Modified(资源未修改,用缓存) |
4xx | 客户端错误 | 400 Bad Request(请求参数错误)401 Unauthorized(未登录)403 Forbidden(登录但无权限)404 Not Found(资源不存在) |
5xx | 服务器错误 | 500 Internal Server Error(服务器未知错误)503 Service Unavailable(服务器过载或维护) |
四、HTTP 版本差异
版本 | 核心改进 | 不足 |
---|---|---|
HTTP/1.1 | 支持长连接、管道化请求、Chunked 编码 | 存在队头阻塞(同一连接中请求需排队) |
HTTP/2 | 多路复用(同一连接并发处理多请求)、二进制帧、头部压缩 | 仍依赖 TCP,TCP 层队头阻塞未解决 |
HTTP/3 | 基于 QUIC 协议(UDP 之上),彻底解决队头阻塞、更快的连接建立 | 部分设备和服务器支持度待提升 |
五、关键概念补充
- Cookie 与 Session:Cookie 存储在客户端,用于身份标识;Session 存储在服务器,通过 Cookie 中的 SessionID 关联
- Content-Type:标识响应体数据格式,常见值有 text/html、application/json、image/jpeg
- 缓存:通过 Cache-Control、Expires 等响应头控制,减少重复请求,提升加载速度