http状态码定义(1)

http状态码定义(1)
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 或文件传输协议(FTP) 访问一台正在运行Internet 信息服务(IIS) 的服务器上

的内容时,IIS 返回一个表示该请求的状态的数字代码。该状态代码记录在IIS 日志中,同时也可能在Web 浏览器或FTP 客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

日志文件的位置

在默认状态下,IIS 把它的日志文件放在%WINDIRSystem32Logfiles 文件夹中。每个万维网(WWW) 站点和FTP 站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。

HTTP

1xx - 信息提示

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx 响应。? 100 - 继续。

? 101 - 切换协议。

2xx - 成功

这类状态代码表明服务器成功地接受了客户端请求。? 200 - 确定。客户端请求已成功。

? 201 - 已创建。

? 202 - 已接受。

? 203 - 非权威性信息。

? 204 - 无内容。

? 205 - 重置内容。

? 206 - 部分内容。

3xx - 重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。? 302 - 对象已移动。

? 304 - 未修改。

? 307 - 临时重定向。

4xx - 客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。? 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 - 拒绝目录列表。

? 403.15 - 超出客户端访问许可。

? 403.16 - 客户端证书不受信任或无效。

? 403.17 - 客户端证书已过期或尚未生效。

? 403.18 - 在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS 6.0 所专用。? 403.19 - 不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS 6.0 所专用。

? 403.20 - Passport 登录失败。这个错误代码为IIS 6.0 所专用。

? 404 - 未找到。? 404.0 -(无)–没有找到文件或目录。

? 404.1 - 无法在所请求的端口上访问Web 站点。

? 404.2 - Web 服务扩展锁定策略阻止本请求。

? 404.3 - MIME 映射策略阻止本请求。

? 405 - 用来访问本页面的HTTP 谓词不被允许(方法不被允许)

? 406 - 客户端浏览器不接受所请求页面的MIME 类型。

? 407 - 要求进行代理身份验证。

? 412 - 前提条件失败。

? 413 –请求实体太大。

? 414 - 请求URI 太长。

? 415 –不支持的媒体类型。

? 416 –所请求的范围无法满足。

? 417 –执行失败。

? 423 –锁定的错误。

5xx - 服务器错误

服务器由于遇到错误而不能完成该请求。? 500 - 内部服务器错误。? 500.12 - 应用程序正忙于在Web 服务器上重新启动。

? 500.13 - Web 服务器太忙。

? 500.15 - 不允许直接请求Global.asa。

? 500.16 – UNC 授权凭据不正确。这个错误代码为IIS 6.0 所专用。

? 500.18 – URL 授权存储不能打开。这个错误代码为IIS 6.0 所专用。

? 500.100 - 内部ASP 错误。

? 501 - 页眉值指定了未实现的配置。

? 502 - Web 服务器用作网关或代理服务器时收到了无效响应。? 502.1 - CGI 应用程序超时。

? 502.2 - CGI 应用程序出错。application.

? 503 - 服务不可用。这个错误代码为IIS 6.0 所专用。

? 504 - 网关超时。

? 505 - HTTP 版本不受支持。

常见的HTTP 状态代码及其原因

? 200 - 成功。此状态代码表示IIS 已成功处理请求。

? 304 - 未修改。客户端请求的文档已在其缓存中,文档自缓存以来尚未被修改过。客户端使用文档的缓存副本,而不从服务器下载文档。

? 401.1 - 登录失败。登录尝试不成功,可能因为用户名或密码无效。

? 401.3 - 由于ACL 对资源的限制而未获得授权。这表示存在NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果IUSR 帐户无权访问C:WinntSystem32Inetsrv 目录,您会看到这个错误。有关如何解决此问题的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

187506 INFO: IIS 4.0 的基础NTFS 权限

? 403.1 - 执行访问被禁止。下面是导致此错误信息的两个常见原因:? 您没有足够的执行许可。例如,如果试图访问的ASP 页所在的目录权限设为“无”,或者,试图执行的CGI 脚本所在的目录权限为“只允许脚本”,将出现此错误信息。若要修改执行权限,请在Microsoft 管理控制台(MMC) 中右击目录,然后依次单击属性和目录选项卡,确保为试图访问的内容设置适当的执行权限。

? 您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET 或POST)。若要验证这一点,请在MMC 中右击目录,依次单击属性、目录选项卡和配置,然后验证相应文件类型的脚本映射是否设置为允许所使用的谓词。

? 403.2 - 读访问被禁止。验证是否已将IIS 设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。有关如何解决此问题的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

247677 错误信息:403.2 Forbidden:Read Access Forbidden(403.2 禁止访问:读访问被禁止)? 403.3 - 写访问被禁止。验证IIS 权限和NTFS 权限是否已设置以便向该目录授予写访问权。有关如何解决此问题的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

248072 错误信息:403.3 Forbidden:Write Access Forbidden(403.3 禁止访问:写访问被禁止)? 403.4 - 要求SSL。禁用要求安全通道选项,或使用HTTPS 代替HTTP 来访问该页面。如果没有安装证书的Web 站点出现此错误,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:224389 错误信息:HTTP 错误403、403.4、403.5 禁止访问:要求SSL

? 403.5 - 要求SSL 128。禁用要求128 位加密选项,或使用支持128 位加密的浏览器以查看该页面。如果没有安装证书的Web 站点出现此错误,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

224389 错误信息:HTTP 错误403、403.4、403.5 禁止访问:要求SSL

? 403.6 - IP 地址被拒绝。您已把您的服务器配置为拒绝访问您目前的IP 地址。有关如何解决此问题的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

248043 错误信息:403.6 - Forbidden:IP Address Rejected(403.6 - 不可用:IP 地址被拒绝)? 403.7 - 要求客户端证书。您已把您的服务器配置为要求客户端身份验证证书,但您未安装有效的客户端证书。有关其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

190004 错误403.7 或“Connection to Server Could Not Be Established”(无法建立与服务器的连接)

186812 PRB:错误信息:403.7 Forbidden:Client Certificate Required(403.7 禁止访问:要求客户端证书)

? 403.8 - 站点访问被拒绝。您已为您用来访问服务器的域设置了域名限制。有关如何解决此问题的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

248032 错误信息:Forbidden:Site Access Denied 403.8(禁止访问:站点访问被拒绝403.8)? 403.9 - 用户数过多。与该服务器连接的用户数量超过了您设置的连接限制。有关如何更改此限制的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

248074 错误信息:Access Forbidden:Too Many Users Are Connected 403.9(禁止访问:连接的用户太多403.9)

注意:Microsoft Windows 2000 Professional 和Microsoft Windows XP Professional 自动设置了在IIS 上最多10 个连接的限制。您无法更改此限制。

? 403.12 - 拒绝访问映射表。您要访问的页面要求提供客户端证书,但映射到您的客户端证书的用户ID 已被拒绝访问该文件。有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:248075 错误信息:HTTP 403.12 - Access Forbidden:Mapper Denied Access(HTTP 403.12 - 禁止访问:映射表拒绝访问)

? 404 - 未找到。发生此错误的原因是您试图访问的文件已被移走或删除。如果在安装URLScan 工具之后,试图访问带有有限扩展名的文件,也会发生此错误。这种情况下,该请求的日志文件项中将出现“Rejected by URLScan”的字样。

? 500 - 内部服务器错误。很多服务器端的错误都可能导致该错误信息。事件查看器日志包含更详细的错误原因。此外,您可以禁用友好HTTP 错误信息以便收到详细的错误说明。有关如何禁用友好HTTP 错误信息的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

294807 如何在服务器端禁用Internet Explorer 5 的“显示友好HTTP 错误信息”功能

? 500.12 - 应用程序正在重新启动。这表示您在IIS 重新启动应用程序的过程中试图加载ASP 页。刷新页面后,此信息即会消失。如果刷新页面后,此信息再次出现,可能是防病毒软件正在扫描Global.asa 文件。有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

248013 错误信息:HTTP Error 500-12 Application Restarting(HTTP 错误500-12 应用程序正在重新启动)

? 500-100.ASP - ASP 错误。如果试图加载的ASP 页中含有错误代码,将出现此错误信息。若要获得更确切的错误信息,请禁用友好HTTP 错误信息。默认情况下,只会在默认Web 站点上启用此错误信息。有关如何在非默认的Web 站点上看到此错误信息的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

261200 显示HTTP 500 错误信息,而不显示500-100.asp 的ASP 错误信息

? 502 - 网关错误。如果试图运行的CGI 脚本不返回有效的HTTP 标头集,将出现此错误信息。

FTP

1xx - 肯定的初步答复

这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。? 110 重新启动标记答复。

? 120 服务已就绪,在nnn 分钟后开始。

? 125 数据连接已打开,正在开始传输。

? 150 文件状态正常,准备打开数据连接。

2xx - 肯定的完成答复

一项操作已经成功完成。客户端可以执行新命令。? 200 命令确定。

? 202 未执行命令,站点上的命令过多。

? 211 系统状态,或系统帮助答复。

? 212 目录状态。

? 213 文件状态。

? 214 帮助消息。

? 215 NAME 系统类型,其中,NAME 是Assigned Numbers 文档中所列的正式系统名称。

? 220 服务就绪,可以执行新用户的请求。

? 221 服务关闭控制连接。如果适当,请注销。

? 225 数据连接打开,没有进行中的传输。

? 226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。

? 227 进入被动模式(h1,h2,h3,h4,p1,p2)。

? 230 用户已登录,继续进行。

? 250 请求的文件操作正确,已完成。

? 257 已创建“PATHNAME”。

3xx - 肯定的中间答复

该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。? 331 用户名正确,需要密码。

? 332 需要登录帐户。

? 350 请求的文件操作正在等待进一步的信息。

4xx - 瞬态否定的完成答复

该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。? 421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。

? 425 无法打开数据连接。

? 426 Connection closed; transfer aborted.

? 450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。

? 451 请求的操作异常终止:正在处理本地错误。

? 452 未执行请求的操作。系统存储空间不够。

5xx - 永久性否定的完成答复

该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。? 500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。

? 501 在参数中有语法错误。

? 502 未执行命令。

? 503 错误的命令序列。

? 504 未执行该参数的命令。

? 530 未登录。

? 532 存储文件需要帐户。

? 550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。

? 551 请求的操作异常终止:未知的页面类型。

? 552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。

? 553 未执行请求的操作。不允许的文件名。

常见的FTP 状态代码及其原因

? 150 - FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码150 表示服务器准备在端口20 上打开新连接,发送一些数据。

? 226 - 命令在端口20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。? 230 - 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。

? 331 - 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。

? 426 - 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。

? 530 - 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。

? 550 - 命令未被执行,因为指定的文件不可用。例如,要GET 的文件并不存在,或试图将文件PUT 到您没有写入权限的目录。

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协议 什么是HTTP协议 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。 使用telnet程序连上web服务器,并使用HTTP协议获取某个页面,以快速了解HTTP协议的作用。 安装IE浏览器插件HttpWatch,查看IE浏览器通过HTTP协议获取某个页面。HTTP协议简介 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。 HTTP协议的版本:HTTP/1.0、HTTP/1.1 HTTP1.0和HTTP1.1的区别 在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。 使用telnet举例说明。 一个好多同学搞不清楚的问题: 一个web页面中,使用img标签引用了三幅图片,当客户端访问服务器中的这个web页面时,客户端总共会访问几次服务器,即向服务器发送了几次HTTP 请求。 HTTP请求 客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容: 一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。如下所示: 举例: HTTP请求的细节——请求行 请求行中的GET称之为请求方式,请求方式有: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT 常用的有:POST、GET 不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上,客户端通过这两种方式都可以带一些数据给服务器:

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协议 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。是用于从万维网(Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP/0.9 已过时。只接受GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST 方法,所以客户端无法向服务器传递太多信息。 HTTP/1.0 这是第一个在通讯中指定版本号的HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。 HTTP/1.1相较于HTTP/1.0 协议的区别主要体现在: ?缓存处理 ?带宽优化及网络连接的使用 ?错误通知的管理 ?消息在网络中的发送 ?互联网地址的维护 ?安全性及完整性

HTTP 工作原理 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: ?HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 ?HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 ?HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 以下图表展示了HTTP协议通信流程:

完整word版Http协议解说

Http协议:超文本传输协议 浏览器与服务端之间传输数据的协议,底层的传输协议为TCP。Http则为应用层协议,负责定义传输数据的格式 HTTP协议分为1.0与1.1两个版本。现在常用为1.1版本。 协议规定客户端与服务端通讯方式为:一次请求一次响应,即:客户端 发起请求,服务端接收到请求后向客户端发送响应。服务端不会主动发送内容 给客户端。采取“一问一答”的形式 HTTP 请求和响应分别定义了个格式。并且,无论是请求还是响应中发送的字符(不含正文部分内容)都只能符合ISO8859-1编码字符(如:数字,字母,符号). 像中文等其它字符都需要经过处理后才可以发送。 HTTP请求格式: 一个HTTP请求分为三部分组成:请求行,消息头,消息正文 1:<请求行> :

请求行分为三部分 请求方法资源路径协议(CRLF) method(请求方法)url(资源路径) protocol(CRLF) 例如: GET /index.html HTTP/1.1(CRLF) 请求行以CRLF结束(回车加换行) CR:回车符,asc编码中对应数字13 LF:换行符,asc编码中对应数字10 2.<消息头> 消息头由若干行表示,每行表示一个具体的头信息,每个头信息式分为两部分: 消息头名字:消息头的值(CRLF) name: value(CRLF) 每个消息头都以CRLF结尾。 最后一个消息头结尾处会有两个CRLF,第一个表示最后一个消息头结束, 第二个表示消息头(整个)部分结束。 例如: Host: www.localhost:8080(CRLF) Connection: keep-alive(CRLF)

HTTP协议的头信息详解

HTTP 协议的头信息详解 HTTP 协议的头信息详解 通常HTTP 消息包括客户机向服务器的请求消息和服务器向 客户机的响应消息。这两种类型的消息由一个起始行, 或者多个头域,一个只是头域结束的空行和可选的消息体 组成。HTTP 的头域包括通用头,请求头,响应头和实体头 四个部分。每个头域由一个域名,冒号:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空 格符,头域可以被扩展为多行,在每行开始处,使用至少 个空格或制表符。通用头域通用头域包含请求和响 应消息都支持的头域,通用头域包含Cache-Control 、 Connection 、Date 、Pragma 、Transfer-Encoding 、 Upgrade 、 Via 。对通用头域的扩展要求通讯双方都支持此扩展,如果 存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP 消息中使用的通用头域。 Cache-Control 头域Cache -Control 指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control 并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache 、no-store 、max-age 、max-stale 、

min-fresh 、 only-if-cached ,响应消息中的指令包括 public 、 private 、no-cache 、no- store 、no-transform 、must-revalidate 、 proxy-revalidate 、max-age 。各个消息中的指令含义如 下: 个用户的整个或部分响应消息,不能被共享缓存处理。这允 许服务器仅仅描述当用户的部分响应消息,此响应消息对于 其他用户的请求无效。 no-cache 指示请求或响应消息不能 缓存 no-store 用于防止重要的信息被无意的发布。 在请求消 指示客户机可以接收生存期不大于指定时间(以秒为单位) 的响应。 min-fresh 指示客户机可以接收响应时间小于当前 超出超时期间的响应消息。如果指定 max-stale 消息的值, 那么客户机可以接收超出超时期指定值之内的响应消息。 Date 头域 Date 头域表示消息发送的时间, 时间的描述格式 由 rfc822 定义。例如,Date:Mon,31Dec200104:25:57GMT 。 Date 描述的时间表示世界标准时, 换算成本地时间, 需要知 包含实现特定的指令,最常用的是 Pragma:no-cache 。 HTTP/1.1 协议中, 它的含义和 Cache- Control:no-cache MethodSPRequest-URISPHTTP-VersionCRLFMethod Public 指示响应可被任何缓存区缓存。 Private 指示对于单 息中发送将使得请求和响应消息都不使用缓存。 max-age 时间加上指定时间的响应。 max-stale 指示客户机可以接收 道用户所在的时区。 Pragma 头域 Pragma 头域用来 同。 请求消息 请求消息的第一行为下面的格式:

http协议精华

http协议学习系列 1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 1.2 在TCP/IP协议栈中的位置 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: 默认HTTP的端口号为80,HTTPS的端口号为443。 1.3 HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。见下图: 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。 HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 1.4 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。 2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

HTTP协议详解,你所不知道的

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示 我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。 过程如下图所示

代理服务器就是网络信息的中转站,有什么功能呢? 1. 提高访问速度,大多数的代理服务器都有缓存功能。 2. 突破限制,也就是翻-墙了 3. 隐藏身份。 URL详解 URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下 schema://host[:port#]/path/.../[?query-string][#anchor] scheme 指定低层使用的协议(例如:http, https, ftp) host HTTP服务器的IP地址或者域名 port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如https://www.360docs.net/doc/4816828525.html,:8080/ path 访问资源的路径 query-string 发送给http服务器的数据 anchor- 锚 URL 的一个例子 https://www.360docs.net/doc/4816828525.html,/sj/test/test.aspx?name=sviergn&x=true#stuff Schema: http host: https://www.360docs.net/doc/4816828525.html, path: /sj/test Query String: name=sviergn&x=true Anchor: stuff 复制代码

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状态码

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

HTTP协议详解

当今web程序的开发技术真是百家争鸣,https://www.360docs.net/doc/4816828525.html,, PHP, JSP,Perl, AJAX 等等。无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response, 关于Fiddler工具的用法,请看我另一篇博客[Fiddler 教程] 阅读目录 1. 什么是HTTP协议 2. Web服务器,浏览器,代理服务器 3. URL详解 4. HTTP协议是无状态的 5. 打开一个网页需要浏览器发送很多次Request 6. HTTP消息的结构 7. Get和Post方法的区别 8. 状态码 9. HTTP Request header 10. HTTP Response header 11. HTTP协议是无状态的和Connection: keep-alive的区别 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response 中的HTML,这样我们就看到了网页,过程如下图所示

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中的。

相关文档
最新文档