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 等响应头控制,减少重复请求,提升加载速度
相关推荐
foundbug9994 小时前
基于CSMA-CA协议的V2X通信MATLAB仿真
开发语言·网络·matlab
卓码软件测评5 小时前
使用Wireshark测试手机APP网络通信完整指南
网络·功能测试·测试工具·智能手机·wireshark·测试用例·压力测试
吃饭睡觉发paper5 小时前
用于飞行时间深度去噪的空间层次感知残差金字塔网络
网络·人工智能·机器学习·计算机视觉
咬_咬5 小时前
Linux时间轮定时器
linux·运维·网络·定时器·timerfd
2501_915106325 小时前
HTTPS 爬虫实战指南 从握手原理到反爬应对与流量抓包分析
爬虫·网络协议·ios·小程序·https·uni-app·iphone
cliproxydaili5 小时前
IP 汇总名单
大数据·网络
BUTCHER56 小时前
【原理扫描】SSL/TLS 服务器瞬时 Difie-Hellman 公共密钥过弱
java·服务器·网络·ssl
歪歪1007 小时前
如何在Qt中使用VS的调试功能
运维·开发语言·网络·qt·网络协议·visual studio
平生不喜凡桃李13 小时前
Linux网络:UDP
linux·网络·udp