请说出至少 10 个 HTTP 状态码,并描述各状态码的意义。
状态码分类表
- 1xx | Informational(信息性状态码)→ 接受的请求正在处理
- 2xx | Success(成功状态码)→ 请求正常处理完毕
- 3xx | Redirection(重定向)→ 需要进行附加操作以完成请求
- 4xx | Client error(客户端错误) → 客户端请求出错,服务器无法处理请求
- 5xx | Server Error(服务器错误) → 服务器处理请求出错
常见http状态码:
- 200 请求成功,一般用于GET与POST请求
- 204 表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回)
- 206 表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求
- 301 永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL
- 302 临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL
301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
- 303 请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源
302与303的区别:后者明确表示客户端应当采用GET方式获取资源
- 304 客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码
- 307 临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况)
- 400 语义有误,当前请求无法被服务器理解或者请求参数有误
- 401 未经许可,需要通过HTTP认证
- 403 服务器拒绝该次访问(访问权限出现问题)
- 404 服务器无法根据客户端的请求找到资源(网页)
- 500 服务器错误,导致了无法完成对请求的处理
- 503 服务器暂时处于超负载或正在进行停机维护,无法处理请求