在外贸建站过程中经常会遇到网站出现以数字开头的状态代码的情况,这些状态代码为独立站的正常运行提供丰富的指导条件,例如1xx 和 2xx 代码代码搜索引擎可以顺利地访问和索引内容,4xx 和 5xx 代码则会阻止搜索引擎抓取和索引网站页面。对于小白来说这些状态代码不仅数量庞大而且难于记忆和理解,所以本文为了帮助大家更好的了解外贸网站建设过程中的HTTP状态代码,接下来将呈现HTTP状态代码的有关内容。
一、HTTP状态代码是什么
HTTP 状态代码是 Web 服务器使用的标准化响应,用于告诉 HTTP 请求的处理方式。它们是 HTTP(超文本传输协议)的一部分,该协议本质上是万维网上数据通信的基础,这些代码是服务器在收到并解释请求消息后从服务器到客户端(例如浏览器或移动应用程序)的响应的一部分。
二、外贸网站建设必备的HTTP状态代码大全
1、1xx (信息)
这些状态代码是临时响应,用于确认服务器已收到请求,如果请求已完成,则客户端应继续请求或忽略响应。它们在日常 Web 浏览中很少见,因为它们处理通常由 HTTP 客户端(浏览器或应用程序)处理的低级协议详细信息。
- 100 Continue:这告诉客户端已收到请求的初始部分,它应该继续发送请求的其余部分,或者如果已经完成,则忽略它。
- 101 切换协议:服务器理解并愿意通过“升级消息报头”字段遵守客户端的请求,将协议切换到指定的协议。
- 102 Processing (WebDAV):此代码表示服务器已收到并正在处理请求,但尚无响应,这是为了防止客户端超时并假设请求已丢失。
- 103 Early Hints:此状态代码主要用于在服务器仍在准备响应时预加载资源,它允许客户端在最终响应之前加载关键资源,如样式表或图像。
2、2xx (成功)
表示已成功接收、理解和接受客户端的请求。这些状态代码表示请求不仅已被接收,而且被理解和接受,没有问题。此类别中的每个代码都提供了有关服务器如何处理请求以及结果的更具体信息,以下是 2xx 状态代码的完整列表。
- 200 OK:这是 HTTP 响应的黄金标准,当看到此消息时,这意味着请求已以最直接的方式成功处理。如果发送了 GET 请求,则服务器将返回请求的资源,对于 POST 请求,此状态可能表示提交已成功处理。
- 201 Created:此代码是在服务器上成功创建新内容的鼓励,通常是为了响应 POST 请求。这不仅意味着请求被接受,而且新资源也因此诞生了,响应通常包含指向新创建资源的 URI 的 ‘Location’ 标头。
- 202 Accepted:将此视为服务器说:“已收到了请求,看起来不错,但需要一些时间来处理它。”它用于已接受请求进行处理但处理尚未完成的情况,这是一种在延迟的情况下确认收到的方式。
- 203 非权威信息:服务器是一个转换代理(例如Web 加速器),它从其源收到 200 OK,但返回源响应的修改版本。
- 204 No content:这是服务器说“已经成功处理了请求,但没有任何可显示的内容。”它通常用于响应不会导致显示内容更改的成功请求,例如成功的删除操作或不影响客户端可见资源当前状态的更新。
- 205 重置内容:服务器已成功处理请求,但未返回任何内容,与 204 响应不同,此响应要求请求者重置文档视图。
- 206 部分内容:此状态代码更专业一些,在服务器完成资源的部分 GET 请求时使用。当请求大量资源,并且客户端希望以块形式下载资源时,例如流式传输视频或分段下载大型文件时,它非常方便。
- 207 多状态 (WebDAV):为多个独立操作提供状态(例如在批处理操作中)。
- 208 已报告 (WebDAV):DAV在propstat 响应元素中使用,以避免重复枚举同一集合的多个绑定的内部成员。
- 226 IM Used (HTTP Delta encoding):服务器已完成对资源的请求,响应是应用于当前实例的一个或多个实例操作的结果的表示形式。
3、3xx (重定向)
3xx 类 HTTP 状态代码完全是关于重定向的。这些代码向客户端发出信号,表明需要执行其他步骤才能完成请求,这可能涉及导航到其他 URL,或者可能自动遵循一系列重定向,直到到达最终资源,以下是完整的 3xx 状态代码的详细介绍。
- 301 永久搬家:这相当于在您搬家时留下转发地址的数字等价物。响应应包括一个 ‘Location’ 标头,用于指定资源的新 URL,客户端应更新其指向此新地址的链接,因为重定向是永久性的。
- 302 Found ( Moved Temporarily):此状态代码比 301 更不可靠。当资源临时移动到另一个 URI 时,将使用它,客户端应继续对将来的请求使用原始 URI,因为重定向可能会更改。
- 303 See Other:将此视为礼貌的重定向,通常用于响应 POST 请求。它告诉客户端查看 (GET) 另一个 URL 并对其使用 GET 请求,而不管原始请求方法如何,这在提交表单等情况下非常有用,如果用户点击刷新按钮,不想重新提交数据。
- 304 未修改:这是一种最大限度地减少不必要数据传输的方法。当客户端执行了条件 GET 请求并允许访问,但自请求的 If-Modified-Since 或 If-None-Match 标头指定的版本以来未修改文档时,将使用它。从本质上讲,它告诉客户端所请求资源的缓存版本仍然良好并且可以使用,从而节省带宽并加快 Web 浏览速度。
- 305 Use Proxy (Deprecated):此响应代码用于指示必须通过 Location 字段提供的代理访问请求的资源,由于对代理的带内配置的安全问题,它已被弃用。
- 306 Switch Proxy:此代码在早期规范中使用,但不再使用,保留供将来使用。
- 307 临时重定向:这类似于 302,但更严格地遵守请求中使用的方法。这意味着“要查找的资源暂时位于另一个 URL 上,应该使用最初用于访问它的方法(GET、POST 等)。
- 308 永久重定向:这是 301 的更新、方法保留对应版本,它表示资源已永久移动到新 URL,将来的请求应使用新 URL,其方法与原始请求中使用的方法相同。
4、4xx (客户端错误)
HTTP 状态代码的 4xx 类标记由于客户端问题而出错的实例,这些代码对于诊断用户错误、错误配置或未经授权的资源访问尝试至关重要,以下是完整的 4xx 状态代码的详细介绍:
- 400 错误请求:这相当于 HTTP 在回答一个令人困惑的问题时茫然地凝视,当服务器由于语法无效而无法理解请求时,使用它。这是在没有其他更具体的代码合适的情况下的一般错误响应,这可能是由于请求语法格式错误、请求消息参数无效或欺骗性请求路由造成的。
- 401 未授权:尽管名称如此,但此状态代码实际上表示“未验证”。它指示请求尚未应用,因为它缺少目标资源的有效身份验证凭证,如果尝试访问需要登录的内容,但尚未登录或会话已过期,则可能会遇到此响应。
- 403 Forbidden:此代码是关于授权而不是身份验证的。即使已登录,403 响应也意味着您正在尝试访问您无权查看的资源。服务员坚定地说:“我知道你是谁,但你还是不能进来。
- 404 未找到:404 可能是所有 HTTP 状态代码中最著名的,它是互联网上表示“这里没什么可看的”的方式。这意味着服务器找不到请求的资源, 断开或失效是导致此错误的常见原因。
- 405 Method Not Allowed:当服务器知道请求行中指定的方法但已被禁用且不能用于相关资源时,将给出此响应。例如尝试 POST 到仅接受 GET 请求的 URL 将导致此错误。
- 406 Not Acceptable:根据请求中发送的 Accept 标头,请求的资源只能生成不可接受的内容。
- 407 Proxy Authentication Required:类似于 401 Unauthorized,但它表示客户端必须首先使用代理对自身进行身份验证。
- 408 请求超时:服务器等待请求超时。当客户端未能在服务器准备等待的时间内发送请求时,通常会返回此状态,这是服务器表示 “I wait you but you took too long” 的方式。
5、5xx (服务器错误)
HTTP 状态代码的 5xx 类表示服务器错误,表示服务器知道它遇到了错误或无法执行请求,与表示客户端问题的 4xx 代码不同,5xx 错误意味着服务器端存在问题,导致无法完成有效请求,以下是 5xx HTTP 状态代码的完整列表及其详细定义。
- 500 Internal Server Error:这是一条通用错误消息,当遇到意外情况且没有合适的特定消息时给出,这是对不属于任何其他类别的服务器端问题的包罗万象的回应。
- 501 未实现:服务器无法识别请求方法,或者缺乏满足请求的能力,通常这意味着将来的可用性(例如,尚不支持的新功能)。
- 502 Bad Gateway:当服务器在充当网关或代理时,在尝试完成请求时从它访问的上游服务器收到无效响应时,会发生此错误。
- 503 服务不可用:服务器无法处理请求(因为它超负荷或停机进行维护),通常这是一个临时状态,服务器将指定客户端在重试之前应等待多长时间。
- 504 网关超时:服务器在充当网关或代理时,没有及时收到来自上游服务器或它需要访问才能完成请求的其他辅助服务器的响应。
- 505不支持 HTTP 版本:服务器不支持请求中使用的 HTTP 协议版本,当服务器拒绝使用当前 HTTP 版本时,将发送此响应。
- 507 存储空间不足 (WebDAV):服务器无法存储完成请求所需的表示形式,当服务器需要更多存储空间来完成请求时,通常使用此状态代码。
- 检测到 508 循环 (WebDAV):此状态表示服务器终止了一个操作,因为它在处理具有“Depth:infinity”的请求时遇到了无限循环,此状态表示整个操作失败。
- 510 Not Extended:服务器需要进一步扩展请求才能完成该请求,此状态代码在 RFC 2774 (HTTP 扩展框架) 中使用。
推荐阅读: