对表单使用 303 重定向是可以的,但在其他情况下使用它们是不行的。事实上,303响应码传输的是链路公平性,但是这需要很长时间才能发生。
因此,当内容被永久移动时,使用 303 重定向而不是 301 是不正确的。
304:未修改
状态代码304(或重定向 304)表示资源自上次请求以来尚 目标电话号码或电话营销数据 未被修改,因此不会被发送回客户端,客户端必须使用缓存中保存的版本。
例如,假设您于 2020 年 1 月 1 日上午 9:00 访问了某个页面。 1 月 2 日,我们再次访问该页面,我们想询问服务器自上次访问以来该页面是否发生了任何更改。
在这种情况下,我们可以通过在请求中添加以下条件来做到这一点:
- 如果-修改-自:2020 年 3 月 10 日星期一 09:00:00 GMT
因此,最佳实践是在内容未更改时向用户提供状态代码 304。从 SEO 的角度来看,状态代码 304 具有优势,尤其是在谈论大型网站(100,000 页及以上)时,例如电子商务、市场和大型编辑门户网站。
307:临时重定向/内部重定向
,状态代码 307(或重定向 307)也用作内部重定向。
浏览器知道此信息,要么是因为在之前的请求中被告知,要么是因为该域位于HSTS 预加载列表中。
HSTS 预加载列表是使用 HTTPS 协议的域列表(跨浏 什么是 SSL 证书?为什么需要一个? 览器共享)。虽然用户可以请求 HTTP 版本的 URL,但浏览器将使用内部 307 重定向来请求 HTTPS 版本,从而避免不必要和不安全的请求。
因此,当您想要执行内部重定向以确保 HTTP 连接保持安全时,使用 307 重定向是正确的。
但是,当内容永久移动时,使用 307 是不正确的,因为在这些情况下必须使用 301 重定向。
308:永久重定向
308(或 308 重定向)状态代码相当于301 重定向的 HTTP 1.1,并且不允许您将 HTTP 请求方法从 POST 更改为 GET。
从SEO的角度来看,有两个考虑因素:
- 目前尚不清楚状态码 308会传输多少页面权限,因此如果您想永久移动内容,我建议使用 301。
- Windows 7 和 Windows 8.1 上的 Edge 不支持 308 重定向:因此我建议不要使用它,因为它会导致糟糕的用户体验。
由于刚才提到的原因,不建议使用响应代码 308。
状态代码 4xx
HTTP 4xx 状态代码表示发生了客户端错误。
HTTP 错误主要分为三种类型:
- 客户端无权请求页面;
- 请求了不存在的页面;
- 提出的要求太多了。
在本节中,我们将介绍以下4xx 状态代码:
- 401:未经授权;
- 403:禁止;
- 404:未找到;
- 410:走了;
- 429:请求太多;
- 430:请求标头字段太大;
- 451:因法律原因无法使用;
401:未经授权
401 状态代码是一个错误代码,表示 HTTP 身份验证失败。
要访问所请求的页面,您可能需要您的用户名和密码,否则您可能无法根据您的 IP 地址进行访问。
当爬网程序尝试访问您的暂存环境并且您已实施 HTTP 身份验证以阻止访问时,您通常会看到401 状态代码。
在这些情况下,显示响应代码 401是正确的,因为最好避免对必须保密的暂存环境进行索引。
错误使用 HTTP 401 状态代码的一个典型示例是使用 AUB 目录 它代替 403 来指示授权失败。
403:禁止
HTTP 状态代码403(或错误 403)表示禁止请求特定 URL。