首页 > 网站 > 建站经验 > 正文

各类Http请求状态(status)及其含义详细解析

2019-11-02 14:07:25
字体:
来源:转载
供稿:网友

Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答

头,一个空行,内容文档。下面是一个最简单的应答   :

状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之

外的所有应答头都是可选的。但Content-Type是必需的,它描述的是后面文档的MIME类型。虽然大多数应答

都包含一个文档,但也有一些不包含,例如对HEAD请求的应答永远不会附带文档。有许多状态代码实际上用

来标识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)。

当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个

表示该请求的状态的数字代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

1xx - 信息提示

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。
・ 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)
・ 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)

2xx - 成功

这类状态代码表明服务器成功地接受了客户端请求。
・ 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。
・ 201 - Created 服务器已经创建了文档,Location头给出了它的URL。
・ 202 - Accepted 已经接受请求,但处理尚未完成。
・ 203 - Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的

是文档的拷贝,非权威性信息(HTTP 1.1新)。
・ 204 - No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而

Servlet可以确定用户文档足够新,这个状态代码是很有用的。
・ 205 - Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输

入内容(HTTP 1.1新)。
・ 206 - Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。

3xx - 重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过

代理服务器重复该请求。
・ 300 - Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如

果服务器要提出优先选择,则应该在Location应答头指明。
・ 301 - Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动

地访问新的URL。
・ 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 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since

头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表