那些代表性的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,网络爬虫, ...
随机推荐
- BZOJ5302 HAOI2018奇怪的背包(动态规划)
由裴蜀定理,子集S有解当且仅当gcd(S,P)|w. 一个显然的dp是设f[i][j]为前i个数gcd为j的选取方案.注意到这里的gcd一定是P的约数,所以状态数是n√P的.然后可以通过这个得到gcd ...
- oracle 慢查询
一.查询执行最慢的sql select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", , ) ...
- Nagios通过企业微信报警
主要分两部分进行: 注册企业微信,自建应用,获取与发送消息相关的信息: 编写调用微信API脚本(bash),配置Nagios微信报警: 一.企业微信 1.注册企业微信:https://work.wei ...
- Java之集合Collection
集合 初次学习集合过程中的学习笔记,学习顶层,使用底层.包括常用的API Collection接口 概述 集合 : 集合是Java中提供的一种容器,可以用来存储多个数据. 与数组的区别: 数组的长度是 ...
- 团体程序设计天梯赛 L1-009. N个数求和
易错题 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdboo ...
- golang json 编码解码
json 编码 package main import ( "encoding/json" "fmt" ) type Person struct { Name ...
- SystemV-IPC
这里记录的三种SystemV-IPC包括(消息队列,信号量以及共享内存) 1:标识符和键值 键值(key_t) : IPC结构的外部名(所谓外部名就是各用户进程可获得并操作的,通过它使用XXXget获 ...
- 科学计算三维可视化---TVTK入门(数据加载)
一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角 ...
- CF&&CC百套计划1 Codeforces Round #449 A. Nephren gives a riddle
http://codeforces.com/contest/896/problem/A 第i个字符串嵌套第i-1个字符串 求第n个字符串的第k个字母 dfs #include<map> # ...
- Android端抓取日志
一.背景: ADT-Bundlee for Windows 是由GoogleAndroid官方提供的集成式IDE,已经包含了Eclipse,你无需再去下载Eclipse,并且里面已集成了插件,它解决大 ...