about blog github

22 Dec 2023
http状态码tips

1xx 信息性状态码(informational responses)

这类状态码表示请求已被服务器接收,并继续处理。

100 继续(continue)

服务器已接收到请求的初始部分,客户端应继续发送请求的剩余部分。举个例子,当客户端上传大文件时,它可以先发送文件的头部分,如果服务器响应100状态码,则继续发送剩余部分。

101 切换协议(switching protocols)

服务器已准备切换协议,并将遵循客户端的请求进行切换。比如,在实时通讯应用中,客户端可能请求将连接从http切换到websocket,如果服务器同意,就会返回101状态码。

102 处理中(processing)

请求已被接收,但尚未完成处理。例如,在一个复杂的查询请求中,服务器可能需要长时间处理,此时会返回102状态码,表示请求正在被处理。

2xx 成功状态码(successful responses)

2xx类状态码表示请求已成功被服务器接收、理解,并接受。

200 成功(ok)

请求成功,服务器返回了请求的资源。例如,当用户请求一个网页并且服务器成功处理了这个请求,它将返回200状态码和请求的网页内容。

201 已创建(created)

请求成功,并且服务器创建了新的资源。比如,当用户在博客平台上发表新文章,服务器处理该请求后,会返回201状态码,表示文章已成功创建。

202 已接受(accepted)

服务器已接受请求,但尚未处理完成。例如,当用户请求启动一个视频转码的长时间操作时,服务器可能会返回202状态码,表示请求已进入后台处理队列。

203 非权威信息(non-authoritative information)

服务器已成功处理请求,但返回的信息可能来自另一来源。这意味着返回的信息可能是从另一个资源复制或者修改过的,如服务器返回的缓存数据。

204 无内容(no content)

服务器成功处理了请求,但不需要返回任何内容。例如,如果用户在网页上删除一条记录,服务器可能返回204状态码,表示请求成功但不返回任何内容。

205 重置内容(reset content)

服务器成功处理了请求,客户端需要重置视图。这常用于表单提交后,告诉浏览器清除填写的表单字段。

3xx 重定向状态码(redirection messages)

这些状态码表示客户端需要采取进一步操作才能完成请求。

300 多种选择(multiple choices)

服务器根据请求提供多种响应选项。用户或浏览器可以自行选择一个进行访问。例如,一个文档可能有多种语言版本,服务器会返回300状态码和不同语言版本的列表。

301 永久移动(moved permanently)

请求的资源已永久移动到新的uri,未来的引用应该使用返回的uri之一。例如,如果网站的页面永久迁移到了新的地址,服务器会返回301状态码和新的地址。

302 找到(found)

请求的资源现在临时从不同的uri响应请求。这通常在内容暂时被移动时使用。比如,如果网页临时移动到了新的位置,服务器会返回302状态码指引客户端到新位置。

304 未修改(not modified)

自从上次请求后,请求的网页未修改过。当网页自客户端上次请求后未发生变化时,服务器会返回304状态码,客户端可以继续使用本地的缓存版本。

307 临时重定向(temporary redirect)

请求的资源现在临时从不同的uri响应请求。服务器当前从这个新位置响应请求,但未来请求还应使用原来的uri。例如,服务器暂时从一个新的地址响应请求,但请求者应该继续使用原始uri。

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

这类状态码表示客户端看起来可能发生了错误,妨碍了服务器的处理。

400 错误请求(bad request)

服务器不理解请求的语法。例如,客户端发送了一个格式错误的请求,服务器无法解析,返回400状态码。

401 未授权(unauthorized)

请求要求身份验证。比如,用户请求需要登录的资源,如果没有提供认证信息,服务器将返回401状态码。

403 禁止(forbidden)

服务器理解请求,但拒绝执行。这通常是因为用户尝试访问他们没有权限的资源,服务器返回403状态码。

404 未找到(not found)

服务器找不到请求的资源。最常见的例子是用户尝试访问服务器上不存在的页面,服务器返回404状态码。

405 方法禁用(method not allowed)

请求行中指定的请求方法不能被用于请求相应的资源。例如,客户端尝试使用get方法获取一个只能通过post接收数据的资源,服务器将返回405状态码。

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

这类状态码表示服务器在尝试处理请求时发生了错误。

500 内部服务器错误(internal server error)

服务器遇到错误,无法完成请求。例如,用户访问网站时服务器因配置错误或者内部故障返回500状态码。

501 未实现(not implemented)

服务器不支持请求的功能,无法完成请求。例如,客户端尝试一个服务器不认识的请求方法,服务器返回501状态码。

502 错误网关(bad gateway)

服务器作为网关或代理,从上游服务器收到无效响应。例如,如果服务器作为代理无法获取到响应,它会返回502状态码。

503 服务不可用(service unavailable)

服务器目前无法使用(由于超载或维护)。通常这只是暂时状态。例如,服务器因维护暂时无法处理请求时返回503状态码。

504 网关超时(gateway timeout)

服务器作为网关或代理,但是没有及时从上游服务器收到请求。例如,服务器在等待另一个服务器响应时超时,它将返回504状态码。

505 http版本不受支持(http version not supported)

服务器不支持请求中所用的http协议版本。如果客户端尝试用服务器不支持的版本进行请求,服务器将返回505状态码。



LEo at 00:12

about blog github