文章目录
1.返回结果的HTTP状态码
响应报文返回结果状态码的格式如下图所示:
1.1 状态码大类别:
1XX:信息性状态码,表明请求已收到正在处理
2XX:成功状态码,表明请求已被正常处理完毕
3XX:重定向状态码,表明还需要进行一些附加操作才行
4XX:客户端错误状态码,表明客户端出问题了,服务器不能处理请求
5XX:服务器错误状态码,表明服务器本身出问题了,不能处理请求。
2XX状态码
200OK
表明被正常处理,处理GET请求就返回它想要的资源实体,处理HEAD请求就不往响应报文主体中放想要请求的资源实体。
204 No Content
表明被正常处理,但是响应报文中的报文主体不含任何实体,且也不允许含有实体。
206 Partial Content
正常处理了,客户端的范围请求。
3XX重定向状态码
301 Moved Permanently
该状态码表示客户端请求的资源URI已发生永久性改变,如果客户端是浏览器,且保存了该资源的书签,那么服务器也会提醒客户端修改自己书签中URI
302 FOUND
该状态表示URI发生了临时性的改变,这个时候就不需要修改书签了
303 See Other
该状态说明访问的资源还有另一个URI,请求客户端去访问另一个URI,乍一看和302状态码无分别,但是这个状态码返回后,会表示客户端请求应当使用GET方法。
302虽然不允许将POST改为GET但是没人遵守,包括301在内的大家都在返回了302状态码后要求客户端改成GET方法
304 NOT MODIFIED
在客户端的请求带有条件的情况下,服务端顺利找到了客户端请求的资源,但是这个资源不满足客户端的条件。
307 Temporary Redirect
和302的临时重定向功能一样,但是307 会遵照浏览器标准,不会从 POST 变成 GET。但是,对于处理响 应时的行为,每种浏览器有可能出现不同的情况。
4XX客户端错误
400 Bad Request
表明客户端请求语法有错误,且客户端会像对待200OK状态码一样对待它
401Unauthorized
表明客户端请求的资源需要客户端提供认证信息给服务端进行认证
如果是第2次返回401,代表认证失败,客户端在第一次接收到401状态码时,浏览器会弹出认证窗口填写信息。
403 Forbidden
该状态码代表客户端的访问被服务器拒绝了,服务器不需要给出任何理由,访问权限不足等都会遇到这个情况
Not Found
代表服务端没有找到客户端想要访问的资源,其也用于服务端拒绝客户端访问但不需要给出理由的情况。
5XX服务器错误状态码
500 Internal Server Error
用于服务器在处理请求时自己因为bug等原因发生了错误
503 Service Unavailable
用于服务器处于停机状态返回的状态码。