列举http中常见状态的分及信息

2020-11-28 11:59:18 字数 6059 阅读 8853

1楼:黑马程序员

http协议状态码,是指在http协议运作中由客户端发出请求连接,服务端建立连接,客户端发出http请求,服务端返回响应信息,而在这个过程张由于客户端或服务端的问题会返回相应的错误**并显示给用户,对应的错误**表示不同的错误信息,根据这个信息用户可以调整相应的操作来修改出现的错误,最终避免错误的再现

http协议状态码一共有5中类别,分别是1xx,2xx,3xx,4xx,5xx 用2位数字来表示不同的错误:

1xx类状态码信息表示:临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应

2xx类状态码信息表示:服务器成功的接收了客户端请求

3xx类状态码信息表示:客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同页面,或者通过**服务器重复该请求

4xx类状态码信息表示:发生错误,客户端似乎有问题。例如:客户端请求不存在的页面,客户端为提供有效的身份验证信息

5xx类状态码信息表示:服务器遇到错误而不能完成该请求

状态码 含义

100——客户必须继续发出请求

101——客户要求服务器根据请求转换http协议版本

200——交易成功

201——提示知道新文件的url

202——接受和处理、但处理未完成

203——返回信息不确定或不完整

204——请求收到,但返回信息为空

205——服务器完成了请求,用户**必须复位当前已经浏览过的文件

206——服务器已经完成了部分用户的get请求

300——请求的资源可在多处得到

301——删除请求数据

302——在其他地址发现了请求数据

303——建议客户访问其他url或访问方式

304——客户端已经执行了get,但文件未变化

305——请求的资源必须从服务器指定的地址得到

306——前一版本http中使用的**,现行版本中不再使用

307——申明请求的资源临时性删除

400——错误请求,如语法错误

401——请求授权失败

402——保留有效chargeto头响应

403——请求不允许

404——没有发现文件、查询或url

405——用户在request-line字段定义的方法不允许

406——根据用户发送的accept拖,请求资源不可访问

407——类似401,用户必须首先在**服务器上得到授权

408——客户端没有在用户指定的饿时间内完成请求

409——对当前资源状态,请求不能完成

410——服务器上不再有此资源且无进一步的参考地址

411——服务器拒绝用户定义的content-length属性请求

412——一个或多个请求头字段在当前请求中错误

413——请求的资源大于服务器允许的大小

414——请求的资源url长于服务器允许的长度

415——请求资源不支持请求项目格式

416——请求中包含range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含if-range请求头字段

417——服务器不满足请求expect头字段指定的期望值,如果是**服务器,可能是下一级服务器不能满足请求

500——服务器产生内部错误

501——服务器不支持请求的函数

502——服务器暂时不可用,有时是为了防止发生系统过载

503——服务器过载或暂停维修

504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长

505——服务器不支持或拒绝支请求头中指定的http版本

常见的http协议的状态消息有哪些

2楼:

一、http协议

概述:超文本传输协议(http,hypertext transfer protocol)是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。

http是一个客户端和服务器端请求和应答的标准(tcp)。客户端是终端用户,服务器端是**。通过使用web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的http请求。

(我们称这个客户端)叫用户**(user

agent)。应答的服务器上存储着(一些)资源,比如html文件和图像。(我们称)这个应答服务器为源服务器(origin server)。

http协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、url、协议版本、以及包含请求修饰符、客户信息和内容的类似于mime的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

特点:二、状态码

众所周知,做web开发,常见的几种状态码是必须要了解的,而且几个状态码在面试中也有可能要考。

在这其中,200,304,403,404,500,是必须要知道的,且在爬虫工程师这个职位,这些所有状态码都是必须要知道的。

http协议响应消息的常用状态码有哪些?

3楼:如期而至

“100″ : continue(继续)

初始的请求已经接受,客户应当继续发送请求的其余部分。(http 1.1新) “101″ :

switching protocols(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。(http 1.1新) “200″ :

ok(成功) 一切正常,对get和post请求的应答文档跟在后面。 “201″ : created(已创建)服务器已经创建了文档,location头给出了它的url。

“202″ : accepted(已接受)服务器已接受了请求,但尚未对其进行处理。 “203″ :

non-authoritative information(非授权信息) 文档已经正常地返回,但一些应答头可能不正确,可能来自另一** 。(http 1.1新)。

“204″ : no content(无内容)未返回任何内容,浏览器应该继续显示原来的文档。 “205″ :

reset content(重置内容)没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(http 1.1新)。

“206″ : partial content(部分内容)服务器成功处理了部分 get 请求。(http 1.

1新) “300″ : multiple choices(多种选择)客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在location应答头指明。

“301″ : moved permanently(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对 get 或 head 请求的响应)时,会自动将请求者转到新位置。

“302″ : found(临时移动)类似于301,但新的url应该被视为临时性的替代,而不是永久性的。注意,在http1.

0中对应的状态信息是“moved temporatily”,出现该状态**时,浏览器能够自动访问新的url,因此它是一个很有用的状态**。注意这个状态**有时候可以和301替换使用。例如,如果浏览器错误地请求http:

//host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。严格地说,我们只能假定只有当原来的请求是get时浏览器才会自动重定向。请参见307。

“303″ : see other(查看其他位置)类似于301/302,不同之处在于,如果原来的请求是post,location头指定的重定向目标文档应该通过get提取(http 1.1新)。

“304″ : not modified(未修改)自从上次请求后,请求的网页未被修改过。原来缓冲的文档还可以继续使用,不会返回网页内容。

“305″ : use proxy(使用**)只能使用**访问请求的网页。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的**。

(http 1.1新) “307″ : temporary redirect(临时重定向)和 302(found)相同。

许多浏览器会错误地响应302应答进行重定向,即使原来的请求是post,即使它实际上只能在post请求的应答是303时才能重定向。由于这个原因,http 1.1新增了307,以便更加清除地区分几个状态**:

当出现303应答时,浏览器可以跟随重定向的get和post请求;如果是307应答,则浏览器只能跟随对get请求的重定向。(http 1.1新) “400″ :

bad request(错误请求)请求出现语法错误。 “401″ : unauthorized(未授权)客户试图未经授权访问受密码保护的页面。

应答中会包含一个www-authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的authorization头后再次发出请求。 “403″ : forbidden(已禁止) 资源不可用。

服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。 “404″ :

not found(未找到)无法找到指定位置的资源。 “405″ : method not allowed(方法禁用)请求方法(get、post、head、delete、put、trace等)禁用。

(http 1.1新) “406″ : not acceptable(不接受)指定的资源已经找到,但它的mime类型和客户在accpet头中所指定的不兼容(http 1.

1新)。 “407″ : proxy authentication required(需要**授权)类似于401,表示客户必须先经过**服务器的授权。

(http 1.1新) “408″ : request time-out(请求超时)服务器等候请求时超时。

(http 1.1新) “409″ : conflict(冲突)通常和put请求有关。

由于请求和资源的当前状态相冲突,因此请求不能成功。(http 1.1新) “410″ :

gone(已删除)如果请求的资源已被永久删除,那么,服务器会返回此响应。该**与 404(未找到)**类似,但在资源以前有但现在已经不复存在的情况下,有时会替代 404 **出现。如果资源已被永久删除,那么,您应当使用 301 **指定该资源的新位置。

(http 1.1新) “411″ : length required(需要有效长度)不会接受包含无效内容长度标头字段的请求。

(http 1.1新) “412″ : precondition failed(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。

(http 1.1新) “413″ : request entity too large(请求实体过大)请求实体过大,已超出服务器的处理能力。

如果服务器认为自己能够稍后再处理该请求,则应该提供一个retry-after头。(http 1.1新) “414″ :

request-uri too large(请求的 uri 过长)请求的 uri(通常为**)过长,服务器无法进行处理。 “415″ : unsupported media type(不支持的**类型)请求的格式不受请求页面的支持。

“416″ : requested range not satisfiable(请求范围不符合要求)服务器不能满足客户在请求中指定的range头。(http 1.

1新) “417″ : expectation failed(未满足期望值)服务器未满足”期望”请求标头字段的要求。 “500″ :

internal server error(服务器内部错误)服务器遇到错误,无法完成请求。 “501″ : not implemented(尚未实施) 服务器不具备完成请求的功能。

例如,当服务器无法识别请求方法时,服务器可能会返回此**。 “502″ : bad gateway(错误网关)服务器作为网关或者**时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。

“503″ : service unavailable(服务不可用)服务器由于维护或者负载过重未能应答。通常,这只是一种暂时的状态。

“504″ : gateway time-out(网关超时) 由作为**或网关的服务器使用,表示不能及时地从远程服务器获得应答。(http 1.

1新) “505″ : http version not supported(http 版本不受支持)不支持请求中所使用的 http 协议版本。 希望对你有帮助。。