一. HTTP状态码是用以表示网页服务器HTTP响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一。当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码。该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示。也就是我们打开页面发生错误时,浏览器显示的错误信息代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
HTTP协议状态码表示的意思主要分为五类,大体是:
- 1××:保留
- 2××:表示请求成功地接收
- 3××:为完成请求客户需进一步细化请求
- 4××:客户错误
- 5××:服务器错误
下面是一些常见的HTTP状态码
- 500 (内部服务器错误):
对HTTP 500错误的定义已经充分证明了这是一个最常见的HTTP错误。 一般来说,HTTP 500 错误会在服务器的程序码出错时出现,或者web服务器发生内部错误时返回的信息。 例如,web服务器过载时将无法正确处理访问请求。
2. 502 (无效网关):
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
3. 503 (服务不可用):
503错误也是服务器问题,表示服务当前不可用(Service unavaiable),可能是因为当前服务器繁忙无法处理请求,比如连接数太高,cpu繁忙等。
4. 404 (文件未找到):
大多数人都知道这个错误。 当用户试图访问Web服务器(通常是一个网页)上某个实际不存在的资源时,就会发生404错误。404错误可能是由无效的链接引起,也可能是URL拼写错误,还可能是因为虚拟主机将所请求页面移到其他地方(或删除所请求页面)。 一些网站设置了自定义页面以防止坏链接所产生的不良影响。
5. 403 (禁止访问):
403错误类似于401错误,不同之处在于401错误是未经授权,而403错误是禁止访问。 任何登录对403错误都不起作用。 尝试访问(被禁止的)网站目录时,就会发生403错误。
6. 400 (错误请求):
Web服务器通过返回HTTP 400错误告诉访问者,访问者用来访问网站的程序出错,或访问请求途中遭到破坏。
7. 401 (未经授权):
访问者试图访问受限页面但未经授权时,网站返回HTTP 401错误。错误登录尝试是导致这一错误的主因。
8. 301 (永久重定向):
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。
9. 302 (临时重定向):
请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
10.304 (Not Modified)
If-None-Match
或If-Modified-Since
。如果是 200
OK
,响应会带有头部 Cache-Control
, Content-Location
, Date
, ETag
, Expires
。11. 200 (请求成功):
请求已成功,请求所希望的响应头或数据体将随此响应返回。
12. 206 (部分内容):
服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具,都是使用此类响应实现断点续传,或者将一个大文档分解为多个下载段同时下载。