← 返回文章列表
浏览器与网络·2296 次阅读

HTTP 入门:请求方法、状态码与报文结构

HTTP 入门:请求方法、状态码与报文结构

HTTP 是浏览器和服务器之间沟通的协议,基于请求-响应模型,本身是无状态的(每次请求互不认识,靠 Cookie 补身份)。

报文长什么样

请求报文:请求行 + 请求头 + 空行 + 请求体

POST /api/login HTTP/1.1
Host: localhost:3000
Content-Type: application/json

{"username":"admin","password":"123456"}

响应报文:状态行 + 响应头 + 空行 + 响应体

HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: token=xxx; HttpOnly

{"id":1,"username":"admin"}

请求方法

方法 语义 有没有请求体
GET 查询资源 一般没有,参数在 URL
POST 创建/提交数据 有
PUT 全量更新 有
PATCH 局部更新 有
DELETE 删除 一般没有

GET 参数暴露在 URL 里,有长度限制且会被历史记录留存,密码等敏感信息绝不能放 GET。GET 请求可以被浏览器缓存、收藏,POST 不会。

状态码分类

  • 2xx 成功:200 OK、201 Created、204 No Content
  • 3xx 重定向:301 永久重定向、302 临时重定向、304 Not Modified(走缓存)
  • 4xx 客户端错误:400 参数错误、401 未登录、403 无权限、404 不存在、429 请求太频繁
  • 5xx 服务端错误:500 内部错误、502 网关错误、503 服务不可用、504 网关超时

面试常问:401 和 403 的区别——401 是"没认证",403 是"认证了但没权限"。联调时先看状态码大类,再看响应体里的 message,定位问题会快很多。

看到这里了?如果这篇文章帮到过你

请我喝瓶可乐就好 🥤

收款码

评论0 条

还没有评论,来抢沙发~

发表评论

评论需审核后显示

© 2026 许冬博客 · 专注 JS 技术分享

·RSS 订阅·Powered by Nuxt 4