文章目录
- 常见状态码
- 1XX Informational(请求正在处理)
- 2XX Success(请求成功)
- 3XX Redirection(重定向)
- 4XX Client Error(客户端错误)
- 5XX Server Error(服务器错误)
- 301和302的区别
- 共同点
- 不同点
- SEO影响
- 重定向原因
常见状态码
1XX Informational(请求正在处理)
- 100 Continue:客户端应继续发送请求的其余部分。
- 101 Switching Protocols:服务器接受了客户端请求,正在切换协议。
2XX Success(请求成功)
- 200 OK:请求正常处理,响应包含请求的资源。
- 204 No Content:请求处理成功,但没有任何资源返回给客户端(一般用于只需客户端向服务端发送消息)。
- 206 Partial Content:对资源的某一部分请求,响应报文中包含由
Content-Range
指定范围的实体内容。
3XX Redirection(重定向)
- 301 Moved Permanently:永久重定向,表示旧地址的资源已被永久移除。搜索引擎会将旧网址更新为新网址。
- 302 Found:临时重定向,表示旧地址的资源仍然可以访问,此次重定向是临时的。
- 303 See Other:与301和302类似,当使用POST方法访问资源时,将客户端以GET方式重定向到对应的URI。
- 304 Not Modified:资源已找到,但不满足条件,因此不返回资源。常用于协商缓存。
4XX Client Error(客户端错误)
- 400 Bad Request:请求报文内有语法错误。
- 401 Unauthorized:请求需要HTTP认证。初次收到401响应浏览器弹出认证对话窗口,第二次出现表明验证失败。
- 403 Forbidden:服务器拒绝访问请求的资源,通常因权限不足。
- 404 Not Found:服务器上找不到请求的资源或路径错误。
- 405 Method Not Allowed:请求方法被服务器识别但禁止使用,可以用OPTIONS来查看允许的方法。
- 429 Too Many Requests:用户在给定时间内发送了太多请求。
5XX Server Error(服务器错误)
- 500 Internal Server Error:服务器在执行请求时出错,一般因应用程序出现bug。
- 502 Bad Gateway:代理服务器或网关从上游服务器中收到无效响应。
- 503 Service Unavailable:服务器暂时超负载或停机维护,无法处理请求。
- 504 Gateway Timeout:作为网关或代理的服务器未能在规定时间内从上游服务器获取响应。
301和302的区别
共同点
301和302状态码都表示重定向,浏览器在接收到这些状态码后会自动跳转到新的URL地址,新的地址可以从响应的Location
首部中获取。用户看到的效果就是输入的地址A瞬间变成了地址B。
不同点
- 301 Moved Permanently:表示旧地址A的资源已被永久移除,搜索引擎在抓取新内容的同时,将旧的网址替换为重定向后的网址。
- 302 Found:表示旧地址A的资源仍然可访问,此次重定向是临时的,搜索引擎会抓取新内容,但保留旧网址。
SEO影响
在SEO方面,302的影响通常被认为优于301,因为302不会导致搜索引擎更改对旧网址的索引。
重定向原因
- 网站调整:如改变网页目录结构。
- 网页移址:页面被移到新地址。
- 扩展名改变:例如,将.php改成.html或.shtml。如果不做重定向,用户收藏夹或搜索引擎数据库中的旧地址可能导致404错误,造成流量损失。
- 域名管理:某些注册了多个域名的网站需要通过重定向让访问这些域名的用户自动跳转到主站点。