文章目录
- 一、状态码告知从服务器端返回的请求结果
- 二、2XX 成功
- 1、200:OK
- 2、202:No Content
- 3、206:Partial Content
- 三、3XX重定向
- 1、301:Moved Permanently
- 2、302:Found
- 3、303:See Other
- 4、304:Not Modified
- 5、307:Temporary Redirect
- 四、4XX 客户端错误
- 1、400 Bad Request
- 2、401 Unauthorized
- 3、403 Forbidden
- 4、404 Not Found
- 五、5XX服务器错误
- 1、500 Internal Server Error
- 2、503 Service Unavailable
- 3、504 Gateway Timeout
一、状态码告知从服务器端返回的请求结果
HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。
二、2XX 成功
1、200:OK
2、202:No Content
3、206:Partial Content
三、3XX重定向
1、301:Moved Permanently
永久性重定向。 该状态码表示请求的资源已被分配了新的 URI, 以后应使用资源现在所指的 URI。如果是有POST请求,永久性重定向会使得请求的数据丢失。
2、302:Found
临时性重定向。 该状态码表示请求的资源已被分配了新的 URI, 希望用户(本次) 能使用新的 URI 访问。302状态码表示资源不是被永久移动的,只是暂时性质的。
3、303:See Other
4、304:Not Modified
当你第一次请求一个资源的时候,server会同时生成并返回一个字符串在响应头里,叫Etag。器接到资源后,缓存资源的同时也会把这个Etag保存下来,成为If-None_Match浏览 。Etag可以看作是一个资源的唯一标识,当你第二次请求这个资源的时候,请求头里会带着这个Etag,server会拿server该资源现在的Etag跟请求头中的If-None_Match做对比,然后看看If-Modified-Since过没过期,如果一样,直接告诉他:你就用本地的吧,我没变,就不给你返回了,所以返回了304。
简言之:当你第一次请求资源的时候会加入缓存,当你再次请求该资源时,服务器先判断该资源有没有被修改,如果没有被修改,服务器会告知你,让你去缓存取数据。
5、307:Temporary Redirect
临时重定向。 该状态码与 302 Found 有着相同的含义。
【Note】:
301和302响应状态码返回时,几乎所有浏览器都会被POST改成GET,但是307重定向会保持原来的数据。
四、4XX 客户端错误
1、400 Bad Request
请求报文中存在语法错误;
2、401 Unauthorized
该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证) 的认证信息。
3、403 Forbidden
请求的资源被服务器拒绝。很可能是权限不够。
4、404 Not Found
服务器上无法找到资源。
五、5XX服务器错误
1、500 Internal Server Error
服务器端在执行请求时发生了错误。
2、503 Service Unavailable
服务器暂时处于超负载或正在进行停机维护, 现在无法处理请求。
3、504 Gateway Timeout
网关超时,由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答(HTTP 1.1新)。