美文网首页
HTTP状态码

HTTP状态码

作者: 小码弟 | 来源:发表于2019-01-15 12:06 被阅读0次

    HTTP状态码表示客户端请求的请求结果、标记服务器是否发生异常、给出错误原因。

    1. 状态码分类

    状态码由3位数字和原因短语组成。
    数字的第一位指定响应类别,后两位无指定意义。

    Snip20190115_11.png

    标准的状态码总共有60多种。实际上经常使用的大概有14种。

    2. 2xx成功

    2xx的响应结果表示请求被成功处理了。

    2.1 200 OK

    在响应报文中,随状态码一起返回的信息会随着请求方法的不同而发生变化。比如,GET方法会使得对应资源的资源实体作为响应返回;而HEAD方法只产生携带首部信息的响应。

    2.2 204 No Content

    该状态码表示请求已经被成功执行,但是没有合适的资源返回,主体实体部分为空。当浏览器收到204状态码时,页面不发生更新。
    一般在只需要从客户端往服务器发送信息,而不需要服务器响应新内容时使用。

    2.3 206 Partial Content

    该状态码表示客户端进行范围请求(Range Request),而服务器成功执行了这部分的请求。响应报文中的Content-Range字段指定了范围实体的内容。
    这一状态在断点续传时常用。

    3. 3xx重定向

    3xx响应表示浏览器需要执行某种特殊的处理以正确处理请求。

    3.1 301 Moved Permanently

    永久性重定向。该状态码表示该资源已经被重新分配了新的URI(URL包含了URL)。后面对该资源的请求应该指向新的URL

    3.2 302 Found

    临时性重定向。该状态码表示请求的资源已经被分配了新的URI。希望用户本次能访问到新的URI。
    和301 永久重定向相似。但302代表资源不是永久性移动,而是临时性的。也就是说,后面还有可能变化。

    3.3 303 See Other

    该状态码表示由于请求的对应资源存在另一个URI,应使用GET方法定向获取那个资源。
    303 和 302 功能类似。区别在于 303 明确要求浏览器使用GET方法获取新的URI。

    当301、302、303响应状态码返回时,几乎所有浏览器会把POST改成GET,并删除请求报文内的主体,然后用GET发送新的请求。

    3.4 304 Not Modified

    该状态码发生在用户发送了携带Last-Modified-Since首部字段的请求报文,且服务器对应的资源更新时间小于该字段指定的时间时,服务器返回304 Not Modified。
    当浏览器有资源缓存和缓存时间(Last-Modified),但客户端将这个时间赋给Last-Modified-Since字段发给服务器,若服务器返回 304 表示没有更新的内容,浏览器上的缓存还可以用。注意,304和重定向没有关系,虽然它被划在3xx系。

    3.5 307 Tempoary Redirect

    临时重定向。该状态码和302有相同的含义。

    4. 4xx客户端错误

    4xx响应结果表明客户端发生了错误。

    4.1 400 Bad Request

    该状态码表示请求存在语法错误,比如URI写错了。

    4.2 401 Unauthorized

    该状态码表示发送的请求需要通过HTTP的认证。如果之前发送过一次请求,说明上次的认证失败了。当浏览器第一次收到401时,会弹出认证窗口。

    4.3 403 Forbidden

    该状态码代表对请求资源的访问被拒绝了。可能是发送方的IP没有被服务端允许,也有可能是对特定文件没有访问权限。

    4.4 404 Not Found

    一种人民群众喜闻乐见的状态码。它表示服务器上找不到请求的资源实体。不过当服务器不想提供响应时,也可以用这个状态。

    5. 5xx服务器错误

    5xx表明服务器本身发生错误。

    5.1 500 Internal Server Error

    该状态码表明在服务端执行请求时发生错误,可能是应用程序的bug。

    5.2 503 Service Unavailable

    该状态码表明服务器现在很忙或正在停机维护。如果能预计恢复服务的时间,应当在响应报文中捎上Retry-After字段给浏览器。

    最后要提醒的是,许多响应状态码和实际情况会不一致,比如发生服务器内部错误,但用户察觉不到,仍返回200


    参考

    图解HTTP (上野宣 著)

    相关文章

      网友评论

          本文标题:HTTP状态码

          本文链接:https://www.haomeiwen.com/subject/ryoedqtx.html