Hi,我是小Q,一个决心闯入自媒体领域的普通人。
投了几十份简历后,终于收到了一个面试邀请,结果,
……
面试官:能说出你知道的HTTP状态码吗?
我:(balabala 说了一堆,面试挂了,真想抽自己两巴掌)
什么是HTTP状态码
HTTP状态码是Web服务器用来告诉客户端(通常是Web浏览器)请求的结果的一个三位数字代码。用于指示请求是否成功、失败或其他信息。
分类介绍
状态码第一位数字决定了不同的响应状态,如下:
1 信息状态码
2 成功状态码
3 重定向状态码
4 客户端错误状态码
5 服务器错误状态码
1xx
代表表示请求已被接受,需要继续处理。
常见的有:
100(Continue):客户端应该继续发送请求
101(Switching Protocols):服务器切换协议
102(Processing):服务器正在处理请求
2xx
代表请求已成功被服务器接收、理解、并接受。
常见的有:
200(OK):请求成功
201(Created):资源创建成功
202(Accepted):请求已被接受但尚未处理
203(Non-Authoritative Information):请求成功返回的元信息不在原始服务器上
204(No Content):请求成功但没有返回任何内容
205(Reset Content):请求成功,客户端应重置文档视图
206(Partial Content):客户端只请求了分资源
3xx
表示客户端需要采取进一步的操作来完成请求。
常见的有:
300(Multiple Choice):资源有多种表示,需要客户端选择
301(Moved Permanently):资源被永久移到新位置
302(Found):资源暂时移动到新位置
303(See Other):资源位于不同的URI,应该用GET方法继续访问
304(Not Modified):资源未被修改
307(Temporary Redirect):临时重定向(302重定向时,浏览器会自动将POST改为GET,而307会保留,即POST还是POST)
308(Permanent Redirect):永久重定向(与301含义基本相同,但301重定向时,浏览器会自动将POST改为GET,而308会保留,即POST还是POST)
4xx
代表客户端可能发生了错误。
常见的有:
400(Bad Request):请求语法错误
401(Unauthorized):需要进行身份验证
403(Forbidden):服务器拒绝执行请求(权限不足、IP地址限制、内容限制、目录浏览限制、拒绝访问)
404(Not Found):请求的资源不存在
405(Method Not Allowed):不支持该HTTP方法
406(Not Acceptable):无法满足Accept头指定的要求
408(Request Timeout):请求超时
409(Conflict):资源冲突
410(Gone):请求的资源已经不存在
5xx
表示服务器在处理请求时发生了错误。
常见的有:
500(Internal Server Error):服务器内部错误
501(Not Implemented):服务器不支持该功能
502(Bad Gateway):网关或代理服务器上游服务器收到无响应
503(Service Unavailable):服务器暂时无法处理请求
504(Gateway Timeout):网关超时
505(HTTP Version Not Supported):不支持该HTTP版本
适用场景
100:客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据。常用于POST大数据传输。
206:一般用来做断点续传,或者是视频文件等大文件的加载。
301:永久重定向缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用301就重定向到新的域名。
302:临时重定向不会缓存,常用于登录的用户访问用户中心重定向到登录页面。
304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分。
400:参数有误,请求无法被服务器识别。
403:告诉客户端禁止访问该站点或者资源,如在外网环境下,然后访问只有内网IP才能访问的时候则返回。
404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时。
503:服务器停机维护时,主动用503响应请求或nginx设置限速,超过限速
504:网关超时。
感谢你的阅读,如果你喜欢我的文章,不妨点赞、在看或分享。