HTTP 核心知识点速查表

目录

[一、HTTP 基础定位](#一、HTTP 基础定位)

二、请求(Request)结构

常用请求方法

三、响应(Response)结构

常用状态码分类

[四、HTTP 版本差异](#四、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 之上),彻底解决队头阻塞、更快的连接建立 部分设备和服务器支持度待提升

五、关键概念补充

  1. Cookie 与 Session:Cookie 存储在客户端,用于身份标识;Session 存储在服务器,通过 Cookie 中的 SessionID 关联
  2. Content-Type:标识响应体数据格式,常见值有 text/html、application/json、image/jpeg
  3. 缓存:通过 Cache-Control、Expires 等响应头控制,减少重复请求,提升加载速度
相关推荐
不可能的是21 小时前
前端 SSE 流式请求三种实现方案全解析
前端·http
Jony_3 天前
高可用移动网络连接
网络协议
chilix3 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19985 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205525 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel5 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)5 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
~远在太平洋~5 天前
Debian系统如何删除多余的kernel
linux·网络·debian