HTTP请求方法及响应码详解(http get post head)

HTTP请求方法及响应码详解(http get post head)
HTTP请求方法及响应码详解(http get post head)

HTTP是Web协议集中的重要协议,它是从客户机/服务器模型发展起来的。客户机/服务器是运行一对

相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理

并给出响应。浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口,。浏览器

与Web 服务器之间所遵循的协议就是HTTP。

HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各

种应用的需要。但HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当

一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。HTTP/0.9包含Simple-Request&Simple-Responsed的报文结构。但是客户无法使用内容协商,所以服务器也无法

返回实体的媒体类型。

1982年,Tim Berners-Lee提出了HTTP/1.0,在此后的不断丰富和发展中,HTTP/1.0成为最重要

的面向事务的应用层协议。该协议对每一次请求/响应,建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生下列问题:对用户请求响应慢、网络拥

塞严重、安全性等。

1997年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户

端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用

流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样

就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。

另外,HTTP/1.1服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端

在发生连接中断时,会自动的重传请求,保证数据的完整性。

HTTP/1.1还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/1.1

中的Cache缓存机制对 HTTP/1.0的不足之处的改进,它严格全面,既可以减少时间延迟、又节省了带宽。HTTP/1.1采用了内容协商机制,选择最合适的用户的内容表现形式。

现在,很多地方都有用到的虚拟主机技术在HTTP/1.1中也可以实现。所谓的虚拟主机技术,就是同一

主机地址实际对应多台主机。通俗的讲,当你同时在一个网站申请两个主页时,用协议分析仪可以发现

其实这两个主页对应的是同一个IP地址。这样用多台完全相同的机器形成WWW服务器就可以提高处

理的吞吐量。

传统的解决方案是改造域名服务器使其可以根据一定的算法将同一域名解释成不同的IP地址。分别对应

虚拟主机的每台机器,其缺点是要求每台机器占用完全独立的IP地址,这与IP地址的缺乏是相矛盾的。HTTP/1.1提供的解决方案在HTTP协议自身中加入了指定不同主机的功能,从而多台主机可以共享一个IP地址,既提高了性能又便于管理。

因为HTTP/1.1是Internet现行的标准协议,这里详细介绍其相关语法。

首先,HTTP/1.1格式可写为:

其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种:

GET:请求指定的页面信息,并返回实体主体。

HEAD:只请求页面的首部。

POST:请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。

PUT:从客户端向服务器传送的数据取代指定的文档的内容。

DELETE:请求服务器删除指定的页面。

OPTIONS:允许客户端查看服务器的性能。

TRACE:请求服务器在响应中的实体主体部分返回所得到的内容。

PATCH:实体中包含一个表,表中说明与该URI所表示的原内容的区别。

MOVE:请求服务器将指定的页面移至另一个网络地址。

COPY:请求服务器将指定的页面拷贝至另一个网络地址。

LINK:请求服务器建立链接关系。

UNLINK:断开链接关系。

WRAPPED:允许客户端发送经过封装的请求。

Extension-mothed:在不改动协议的前提下,可增加另外的方法。

比如:

GET /index.html HTTP/1.1

Accept: text/plain /*纯ASCII码文本文件*/

Accept: text/html /*HTML文本文件*/

User-Agent:Mozilla/4.5(WinNT)

说明浏览器使用Get方法请求文档/index.html。浏览器则只允许接收纯ASCII码文本文件和HTML文本文件,其使用的引擎是Mozilla/4.5(Netscape)。

当服务器响应时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明。现将5类状态码详细列出:

①客户方错误

100继续

101交换协议

②成功

200 OK

201 已创建

202接收

203非认证信息

204无内容

205 重置内容

206部分内容

③重定向

300 多路选择

301永久转移

302暂时转移

303参见其它

304 未修改(Not Modified)

305使用代理

④客户方错误

400错误请求(Bad Request)

401 未认证

402 需要付费

403禁止(Forbidden)

404未找到(Not Found)

405方法不允许

406不接受

407需要代理认证

408请求超时

409冲突

410 失败

411 需要长度

412条件失败

413 请求实体太大

414 请求URI太长

415 不支持媒体类型

⑤服务器错误

500服务器内部错误

501未实现(Not Implemented)

502网关失败

504 网关超时

505 HTTP版本不支持

比如:(在《TELNET……》一文中用telnet登陆80端口,相同的方法用在HTTP/1.1中,会发现没有显示,下面补充说明之)

telnet https://www.360docs.net/doc/1d12148229.html, 80

HEAD / HTTP/1.1

host:https://www.360docs.net/doc/1d12148229.html, /*本行为输入内容*/

HTTP/1.1 501 Method Not Implemented

Date: Web, 01 Nov 2000 07:12:29 GMT /*当前的日期/时间*/

Server: Apache/1.3.12 (Unix) /*Web服务器信息*/

Allow: GET, HEAD, OPTION, TRACE /*支持的方法类型*/

Connection: close

Connect-Type: Text/html; charset=iso-8859-1/*连接的媒体类型*/

501 Method</p><p>Not Implemented

Method Not Implemented

head to /inde

x.html not supported.

Invalid method in request head / htp/1.1


Apache/1.3.12 Server at https://www.360docs.net/doc/1d12148229.html, Port 80

关于实体头部的内容还可以有:

Last Modified :请求文档的最近修改时间。

Expires :请求文档的过期时间。

Connect-length:文档数据的长度。

WWW-authenricate:通知客户端需要的认证信息。

Connect-encoding :说明有无使用压缩技术。

Transfer-encoding :说明采用的编码变换类型。

随着Internet的发展,下一代的HTTP协议HTTP-ng已经在酝酿之中,它将会提供更好的安全性、更快的速度,其改进要点为:模块化强、网络效率高、安全性更好、结构更简单。

http协议请求响应报文格式及状态码详解

HTTP协议报文格式 HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 1. 创建TCP套接字连接 客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 2. 发送HTTP请求报文 客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 请求消息= 请求行(实体头信息)CRLF[实体内容] 请求行= 方法URL HTTP版本号CRLF 方法= GET|HEAD|POST|扩展方法 URL = 协议名称+宿主名+目录与文件名 其中"CRLF"表示回车换行。 "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾 与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 表15-8 HTTP请求方法

HTTP状态码查询

HTTP 1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ?100 - 继续。 ?101 - 切换协议。 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。 ?200 - 确定。客户端请求已成功。 ?201 - 已创建。 ?202 - 已接受。 ?203 - 非权威性信息。 ?204 - 无内容。 ?205 - 重置内容。 ?206 - 部分内容。 ?207 - 多状态 (WebDAV)。 3xx - 重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 ?301 - 已永久移动 ?302 - 对象已移动。 ?304 - 未修改。 ?307 - 临时重定向。 4xx - 客户端错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 ?400 - 错误的请求。 ?401 - 访问被拒绝。IIS 定义了几个不同的 401 错误,用于指示更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: o401.1 - 登录失败。 o401.2 - 服务器配置导致登录失败。 o401.3 - 由于 ACL 对资源的限制而未获得授权。 o401.4 - 筛选器授权失败。 o401.5 - ISAPI/CGI 应用程序授权失败。 o401.7 –由 Web 服务器上的 URL 验证策略拒绝访问。这个错误代码为IIS 6.0 所专用。 ?403 - 禁止访问:IIS 定义了几个不同的 403 错误,用于指示更为具体的错误原因:o403.1 - 执行访问被禁止。 o403.2 - 读访问被禁止。 o403.3 - 写访问被禁止。

HTTP返回值状态码

HTTP 状态码知道哪些? 1. 临时响应 100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP 协议版本 2. 成功 200——服务器成功返回网页 201——提示知道新文件的URL 202——接受和处理、但处理未完成。 203——返回信息不确定或不完整 204——请求收到,但返回信息为空。 205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件。206——服务器已经完成了部分用户的GET 请求 3. 重定向 300——请求的资源可在多处得到 301——删除请求数据 302——在其他地址发现了请求数据 303——建议客户访问其他URL 或访问方式 304——客户端已经执行了GET,但文件未变化。 305——请求的资源必须从服务器指定的地址得到 306——前一版本HTTP 中使用的代码,现行版本中不再使用。307——申明请求的资源临时性删除 4. 客户端错误 400——错误请求,如语法错误 401——请求授权失败 402——保留有效ChargeTo 头响应 403——请求不允许 404——请求的网页不存在 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 头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求。 5. 服务器错误 500——服务器产生内部错误 501——服务器不支持请求的函数 502——服务器暂时不可用,有时是为了防止发生系统过载。 503——服务器超时过载或暂停维修 504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长。505——服务器不支持或拒绝支请求头中指定的HTTP 版本

http请求响应过程

http请求与响应过程 (1)请求方法URI协议/版本 请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1 以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。 根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1目前支持7种请求方法:GET、POST、HEAD、OPTIONS、 PUT、DELETE和TARCE。 GET 请求获取由Request-URI所标识的资源。 POST 在Request-URI所标识的资源后附加新的数据。 HEAD 请求获取由Request-URI所标识的资源的响应消息报头。 OPTIONS 请求查询服务器的性能,或查询与资源相关的选项和需求。 PUT 请求服务器存储一个资源,并用Request-URI作为其标识。 DELETE 请求服务器删除由Request-URI所标识的资源。 TRACE 请求服务器回送收到的请求信息,主要用语测试或诊断。

在Internet应用中,最常用的方法是GET和POST。 URI完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最 后,协议版本声明了通信过程中使用HTTP的版本。 (2)服务器响应状态码 状态代码: 状态代码由3位数字组成,表示请求是否被理解或被满足。 状态描述: 状态描述给出了关于状态代码的简短的文字描述。 状态代码的第一个数字定义了响应的类别,后面两位没有具体的分类。 第一个数字有五种可能的取值: - 1xx: 指示信息—表示请求已接收,继续处理。 - 2xx: 成功—表示请求已经被成功接收、理解、接受。 - 3xx: 重定向—要完成请求必须进行更进一步的操作。 - 4xx: 客户端错误—请求有语法错误或请求无法实现。 - 5xx: 服务器端错误—服务器未能实现合法的请求。

http状态码定义(1)

附录1 状态码定义 表1HTTP协议定义状态码

表2WAPGW扩展状态码

1001---正常 1002---终端错误1003---服务端错误

HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 401.4 - 未授权:授权被筛选器拒绝 HTTP 401.5 - 未授权:ISAPI 或CGI 授权失败 HTTP 403 - 禁止访问 HTTP 403 - 对Internet 服务管理器的访问仅限于Localhost HTTP 403.1 禁止访问:禁止可执行访问 HTTP 403.2 - 禁止访问:禁止读访问 HTTP 403.3 - 禁止访问:禁止写访问 HTTP 403.4 - 禁止访问:要求SSL HTTP 403.5 - 禁止访问:要求SSL 128 HTTP 403.6 - 禁止访问:IP 地址被拒绝 HTTP 403.7 - 禁止访问:要求客户证书 HTTP 403.8 - 禁止访问:禁止站点访问 HTTP 403.9 - 禁止访问:连接的用户过多 HTTP 403.10 - 禁止访问:配置无效 HTTP 403.11 - 禁止访问:密码更改 HTTP 403.12 - 禁止访问:映射器拒绝访问 HTTP 403.13 - 禁止访问:客户证书已被吊销 HTTP 403.15 - 禁止访问:客户访问许可过多 HTTP 403.16 - 禁止访问:客户证书不可信或者无效 HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效HTTP 404.1 - 无法找到Web 站点 HTTP 404- 无法找到文件 HTTP 405 - 资源被禁止 HTTP 406 - 无法接受 HTTP 407 - 要求代理身份验证 HTTP 410 - 永远不可用 HTTP 412 - 先决条件失败 HTTP 414 - 请求- URI 太长 HTTP 500 - 内部服务器错误 HTTP 500.100 - 内部服务器错误- ASP 错误 HTTP 500-11 服务器关闭 HTTP 500-12 应用程序重新启动 HTTP 500-13 - 服务器太忙 HTTP 500-14 - 应用程序无效 HTTP 500-15 - 不允许请求global.asa Error 501 - 未实现 HTTP 502 - 网关错误

HTTP协议状态码的含义

Http返回状态码: 2开头表示成功返回; 3开头表示请求被重定向; 4开头表示由于客户端造成的错误; 5开头表示由于服务端造成的错误。 "100" : Continue "101" : witching Protocols "200" : OK "201" : Created "202" : Accepted "203" : Non-Authoritative Information "204" : No Content "205" : Reset Content "206" : Partial Content "300" : Multiple Choices "301" : Moved Permanently "302" : Moved temporarily status code "303" : See Other "304" : Not Modified "305" : Use Proxy "307" : Temporary Redirect "400" : Bad Request "401" : Unauthorized "402" : Payment Required "403" : Forbidden "404" : Not Found "405" : Method Not Allowed "406" : Not Acceptable "407" : Proxy Authentication Required "408" : Request Time-out "409" : Conflict "410" : Gone "411" : Length Required "412" : Precondition Failed "413" : Request Entity Too Large "414" : Request-URI Too Large "415" : Unsupported Media Type "416" : Requested range not satisfiable "417" : Expectation Failed "500" : Internal Server Error "501" : Not Implemented "502" : Bad Gateway "503" : Service Unavailable "504" : Gateway Time-out "505" : HTTP Version not supported 1**:请求收到,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100——客户必须继续发出请求 101——客户要求服务器根据请求转换 HTTP协议版本 200——交易成功 201——提示知道新文件的URL 202——接受和处理、但处理未完成 203——返回信息不确定或不完整 204——请求收到,但返回信息为空 205——服务器完成了请求,用户代理必 须复位当前已经浏览过的文件 206——服务器已经完成了部分用户的 GET请求 300——请求的资源可在多处得到 301——删除请求数据 302——在其他地址发现了请求数据 303——建议客户访问其他URL或访问方 式 304——客户端已经执行了GET,但文件 未变化 305——请求的资源必须从服务器指定的 地址得到 306——前一版本HTTP中使用的代码, 现行版本中不再使用 307——申明请求的资源临时性删除 4xx: Client Error使用者端(浏览器)错误 400——错误请求,如语法错误 401——请求授权失败 401.1 登入失败 401.2 因服务器设定问题造成登入失败 401.3 由于来源的ACL 问题而未授权 401.4 筛选器授权失败 401.5 ISAPI/CGI 应用程序授权失败 402——保留有效ChargeTo头响应 403——请求不允许 403.1 禁止执行存取 403.2 禁止读取存取 403.3 禁止写入存取 403.4 需要SSL 403.5 需要SSL 128 位加密 403.6 IP 地址被拒绝 403.7 需要客户端凭证 403.8 拒绝存取站台 403.9 太多的使用者 403.10 无效的设定 403.11 密码变更 403.12 对应程序拒绝存取 403.13 客户端凭证已撤销 403.14 目录清单被拒绝 403.15 超过客户端存取授权数 403.16 客户端凭证不被信任或者无效 403.17 客户端凭证已经过期或者无效 404——没有发现文件、查询或URL 405——用户在Request-Line字段定义 的方法不允许 406——请求资源不可访问 407——类似401,用户必须首先在代理 服务器上得到授权 408——客户端没有在用户指定的时间内 完成请求 409——对当前资源状态,请求不能完成 410——服务器上不再有此资源且无进一 步的参考地址 411——服务器拒绝用户定义的 Content-Length属性请求 412一个或多个请求头字段在当前请求中 错误 413请求的资源大于服务器允许的大小 414——请求的资源URL长于服务器允许 的长度 415——请求资源不支持请求项目格式 416——请求中包含Range请求头字段, 在当前请求资源范围内没有range指示 值,请求也不包含If-Range请求头字段 417——服务器不满足请求Expect头字 段指定的期望值,如果是代理服务器,可 能是下一级服务器不能满足请求 5xx: Server Error 服务器端错误讯息 错误码错误讯息说明 500——服务器产生内部错误 500.12 应用程序正在重新启动 500.13 服务器太忙碌 500.15 不允许Global.asa 的要求 500-100.asp ASP 错误 501——服务器不支持请求的函数 502——服务器暂时不可用,有时是为了 防止发生系统过载 503——服务器过载或暂停维修 504 关口过载,服务器使用另一个关口 或服务来响应用户,等待时间设定值较长 505——服务器不支持或拒绝支请求头中 指定的HTTP版本

HTTP代码大全

不知道大家上网是是否碰到过打开网页后报303,403等错误,让侯IE会给出一大堆的提示告诉你如何处理这些事,但是最后还是不能打开网页,有的人都认为是自己网络问题,其实不然,有时候网页的服务器负载也会出现这类的现象,所以大家就要好好了解下,到底代码所代表的意思了,HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码说明 100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码说明 200 (成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。 201 (已创建)请求成功并且服务器创建了新的资源。 202 (已接受)服务器已接受请求,但尚未处理。 203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容)服务器成功处理了请求,但没有返回任何内容。 205 (重置内容)服务器成功处理了请求,但没有返回任何内容。 206 (部分内容)服务器成功处理了部分GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向。 代码说明 300 (多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者(user agen t) 选择一项操作,或提供操作列表供请求者选择。 301 (永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对GET 或H EAD 请求的响应)时,会自动将请求者转到新位置。 302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 303 (查看其他位置)请求者应当对不同的位置使用单独的GET 请求来检索响应时,服务器返回此代码。 304 (未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 305 (使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。 307 (临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

HTTP协议的状态码

对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码。 HTTP状态码(HTTP Status Code)是用来表示网页服务器HTTP 响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 HTTP/1.1定义的状态码值和对应的原因短语(Reason-Phrase)的例子。 1XX表示:消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。 “100″ : Continue客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分. “101″ : witching Protocols 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade消息头中定义的那些协议。: 只有在切换新的协议更有好处的时候才应该采取类似措施. “102″: Processing由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 2XX表示:成功 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

HTTP状态码大全

HTTP状态码大全 HTTP 1.1中的状态码。这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。(自己电脑这边的问题) 500-599 用于支持服务器错误。(对方的问题) HttpServletResponse中的常量代表关联不同标准消息的状态码。在servlet程序中,你会更多地用到这些常量的标识来使用状态码。例如:你一般会使用response.setStatus(response.SC_NO_CONTENT)而不是response.setStatus(204),因为后者不易理解而且容易导致错误。但是,你应当注意到服务器允许对消息轻微的改变,而客户端只注意状态码的数字值。所以服务器可能只返回HTTP/1.1 200 而不是HTTP/1.1 200 OK。 100 (Continue/继续) 如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。在这种情况下,服务器用100(SC_CONTINUE)允许客户端继续或用417 (Expectation Failed)告诉客户端不同意接受附件。这个状态码是HTTP 1.1中新加入的。 101 (Switching Protocols/转换协议) 101 (SC_SWITCHING_PROTOCOLS)状态码是指服务器将按照其上的头信息变为一个不同的协议。这是HTTP 1.1中新加入的。 200 (OK/正常) 200 (SC_OK)的意思是一切正常。一般用于相应GET和POST请求。这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。 201 (Created/已创建) 201 (SC_CREA TED)表示服务器在请求的响应中建立了新文档;应在定位头信息中给出它的URL。 202 (Accepted/接受) 202 (SC_ACCEPTED)告诉客户端请求正在被执行,但还没有处理完。 203 (Non-Authoritative Information/非官方信息) 状态码203 (SC_NON_AUTHORITA TIVE_INFORMA TION)是表示文档被正常的返回,但是由于正在使用的是文档副本所以某些响应头信息可能不正确。这是HTTP 1.1中新加入的。 204 (No Content/无内容) 在并没有新文档的情况下,204 (SC_NO_CONTENT)确保浏览器继续显示先前的文档。这各状态码对于用户周期性的重载某一页非常有用,并且你可以确定先前的页面是否已经更新。例如,某个servlet可能作如下操作: int pageVersion =Integer.parseInt(request.getParameter("pageVersion"));

http请求头和响应状态码

用于HTTP请求中的常用请求头字段 Accept:用于告诉服务器,客户机支持的数据类型 Accept-Charset:用于告诉服务器,客户机采用的编码格式 Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式 Accept-Language:客户机的语言环境 Host:客户机通过这个头告诉服务器,想访问的主机名 If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间 Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)User-Agent:客户机通过这个头告诉服务器,客户机的软件环境 Cookie:客户机通过这个头可以向服务器带数据 Connection:处理完这次请求后是否断开连接还是继续保持连接 Date:当前时间值 HTTP响应 状态行:用于描述服务器对请求的处理结果。 状态码:100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。 200~299:表示成功接收请求并已完成整个处理过程。常用200 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存) 400~499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够) 500~599:服务器端出现错误,常用500 多个响应头:响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。

HTTP状态码详解

一些常见的状态码为: 200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用 所有状态解释: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码说明 100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码说明 200 (成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。 201 (已创建)请求成功并且服务器创建了新的资源。 202 (已接受)服务器已接受请求,但尚未处理。 203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容)服务器成功处理了请求,但没有返回任何内容。 205 (重置内容)服务器成功处理了请求,但没有返回任何内容。 206 (部分内容)服务器成功处理了部分GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向。 代码说明 300 (多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者(user agent) 选择一项操作,或提供操作列表供请求者选择。 301 (永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对GET 或HEAD 请求的响应)时,会自动将请求者转到新位置。

302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 303 (查看其他位置)请求者应当对不同的位置使用单独的GET 请求来检索响应时,服务器返回此代码。 304 (未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 305 (使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。 307 (临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。 代码说明 400 (错误请求)服务器不理解请求的语法。 401 (未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。403 (禁止)服务器拒绝请求。 404 (未找到)服务器找不到请求的网页。 405 (方法禁用)禁用请求中指定的方法。 406 (不接受)无法使用请求的内容特性响应请求的网页。 407 (需要代理授权)此状态代码与401(未授权)类似,但指定请求者应当授权使用代理。 408 (请求超时)服务器等候请求时发生超时。 409 (冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。410 (已删除)如果请求的资源已永久删除,服务器就会返回此响应。 411 (需要有效长度)服务器不接受不含有效内容长度标头字段的请求。 412 (未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。 413 (请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。414 (请求的URI 过长)请求的URI(通常为网址)过长,服务器无法处理。 415 (不支持的媒体类型)请求的格式不受请求页面的支持。

HTTP状态码大全

本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。400-499 用于指出客户端的错误。 500-599 用于支持服务器错误。 一些常见的状态代码为: 200 –服务器成功返回网页 404 –请求的网页不存在 503 –服务器暂时不可用 以下提供了 HTTP 状态代码的完整列表。 1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码。 100(继续|Continue)请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。 101(切换协议|Switching Protocols)请求者已要求服务器切换协议,服务器已确认并准备进行切换。 2xx(成功) 用于表示服务器已成功处理了请求的状态代码。

200(成功|OK)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的 robots.txt 文件显示为此状态,那么,这表示Googlebot已成功检索到该文件。 201(已创建|Created)请求成功且服务器已创建了新的资源。 202(已接受|Accepted)服务器已接受了请求,但尚未对其进行处理。 203(非授权信息|Non-Authoritative Information)服务器已成功处理了请求,但返回了可能来自另一来源的信息。 204(无内容|No Content)服务器成功处理了请求,但未返回任何内容。 205(重置内容Reset Content)服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。 206(部分内容|Partial Content)服务器成功处理了部分 GET 请求。 3xx(已重定向) 要完成请求,您需要进一步进行操作。通常,这些状态代码是永远重定向的。Google 建议您在每次请求时使用的重定向要少于 5 个。您可以使用网站管理员工具来查看Googlebot 在抓取您已重定向的网页时是否会遇到问题。诊断下的抓取错误页中列出了 Googlebot 由于重定向错误而无法抓取的网址。 300(多种选择|Multiple Choices)服务器根据请求可执行多种操作。服务器可根据请求者 (User agent) 来选择一项操作,或提供操作列表供请求者选择。 301(永久移动|Moved Permanently)请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码通知 Googlebot 某个网页或网站已被永久移动到新位置。 302(找到|Found)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。注意:在HTTP 1.0中,302表示消息是临时移动(Moved Temporarily)的而不是被找到。 303(参见其他信息|See Other)这个状态码和 301、302 相似,只是如果最初的请求是 POST,那么新文档(在定位头信息中给出)药用 GET 找回。这个状态码是新加入HTTP 1.1中的。

HTTP 1.1状态代码及含义

HTTP 状态代码及其含义 下表显示了常见的HTTP 状态代码以及它们对应的状态信息和含义。 应当谨慎地使用那些只有HTTP 支持的状态代码,因为许多浏览器还只能够支持HTTP 。如果你使用了HTTP 特有的状态代码,最好能够检查一下请求的HTTP版本号。

HTTP的早期版本为HTTP/,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各种应用的需要。但HTTP/作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。HTTP/包含 Simple-Request&Simple-Responsed的报文结构。但是客户无法使用内容协商,所以服务器也无法返回实体的媒体类型。 1982年,Tim Berners-Lee提出了HTTP/,在此后的不断丰富和发展中,HTTP/成为最重要的面向事务的应用层协议。该协议对每一次请求/响应,建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生下列问题:对用户请求响应慢、网络拥塞严重、安全性等。 1997年形成的HTTP/,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。 另外,HTTP/服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端在发生连接中断时,会自动的重传请求,保证数据的完整性。 HTTP/还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/中的Cache缓存机制对HTTP/的不足之处的改进,它严格全面,

http协议(四)http状态码

http协议(四)http状态码 一:http状态码 表示客户端http请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作状态码的类别如下: http状态码种类繁多,大概有60多种,实际上经常使用的只有14种,下面为一一介绍 1、2XX 成功:请求被正常处理 1.1 200 OK 表示从客户端发来的请求在服务器端被正常处理 1.2 204 No Content 表示服务器接收的请求以成功处理,但没有资源可返回,即:响应报文中不含实体的主体部分1.3 206 Partial Content 表示客户端进行了范围请求且服务器成功执行了这部分的GET请求,响应报文中包含由Content_Range指定范围的实体内容 “Content_Range为请求首部的一种类型,后面的随笔会讲到” 2、3XX 重定向:服务器需要执行某些特殊处理以正确处理请求(即URI地址或者资源的缓存的资源有效时间过期) 2.1 301 Moved Permanently 永久性重定向:表示请求的资源已被分配了新的URI,以后应使用资源现在的URI,如果已经保存了书签,这时候应该按照Location首部提示的URI重新保存 2.2 302 Found 临时性重定向:表示请求的资源已被分配到了新的URI,希望(本次)能使用新的URI访问2.3 303 See Other 表示请求对应的资源存在另一个URI,应该使用GET方法定向获取请求的资源 PS:当301、302、303响应状态码返回,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求自动再次发送 301、302标准禁止将POST改为GET,但实际中都会允许这么做~~~GG 2.4 304 Not Modified 表示客户端发送得附带条件的请求时,服务器运行请求访问,但未满足条件的情况,304返回时,不包含任何响应的主体部分 附带条件:采用GET方法的请求报文中包含If-......条件的任一首部,后面的随笔中介绍2.5 307 Temporary Redirect 临时重定向:禁止将POST转换为GET,该状态码会严格遵守浏览器标准 3、客户端错误:4XX的响应结果表明客户端是发生错误的原因所在 3.1 400 Bad Ruquest

4开头http状态码大全要求就属你最多

"4"开头http状态码大全,要求就属你最多 文章:云客网 前面呀粗略讨论过4开头的http状态码,但是那个时候主要是为了吐槽一下“4”开头http状态码的“多事”。简单来说就是吐槽一下“4开头的状态码都不是什么好事”这件事,这里的“好事”主要是指4开头的代表的都是错误禁止等等一般不令人愉快的消息,可不是让人不得不吐槽嘛。 400,Bad Request客户端请求的语法错误,服务器无法理解 401Unauthorized请求要求用户的身份认证 402Payment Required保留,将来使用 404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面

405Method Not Allowed客户端请求中的方法被禁止 406Not Acceptable服务器无法根据客户端请求的内容特性完成请求 407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授 408Request Time-out服务器等待客户端发送的请求时间过长,超时 409Conflict服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突 410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置 411Length Required服务器无法处理客户端发送的不带Content-Length 的请求信息 412Precondition Failed客户端请求信息的先决条件错误 403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求

http协议状态码含义大全及故障解决

当用户在防问Internet信息服务(IIS)的服务器上的内容时时,IIS服务器响应请求,会自动返回一个表示该请求的状态的数字代码,提供关于相关请求的状态信息。同样当搜索引擎蜘蛛在抓取的过程中,服务器也会将相关的http状态码反馈给搜索引擎,搜索引擎通过了解http状态代码, 可以更详细的分析日志中的访问情况。 100 - 表示已收到请求的一部分,正在继续发送余下部分。 101 - 切换协议。 2xx - 成功服务器成功地接受了客户端请求。 200 - 确定。客户端请求已成功。 201 - 已创建。 202 - 已接受。 203 - 非权威性信息。 204 - 无内容。 205 - 重置内容。 206 - 部分内容。 300 - 针对收到请求,服务器可执行多种操作。 301 - 永久移动转移,请求的内容已永久移动其他新位置。 302 - 临时移动转移,请求的内容已临时移动新的位置 304 - 未修改。自从上次请求后,请求的内容未修改过。 307 - 临时重定向。服务器目前从不同位置响应请求,但请求者应继续使用原有位置来进行以后的请求。 400 - 错误的请求。 401 -访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错代码在浏览器中显示,但不在IIS 日志中显示: 401.1 - 登录失败。 401.2 - 服务器配置导致登录失败。 401.3 - 由于ACL 对资源的限制而未获得授权。 401.4 - 筛选器授权失败。 401.5 - ISAPI/CGI 应用程序授权失败。 401.7 - 访问被Web 服务器上的URL 授权策略拒绝。这个错误代码为IIS 6.0 所专用。403 - 禁止访问:IIS 定义了许多不同的403 错误,它们指明更为具体的错误原因:403.1 - 执行访问被禁止。 403.2 - 读访问被禁止。 403.3 - 写访问被禁止。 403.4 - 要求SSL. 403.5 - 要求SSL 128. 403.6 - IP 地址被拒绝。 403.7 - 要求客户端证书。 403.8 - 站点访问被拒绝。 403.9 - 用户数过多。 403.10 - 配置无效。 403.11 - 密码更改。 403.12 - 拒绝访问映射表。 403.13 - 客户端证书被吊销。 403.14 - 拒绝目录列表。

服务器返回状态码大全

服务器返回状态码大全 服务器返回状态码 本文摘自:https://www.360docs.net/doc/1d12148229.html,/531758291/blog/item/b6d4dd1b2de1a15443a9addf.html 服务器返回的各种状态码到底表示什么意思呢,哪些说明没有问题,哪些返回状态是出问题了,这个返回状态码表示的是什么意思,下面是服务器各种返回状态码的意义: 100(继续)请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。 101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备进行切换。 200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的robots.txt 文件显示为此状态,那么,这表示Googlebot 已成功检索到该文件。 201(已创建)请求成功且服务器已创建了新的资源。 202(已接受)服务器已接受了请求,但尚未对其进行处理。 203(非授权信息)服务器已成功处理了请求,但返回了可能来自另一来源的信息。 204(无内容)服务器成功处理了请求,但未返回任何内容。 205(重置内容)服务器成功处理了请求,但未返回任何内容。与204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。 206(部分内容)服务器成功处理了部分GET 请求。 300(多种选择)服务器根据请求可执行多种操作。服务器可根据请求者(User agent) 来选择一项操作,或提供操作列表供请求者选择。 301(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对GET 或HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码通知Googlebot 某个网页或网站已被永久移动到新位置。 302(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET 和HEAD 请求的301 代码类似,会自动将请求者转到不同的位置。但由于Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知Googlebot 某个页面或网站已被移动。 303(查看其他位置)当请求者应对不同的位置进行单独的GET 请求以检索响应时,服务器会返回此代码。对于除HEAD 请求之外的所有请求,服务器会自动转到其他位置。 304(未修改)自从上次请求后,请求的网页未被修改过。服务器返回此响应时,不会返回网页内容。

相关文档
最新文档