HTTP请求和响应3:状态码(status)

HTTP状态码被分为了五大类:

100~199:信息提示

200~299:成功

300~399:重定向

400~499:客户端错误

500~599:服务器错误

状态码为客户端提供了一种理解事务处理结果的便捷方式,下面对每一种状态码做了一个总结。

100~199————信息性状态码

信息性状态码用于信息提示,已定义的信息性状态码如下:

1)100

原因短语:Continue

含义:说明收到了请求的初始部分,请客户端继续,发送了这个状态码之后,服务端在收到请求之后必须进行响应。客户端需要发送一个携带了值为100 Continue的Expect请求首部,服务端收到后,将回送一个状态码为100的响应,并期待客户端发送请求实体到服务端处理。

2)101

原因短语:Switching Protocols

含义:说明服务器正在根据客户端的指定,将协议切换成Update首部所列的协议

200~299————成功状态码

下面是已定义的表示成功的状态码:

1)200

原因短语:OK

含义:请求没问题,实体的主体部分包含了所请求的资源

2)201

原因短语:Created

含义:用于创建服务器对象的请求,如PUT,服务器必须在发送这个状态码之前创建好对象

3)202

原因短语:Accepted

含义:请求已被接受,但服务器还未对其执行任何动作,不能保证服务器会完成这个请求

4)203

原因短语:Non-Authoritative Information

含义:实体首部包含的信息不是来自于源端服务器,而是来自资源的一份副本。如果中间节点上有一份资源副本,但无法或者没有对它所发送的与资源有关的元信息进行验证,就会出现这种情况。

5)204

原因短语:No Content

含义:响应报文中包含若干首部和一个状态行,但没有实体的主体部分。主要用于在浏览器不转为现实新文档的情况下,对其进行更新。

6)205

原因短语:Reset Content

含义:告知浏览器清除当前页面中的所有HTML表单元素

7)206

原因短语:Partial Content

含义:客户端可以通过一些特殊的首部来获取部分或某个范围内的文档,这个状态码就说明范围请求成功了

300~399————重定向状态码

重定向状态码用于重定向资源,如果资源已被移动,可发送一个重定向状态码和一个可选的Location首部来告知客户端资源已被移走,以及在哪里可以找到它,这样,浏览器就可以在不打扰使用者的情况下,透明地转入新的位置了。

1)300

原因短语:Multiple Choices

含义:客户端请求一个实际指向多个资源的URL时会返回这个状态码,下面是一个例子:

请求报文:

GET /pet-products.txt HTTP/1.1
Host: www.joes-hardware.com
Accept: *

服务端响应报文重定向到另一个地址:

HTTP/1.1 301 OK
Location: http://www.gentle-grooming.com/
Content-length: 56
Content-type: text/plain

//body

客户端浏览器收到重定向响应报文后,将发起一个向新地址的请求:

GET / HTTP/1.1
Host: www.gentle-grooming.com
Accept: *

新地址的响应报文:

HTTP/1.1 200 OK
Content-type: text/html
Content-length: 3307

...

2)301

原因短语:Moved Permanently

含义:在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL

3)302

原因短语:Found

含义:与301类似,但是,客户端应该使用Location首部给出的URL来临时定位资源,将来的请求仍应使用老的URL

4)303

原因短语:See Other

含义:告知客户端应该用另一个URL来获取资源,新的URL位于响应报文的Location首部,其主要目地是允许POST请求的响应将客户端定位到某个资源上去

4)304

原因短语:Not Modified

含义:客户端可以通过所包含的请求首部,使其请求变成有条件的,客户端发起一个条件GET请求,而最近资源未被修改的话,就可以用这个状态码说明资源未被修改,带有这个状态码的响应不包含实体的主体部分。

请求报文:

GET /seasonal/index-fall.html HTTP/1.1
Host: www.joes-hardware.com
Accept: *
If-Modified-Since: Fri, Oct 3 1997 02:16:00 GMT

如果资源未被修改过,则响应报文:

HTTP/1.1 304 Not Modified
...

5)305

原因短语:Use Proxy

含义:用来说明必须通过一个代理来访问资源,代理的位置由Location首部给出

6)307

原因短语:Temporary Redirect

含义:和301类似,但客户端应该使用Location首部给出的URL来临时定位资源,将来的请求应该使用老的URL

400~499————客户端错误状态码

客户端错误状态码反馈客户端请求导致的错误,一般由浏览器来处理,只有少量错误,如404,会反馈到用户面前。

1)400

原因短语:Bad Request

含义:告知客户端它发送了一个错误的请求

2)401

原因短语:Unauthorized

含义:与适当的首部一同返回,在这些首部中请求客户端在获取对资源的访问权之前,对自己进行认证

3)402

原因短语:Payment Required

含义:目前还未使用,保留

4)403

原因短语:Forbidden

含义:用于说明请求被服务器拒绝了

5)404

原因短语:Not Found

含义:服务器无法找到所请求的URL

6)405

原因短语:Method Not Allowed

含义:发起的请求中带有所请求的URL不支持的方法时,使用此状态码。会在响应中包含Allow首部,以告知客户端对所请求的资源可以使用哪些方法

7)406

原因短语:Not Acceptable

含义:客户端可以指定参数来说明它们愿意接收什么类型的实体,服务器没有与客户端可接受的URL相匹配的资源时,使用此代码

8)407

原因短语:Proxy Authentication Required

含义:与401类似,但要求对资源进行认证的代理服务器

9)408

原因短语:Request Timeout

含义:超时后,服务器可以回送此状态码,并关闭连接

10)409

原因短语:Conflict

含义:用于说明请求可能在资源上引发的一些冲突

11)410

原因短语:Gone

含义:与404类似,只是服务器曾经拥有过此资源,但此资源已经被移除

12)411

原因短语:Length Required

含义:服务器要求在请求报文中包含Content-Length首部时使用

13)412

原因短语:Precondition Failed

含义:客户端发起了条件请求,且其中一个条件失败了的时候使用。客户端包含了Expect首部时发起的就是条件请求

14)413

原因短语:Request Entity Too Large

含义:客户端发送的实体主体部分比服务器能够或者希望处理的要大时,使用此状态码

15)414

原因短语:Request URI Too Long

含义:客户端所发请求中的请求URL比服务器能够或者希望处理的要长时,使用此状态码

16)415

原因短语:Unsupported Media Type

含义:服务器无法理解或无法支持客户端所发实体的内容类型时,使用此状态码

17)416

原因短语:Requested Range Not Satisfiable

含义:请求报文所请求的是指定资源的某个范围,而此范围无效或无法满足时,使用此状态码

18)417

原因短语:Expectation Failed

含义:请求的Expect请求首部包含了一个期望,但服务器无法满足此期望时,使用此状态码

500~599————服务器错误状态码

当服务器自身出错后,回送报文中将包含此告警码。

1)500

原因短语:Internal Server Error

含义:服务器出错

2)501

原因短语:Not Implemented

含义:客户端发起的请求超过服务器的能力范围

3)502

原因短语:Bad Gateway

含义:作为代理或网关使用的服务器从请求响应链的下一条链路上收到了一条伪响应

4)503

原因短语:Service Unavailable

含义:用来说明服务器暂时无法为请求提供服务,可以包含一个Retry-After首部,告诉客户端资源什么时候可用

5)504

原因短语:Gateway Timeout

含义:响应来自网关或代理,在等待另一个服务器对其请求进行响应时超时了

6)505

原因短语:HTTP Version Not Supported

含义:服务器收到的请求使用了它无法或不愿支持的协议版本

时间: 2024-10-11 06:59:14

HTTP请求和响应3:状态码(status)的相关文章

http请求、响应和状态码

1.http 请求 http请求包含内容: 请求地址ur 请求方法:get.post等 http协议/版本:http 1.1 请求头:  2.http响应 http响应主要包含内容: 状态码:200 OK等: 响应头: 响应内容: 响应内容可以是响应报文,也可能是一个网页: 参考网址:https://www.cnblogs.com/nickjiang/p/9148136.html 3.http请求常见状态码 1)2开头:表示成功处理了请求的状态码 200 – 表示服务器已成功处理了请求: 201

Flask -- 01. werkzeug请求与响应以及源码的解析

werkzeug: Flask框架内部本身没有实现socket,而是使用wsgi实现.wsgi是web服务网管接口,能够对请求进行封装.解析. 基于werkzeug的web应用: # 方式一:Flask返回对象是Response, 继承于werkzeug的BaseResponse. from werkzeug.serving import run_simple from werkzeug.wrappers import BaseResponse def hello(environ, start_

AJAX 状态值(readyState)与状态码(status)详解

总结:status体现的是服务器对请求的反馈,而readystate表明客户端与客户的交互状态过程. 1- AJAX状态值与状态码区别AJAX状态值是指,运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤.如:正在发送,正在响应等,由AJAX对象与服务器交互时所得:使用"ajax.readyState"获得.(由数字1~4单位数字组成)AJAX状态码是指,无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码

http状态码status

status--http状态码 1xx 消息 2xx 成功 3xx 重定向 ? 301 Moved Permanently 永久重定向--下回不会再找他了 ? 302 Move temporarily 临时重定向--下回依然会请求服务器 ? 304 Not Modified 缓存 4xx 请求错误 5xx 服务端错误 6xx+ 自定义 原文地址:https://www.cnblogs.com/wntd/p/9644614.html

HTTP协议、HTTP请求方法、常见状态码、HTTP消息

HTTP协议 客户端请求,服务端响应.浏览器与服务器不建立持久连接,响应后连接失效. HTTP请求方法 一.GET GET方法用于获取请求页面的指定信息. 二.HEAD 除了服务器不能在响应里返回消息主体外,其他都与GET方法相同,常用于测试链接有效性. 三. POST 与GET类似,但是有请求内容,比GET来说,相对安全. 四.PUT 在服务器建立文件,相对危险,一般关闭. 五.DELETE 删除服务器资源,相对危险,一般关闭. 六.TRACE 较为少见.可回显服务器收到的请求. 七.CONN

http网络请求 返回不同的状态码

201-206都表示服务器成功处理了请求的状态代码,说明网页可以正常访问. 200(成功)  服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 201(已创建)  请求成功且服务器已创建了新的资源. 202(已接受)  服务器已接受了请求,但尚未对其进行处理. 203(非授权信息)  服务器已成功处理了请求,但返回了可能来自另一来源的信息. 204(无内容)  服务器成功处理了请求,但未返回任何内容. 205(重置内容) 服务器成功处理了请求,但未返回任何内容.与 204 响应不同,

每日一得--HTTP请求常见的返回状态码

200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码   说明 100   (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 2xx (成功) 表示成功处理了请求的状态代码. 代码   说明 200   (成功)  服务器已成功处理了请求. 通常,这表

【APP接口开发】常用HTTP响应头状态码详解

1.200 OK,客户端请求城成功 2.400 Bad Request ,客服端请求语法错误,服务器无法理解和处理 3.401 unauthorized,请求未通过认证 4.403 permission forbidden ,无权限 5.404 URI不存在,访问的资源不存在 6.500 服务器内部错误(程序脚本错误) 7.503 服务器无法处理(与服务器自身性能瓶颈有关,接受到了请求但是无法及时处理) #######  其他的常见的以后再添加 ######## 原文地址:https://www

shell 发送Post请求,并获取状态码

#!/bin/bash aa=$1 result=$(curl -H "Content-type: application/json" -X POST -o /dev/null -s -w %{http_code} -d '[{"aa":"'${aa}'","bb":"0","cc":"0"}]' URL) echo $result -o /dev/null 屏蔽原有

常见的http请求头,响应头,状态码

请求头 响应头 状态码