HTTP 响应状态码是服务器对浏览器请求的响应结果的标识。这些状态码由三位数字组成,分为五个类别,每个类别代表了不同的响应类型。以下是一些常见的 HTTP 响应状态码及其含义:
1xx 信息性状态码
这类状态码表示请求已被接收,继续处理。
- 100 Continue:服务器已收到请求的初始部分,客户端应继续发送剩余部分。
- 101 Switching Protocols:服务器已理解客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。
2xx 成功状态码
这类状态码表示请求已被成功接收、理解和接受。
- 200 OK:请求成功。一般用于GET与POST请求。
- 201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其URI已经随Location头信息返回。
- 202 Accepted:服务器已接受请求,但尚未处理。
- 204 No Content:服务器成功处理了请求,但没有返回任何内容。
3xx 重定向状态码
这类状态码表示需要客户端采取进一步的操作才能完成请求。
- 301 Moved Permanently:请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。
- 302 Found:请求的资源临时从不同的URI响应请求。
- 304 Not Modified:所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
4xx 客户端错误状态码
这类状态码表示客户端看起来可能发生了错误,妨碍了服务器的处理。
- 400 Bad Request:请求参数有误。
- 401 Unauthorized:当前请求需要用户验证。
- 403 Forbidden:服务器已经理解请求,但是拒绝执行它。
- 404 Not Found:请求失败,请求所希望得到的资源未被在服务器上发现。
- 405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。
5xx 服务器错误状态码
这类状态码表示服务器在处理请求的过程中有错误或者异常状态发生。
- 500 Internal Server Error:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。
- 501 Not Implemented:服务器不支持当前请求所需要的某个功能。
- 502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
- 503 Service Unavailable:由于临时的服务器维护或者过载,服务器当前无法处理请求。
- 504 Gateway Timeout:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
了解这些常见的 HTTP 响应状态码有助于开发者更好地处理和调试 Web 应用中的请求和响应。