闲着无聊整理了一下http状态码,这个没啥好说的,理解了之后记下了就行,这里是为了速记做了份简约版,如果想看详细的建议去看《图解http》
- http状态码一共有60余种,它们分类如下:
- 常用的只有14种:
2xx 成功
200 OK
- 表示从客户端发来的请求在服务器端被正常处理了
204 No Content
-
表示服务器已成功处理请求,但返回的响应报文中不含实体的主体部分
-
一般是只需客户端往服务器发送信息,可对客户端不需要发送新信息内容时使用
206 Partial Content
- 客户端进行了范围请求,而服务器成功执行了这部分的GET请求
3xx 重定向
301 Moved Permanently
- 永久性重定向。表示请求的资源已经分配了新的URI,以后应一直使用它来访问资源
302 Found
- 临时性重定向。表示请求的资源已经分配了新的URI,建议用户(本次)能使用它来访问资源,未来URI可能还会改
303 See Other
- 表示请求的资源已经分配了新的URI,应使用GET方法定向获取资源。
这里是按照http1.1的规范来的。303除了要求必须用GET方法请求资源外,与302并无区别。但http1.1以前,不是所有浏览器能理解303。实际上,RFC1945和RFC2068规范不允许客户端在重定向时改变请求的方法,但现在很多浏览器将302视为303,并用GET访问新URI
当301、302、303响应状态码返回时,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送
304 Not Modified
- 跟重定向无关。表示客户端发送附带条件的请求时,服务器允许请求访问该资源,但是认为客户端不满足条件;服务器返回304时,不包含任何响应的主体部分
附带条件:采用GET方法的请求报文中包含If-Match, If-ModifiedSince, If-None-Match, If-Range, If-Unmodified-Since 中任一首部
307 Temporary Redirect
- 临时重定向。跟302 Found有着相同的含义,只是307会遵照浏览器标准,不会从POST变成GET。(但实际上请以浏览器为准。。。)
4xx 客户端错误
400 Bad Request
- 表示请求报文有语法错误,需修改请求内容后再次发送请求
401 Unauthorized
- 客户端第一次收到该信息:表示需要通过http认证;第二次收到:表示认证失败
403 Forbidden
- 表示请求资源的访问被服务器拒绝。服务器可以在实体的主体部分对原因进行描述
404 Not Found
- 服务器找不到请求的资源。也可以在拒绝请求且不想说明理由时使用(和403一样)
5xx服务器错误
500 Internal Server Error
- 服务器出故障
503 Service Unavailable
- 服务器暂时超负载或正在停机维护