那些常见的 HTTP 状态码

HTTP 响应状态码是什么

状态码是 HTTP 响应报文的内容之一,早期的 HTTP/0.9 中并没有状态码这一个定义,所以在实际的请求过程中,客户端很难知道这次请求服务器是否成功处理,或者如果发生错误后,错误的原因是什么。到了 HTTP/1.1 后,引入了状态码的概念。

状态码由三位数字组成,用来指示服务端的响应状态。

状态码对客户端的运行策略有着很重要的影响,正确的使用状态码有助于不同客户端的优化,如在浏览器中,可以使用状态码控制缓存。

分类

HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成。 响应被归为以下五大类:

状态码 含义
1XX 信息响应(服务器收到请求,要求请求者继续执行操作)
2XX 成功响应(请求已成功被服务器接收、理解和接受)
3XX 重定向(需要进行额外操作以完成请求)
4XX 客户端错误(请求包含语法错误或无法被服务器理解)
5XX 服务端错误(服务器在处理请求时发生错误)

常见的http状态码

状态码 短语 中文短语 含义
100 Continue 继续 表示客户端应继续请求
101 Continue Swithcing Protocols 切换协议 服务器理解并将切换协议
200 OK 成功 请求成功,响应包含请求的资源
201 Created 资源创建 请求成功并创建了新的资源
204 No Content 无内容 请求(删除)成功,响应体无内容返回
301 Moved Permanently 永久重定向 请求的资源已永久移动到新位置
302 Found 临时重定向 请求的资源临时从不同的 URI 响应请求
304 Not Modified 资源未修改 客户端缓存的资源未修改,可以直接使用本地缓存(重定向到本地缓存)
307 Temporary Redirect 临时重定向 302 但请求方法不变
308 Permanent Redirect 永久重定向 301 但请求方法不变
400 Bad Request 请求错误 客户端请求有语法错误,服务器无法理解
401 Unauthorized 未授权 未提供身份验证凭证
403 Forbidden 禁止访问 服务器理解请求,但拒绝执行
404 Not Found 未找到 服务器找不到请求的资源
405 Method Not Allowed 方法不被允许 请求行中指定的请求方法不能用于请求相应的资源
500 Internal Server Error 服务器内部错误 服务器遇到未知错误
502 Bad Gateway 无效网关 服务器作为网关,从上游服务器收到了一个无效的响应
503 Service Unavailable 服务不可用 服务器当前无法处理请求,通常是由于临时过载或维护
504 Gateway Timeout 网关超时 服务器作为网关,未及时从上游服务器收到响应

301、308 永久重定向,意味着原始URL不再可用,搜索引擎、RSS、爬虫会更新旧的URL的资源。并且浏览器会缓存301重定向,无法更改为其他的重定向,除非用户清除历史记录。

一些有趣的404页面

浏览的目的是为了留住用户,当用户访问的网站上不存在或已删除的页面,一个好的404页面可以引导用户使用网站其他页面,而不是关闭窗口离开,从而消除用户的挫败感。

而这恰好对应了心理学上的"峰终定律":对一件事物的体验之后,所能记住的就只是在峰与终时的体验。而一个好的自定义的404页面,甚至可以把"谷"变为"峰"。下面会展示一些我认为有趣的404页面:

b站的404页面,有小漫画可以看

Google的小机器人

github的章鱼猫Octocat

知乎风格的404页面

magicalmirai的404页面,可爱的miku~

相关推荐
恋猫de小郭6 分钟前
Flutter Android 改动:APK 不再允许通过 Intent 动态修改 Engine 参数
android·前端·flutter
ck01357913 分钟前
视频转 GIF 的基本流程与文件大小优化
前端·测试工具·html·音视频·视频
郝学胜-神的一滴17 分钟前
Web安全入门:读懂Web世界里的攻防
前端·网络·后端·安全·web安全·hibernate
Amos_Web22 分钟前
Rspack 源码解析(二十四):AssetPlugin 如何让图片同时是「URL 字符串」和「真实文件」
前端·rust·前端框架
lexiangqicheng27 分钟前
1,自定义表单通俗理解-PC设计APP渲染
java·前端·javascript
其实防守也摸鱼34 分钟前
Codex 下载与本地部署实战指南
linux·服务器·前端·数据库·算法·ai
苏渡苇1 小时前
从零搭建 Vue 3 工程化项目:Vite + TypeScript + Pinia + Element Plus 实战
前端·vue.js·typescript
CallFay云起未来1 小时前
2026年AI客服能不能减少人工回复?从知识检索到人机协同的技术实现
java·大数据·前端·人工智能·架构·文心一言
IT_陈寒1 小时前
一文搞懂SpringBoot的核心概念
前端·人工智能·后端
棉猴1 小时前
玩游戏学Python12-布尔型与条件语句
java·前端·python·玩游戏·游戏编程·pgzero