当前位置: 首页> 房产> 建材 > HTTP 之 五类状态码(四)

HTTP 之 五类状态码(四)

时间:2025/7/14 0:10:08来源:https://blog.csdn.net/qq_35876316/article/details/141244566 浏览次数:0次

HTTP/1.1 定义了五类状态码,每类都有一个数字范围。

1xx(信息性状态码)

100 Continue:指示客户端可以继续其请求。(常见状态码)
101 Switching Protocols:服务器根据客户端的请求切换到不同的协议。

2xx(成功状态码)

200 OK:请求成功,最常见的成功状态码。(常见状态码)
201 Created:请求成功且创建了新资源。(常见状态码)
202 Accepted:服务器已接受请求,但尚未处理完成。(常见状态码)

203 Non-Authoritative Information:元信息来自非权威源。
204 No Content:服务器成功处理请求,但没有返回任何内容。
205 Reset Content:服务器成功处理请求,但没有返回内容,并要求客户端重置其文档视图。
206 Partial Content:服务器成功处理了部分GET请求(范围请求)。

3xx(重定向状态码)

300 Multiple Choices:请求有多个可能的响应,客户端可以自行选择一个。
301 Moved Permanently:请求的资源已被永久移动到新位置。(常见状态码)
302 Found:资源临时移动到另一个URI。(常见状态码)

303 See Other:请求的资源存在另一个URI下,应使用GET方法获取。
304 Not Modified:资源未修改,可以使用客户端的缓存副本。
305 Use Proxy:请求的资源必须通过指定的代理访问。
306 (Unused):此代码未使用。
307 Temporary Redirect:资源临时移动到另一个URI,请求方法不变。
308 Permanent Redirect:资源已永久移动到另一个URI,请求方法不变。

4xx(客户端错误状态码)

400 Bad Request:客户端请求有语法错误,服务器无法理解。(常见状态码)
401 Unauthorized:请求需要用户认证。(常见状态码)

402 Payment Required:预留状态码,一般不使用。
403 Forbidden:服务器理解请求但拒绝执行。(常见状态码)
404 Not Found:服务器找不到请求的资源。(常见状态码)

405 Method Not Allowed:请求方法不被服务器支持。
406 Not Acceptable:服务器无法满足客户端的Accept头信息。
407 Proxy Authentication Required:代理服务器要求认证。
408 Request Timeout:服务器等待客户端发送请求时间过长。
409 Conflict:请求与服务器当前状态冲突。
410 Gone:请求的资源已被永久删除。
411 Length Required:请求缺少有效Content-Length头信息。
412 Precondition Failed:请求头信息不满足条件。
413 Payload Too Large:请求体过大,服务器无法处理。
414 URI Too Long:请求URI过长。
415 Unsupported Media Type:请求媒体类型不被服务器支持。
416 Range Not Satisfiable:无法满足请求的范围。
417 Expectation Failed:服务器无法满足Expect头信息。

5xx(服务器错误状态码)

500 Internal Server Error:服务器内部错误,无法完成请求。(常见状态码)
501 Not Implemented:服务器不支持请求的功能。(常见状态码)

502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效响应。
503 Service Unavailable:服务器暂时不可用或过载。(常见状态码)
504 Gateway Timeout:网关或代理在等待上游服务器响应时超时。
505 HTTP Version Not Supported:服务器不支持请求的HTTP版本。
506 Variant Also Negotiates:透明代理尝试满足一个透明或不透明的代理的要求,但未能做到。
507 Insufficient Storage:服务器存储不足,无法完成请求。
508 Loop Detected:服务器在处理请求时检测到循环。

// 定义请求的URL
const url = 'http://www.example.com/api/data';// 使用fetch发送GET请求
fetch(url).then(response => {// 检查响应的状态码if (response.status >= 200 && response.status < 300) {// 请求成功return response.json(); // 解析JSON格式的响应体} else if (response.status === 301 || response.status === 302) {// 处理重定向const newUrl = response.headers.get('Location');console.log('Redirecting to:', newUrl);// 可以选择在这里递归调用fetch来获取新位置的数据} else if (response.status === 401) {// 处理未授权错误console.error('Unauthorized: 401 Error');} else if (response.status === 404) {// 处理未找到资源错误console.error('Not Found: 404 Error');} else if (response.status >= 500) {// 处理服务器错误console.error('Server Error: 500 Error');} else {// 其他HTTP错误console.error(`HTTP Error: ${response.status}`);}}).then(data => {// 处理请求成功返回的数据console.log('Data received:', data);}).catch(error => {// 处理网络问题或其他fetch调用中的错误console.error('Fetch error:', error);});
关键字:HTTP 之 五类状态码(四)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: