HTTP协议的状态

先来说一下HTTP协议的运作方式  
       HTTP
协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。  
       
它分四个过程,在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。
HTTP
协议状态码表示的意思  
  1××  保留  
  2××  表示请求成功地接收  
  3××  为完成请求客户需进一步细化请求  
  4××  客户错误  
  5××  服务器错误  
1xx-信息提示 www.phperz.com 
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 
100-
继续。 
101-
切换协议。 
2xx-成功 
这类状态代码表明服务器成功地接受了客户端请求。 
200-
确定。客户端请求已成功。 
201-
已创建。 
202-
已接受。 
203-
非权威性信息。 
204-
无内容。 
205-
重置内容。 
206-
部分内容。 
3xx-重定向 
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 
301-
对象已永久移走,即永久重定向。 
302-
对象已临时移动。 
304-
未修改。 
307-
临时重定向。 
4xx-客户端错误 
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 
401-
访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 
401.1-
登录失败。

php程序员站


401.2-
服务器配置导致登录失败。 
401.3-
由于ACL对资源的限制而未获得授权。 
401.4-
筛选器授权失败。 
401.5-ISAPI/CGI
应用程序授权失败。 
401.7–
访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。 
403-
禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因: 
403.1-
执行访问被禁止。 
403.2-
读访问被禁止。 
403.3-
写访问被禁止。 
403.4-
要求SSL 
403.5-
要求SSL128 
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。这个错误代码为IIS6.0所专用。 
403.19-
不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。 
403.20-Passport
登录失败。这个错误代码为IIS6.0所专用。

php程序员之家


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
授权凭据不正确。这个错误代码为IIS6.0所专用。 
500.18–URL
授权存储不能打开。这个错误代码为IIS6.0所专用。 
500.100-
内部ASP错误。 
501-
页眉值指定了未实现的配置。 
502-Web
服务器用作网关或代理服务器时收到了无效响应。 phperz.com 
502.1-CGI
应用程序超时。 
502.2-CGI
应用程序出错。application. 
503-
服务不可用。这个错误代码为IIS6.0所专用。 
504-
网关超时。 
505-HTTP
版本不受支持。 

 

根据http协议,http响应结果都会带有http状态码.有经验的web开发者对http状态码不会陌生的.使用FireFox浏览器请求网页,打开FireBug监测,即可看到响应的状态码

示例1:第一次请求(清空缓存,本地临时文件)http://www.google.cn 


响应成功,状态码为200. 

示例2:第二次请求(清空缓存,本地临时文件)http://www.google.cn 


由于js和图片文件被客户端缓存了,第二次请求服务器发现没有文件没有变化,返回状态码304,不用重新下载

示例3.请求http://www.google.cn/d.htm 


d.htm服务器根本就没有,所以返回404. 

示例4:asp.net黄页

 

 如果服务器程序出错.(我故意抛出一个异常).返回的状态码为500.

 

posted @ 2012-02-05 15:56  漠北风  阅读(693)  评论(0编辑  收藏  举报