那些代表性的HTTP状态码,你还只知道404吗?快来看看吧【转】
前言
在网络上发送请求后,经常会根据请求的状态码去判断请求的成功失败与否,常见的状态码有200,404,500。
不过你以为HTTP请求的状态码就只有这么几个么?其实是远远比这个多的。
今天这篇文章我们就一起来看看HTTP请求中常用的状态码吧。
HTTP状态码
2XX-请求成功
以2开头的2XX类的状态码,都表示请求成功,服务器正确执行了请求的操作。例如POST请求,在请求体中发送的数据会被服务器端正确的处理,例如写数据库操作。
在2XX类的状态码中,最常见的就是200了,至少在我目前是没有见过请求成功后,状态码不是200的。因此我们只需要知道200的状态码表示的含义即可。
状态码200
3XX-重定向
以3开头的3XX类的状态码,都表示请求重定向,服务器端会返回信息告知浏览器如何做后续操作才能成功处理请求。
接下来我们看看有哪些需要掌握的3XX状态码。
301-永久重定向
301状态码表示的是资源永久重定向,比如请求资源A的URI-A1,但是服务器端返回301,并指定了一个新的URI-A2,这就表示以后请求资源A,就只能用URI-A2了。
状态码301
302-临时重定向
302状态码表示的是资源的临时重定向,比如请求资源A的URI-A1,但是服务器端返回301,并指定了一个新的URI-A2,这时资源的位置临时用URI-A2表示,以后有可能还会进行更改,因此这个URI-A2并不是永久的。
状态码302
303-请求其他资源
303状态码表示在服务端找到你需要的资源,但是这个资源存在另一个URI,而且希望客户端在后续的请求中使用GET方法去请求返回的新URI。
状态码303
4XX-客户端错误
以4开头的4XX类的状态码,都表示是客户端的错误。
401-未认证
401表示服务端需要客户端提供一些认证信息,如果认证不通过,将无法向服务器端发送请求。这种情况尤其会出现在浏览器首次发送请求时,服务器端需要客户端的认证信息,最直观的信息是会在浏览器上弹出一个输入框,需要用户填写认证信息。
状态码401
403-被拒绝
403表示服务器端拒绝接受客户端发送过来的请求,而且一般不会给出提示原因,为何给予拒绝。
不过一般会是因为用户无权限访问造成的。在我工作过程中,经常会遇到403的问题,因为我们对接口的权限管理很严格,如果新增的接口没有正确配置权限,就会造成403的问题。
状态码403
404-资源不存在
404可能是所有程序员最熟悉的状态码了吧,无需过多描述,就是请求的资源在服务器端不存在,一般为请求的URL不对。
状态码404
405-不允许使用该方法
405表示的是请求的URL虽然能被服务器识别,但是不允许使用该方法。
需要注意的是:GET和HEAD方法,服务器端总是会允许执行的。
出现405状态码的常见原因是,当服务端定义的请求类型与客户端发送的类型不一致,比如服务器端定义的方法为POST,而客户端发送请求类型是GET。
5XX服务器端错误
以5开头的5XX型状态码都表示服务器端错误。
500-服务器内部错误
500状态码表示的是服务器内部执行异常,一般都表现为程序上的bug,例如代码在执行过程中抛出异常,例如常见的空指针。
状态码500
502-错误网关
502状态码一般会展现bad gateway错误网关类型的信息。
主要是由于客户端向服务器端请求超时,比如在服务器端网络状况不好的情况下,同时又有多个客户端向服务器端发送请求,会造成服务器端资源不够,无法正常响应,便会返回这个结果。
一般最简单的解决方就是刷新的方式,有很多由于有缓存的情况,直接从本地拿数据,就不会再报502错误。
503-服务不可用
503状态码表示服务器无法处理请求,一般表现为服务器宕机或者处于超负荷状态。不过这一般都是暂时性的情况,在服务重启或者负载均衡处理后,服务会继续处于可用状态。
状态码503
504-网关超时
504状态码一般网关在转发过程中,超过设定的时间仍未收到上游服务器的响应。
结束语
今天这篇文章主要介绍了一些常用的HTTP状态码,这些状态码会经常用于判断服务的可用性上,也很方便的适用于前后端联调时出错的判断,大家要好好掌握~
转自
https://www.toutiao.com/i6496464659028115981/
那些代表性的HTTP状态码,你还只知道404吗?快来看看吧【转】的更多相关文章
- (网页)Http状态码大全(200、404、500等)(转CSDN)
当我们从客户端向服务器发送请求时 服务器向我们返回状态码 状态码就是告诉我们服务器响应的状态 通过它,我们就可以知道当前请求是成功了还是出现了什么问题 状态码是由3位数字和原因短语组成的(比如最常见的 ...
- 转载 HTTP常见状态码分析 200 301 302 404 500
转载原地址: http://www.cnblogs.com/starof/p/5035119.html HTTP状态码(HTTP Status Code) 一些常见的状态码为: 一.1开头1xx(临 ...
- Http状态码大全(200、404、500等)
基本涵盖了所有问题 HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源H ...
- HTTP/1.0中,状态码200 301 304 403 404 500的含义?
200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误, ...
- http 状态码含义
HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码.随着协议的发展,HTTP规范中会定义更多的状态码. 小技巧: 假如你看到一个状态码518, 你并不知道具体51 ...
- HTTP状态码302、303和307的故事
今日读书,无法理解HTTP302.303.307状态码的来龙去脉,决定对其做深究并总结于本文. <HTTP权威指南>第3章在讲解30X状态码时,完全没有讲清楚为什么要有 ...
- HTTP状态码分类说明
状态码分类 HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码.随着协议的发展,HTTP规范中会定义更多的状态码. 小技巧: 假如你看到一个状态码518, 你并 ...
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
- HTTP协议状态码详解
HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果是做AJAX,REST,网络爬虫, ...
随机推荐
- Matplotlib风羽自定义
[前言]对于气象专业的小学生来说,风场是预报重要的参考数据,我们所知的风羽有四种:短线代表风速2m/s,长线代表风速4m/s,空心三角代表风速20m/s,实心三角代表风速50m/s.而matplotl ...
- hihocoder1639 图书馆 [数学]
已知数组a[]及其和sum, 求sum! / (a1!a2!...an!) 的个位数的值. 求某数的逆元表写成了求某数阶乘的逆元表,故一直没找到错误. P 是质数的幂B 表示质数,P 表示模数,cal ...
- 【BZOJ4869】【SHOI2017】相逢是问候
Description BZOJ传送门 Solution 这题涉及到指数嵌套堆叠,可能可以用欧拉函数解决. 试想一个数\(a_i\)经过\(k\)次操作后会变成什么? \[ k个c\;\; \begi ...
- 洛谷 P1356 数列的整数性 解题报告
P1356 数列的整数性 题目描述 对于任意一个整数数列,我们可以在每两个整数中间任意放一个符号'+'或'-',这样就可以构成一个表达式,也就可以计算出表达式的值.比如,现在有一个整数数列:17,5, ...
- 【uoj122】 NOI2013—树的计数
http://uoj.ac/problem/122 (题目链接) 题意 给出一棵树的dfs序和bfs序,保证一定可以构成一棵树.问构成的树的期望深度. Solution 这是一个悲伤的故事,我YY的东 ...
- Linux及安全实践四——ELF文件格式分析
Linux及安全实践四——ELF文件格式分析 一.ELF文件格式概述 1. ELF:是一种对象文件的格式,用于定义不同类型的对象文件中都放了什么东西.以及都以什么样的格式去放这些东西. 二.分析一个E ...
- 解题:USACO15JAN Grass Cownoisseur
解题 首先缩点没啥可说的,然后考虑枚举这次逆行的边.具体来说在正常的图和反图上各跑一次最长路,然后注意减掉起点的贡献,用拓扑排序实现(我这里瞎写了个Bellman_Ford,其实在DAG上这好像和拓扑 ...
- Webpack + React 开发 01 HelloWorld
1.项目依赖 安装所需要依赖的其它第三方开源库,项目依赖如下: "dependencies": { "babel-core": "^6.21.0&qu ...
- laravel mapSpread 例子
$collection = collect(range(1, 9)); $chunks = $collection->chunk(2); $labeld = $chunks->mapSpr ...
- laravel 命令行输出进度条
有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度. 参考:http://symfony.com/doc/current/ ...