HTTP状态码是反映网页的返回值,比如能正常打开的网页返回状态码就是200,这些状态码在我们平常时浏览网页的时候不会显示的,需要调用专用的查询工具才能看到,以火狐浏览器为例,使用Firefox开发者工具,可以查看到服务端返回的状态码。
HTTP状态码除了判断网页时候能正常打开以外,还有其他用途,比如SEO里面经常用到的301/302跳转,常用于不带www的域名跳转到带www的域名,以实现完美的打开网址体验,还有一个场景就是网站改版之后,要把原来的网页路径权重传达到新网页路径,也是经常用到301跳转。
在设置完毕这些跳转的时候,我们用来确定设置是否正确的依据就是HTTO状态码。每个HTTP状态码代表不同的意义,下面是一些常见的状态码为:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用。
以下是所有HTTP请求状态的解释:
1xx(临时响应): 表示临时响应并需要请求者继续执行操作的状态代码。
- 100 Continue(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
2xx (成功):表示成功处理了请求的状态代码。
- 200 OK (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
- 201 Created(已创建)请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。
- 202 Accepted(已接受) 服务器已接受请求,但尚未处理。
3xx (重定向):表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
- 301 Moved Permanently(永久移动) 浏览器永久重定向到另外一个在Location消息头中指定的URL。以后客户应使用新URL替换原始URL。
- 302 Move temporarily(临时移动)浏览器暂时重定向到另外一个在Location消息头中指定的URL。客户应在随后的请求中恢复使用原始URL。
- 304 NotModified--本状态码提示浏览器使用缓存中保存的被请求资源的副本。服务器使用If-Modified-Since与If-None-Match消息头确定客户是否拥有最新版本的资源。
4xx (请求错误):这些状态代码表示请求可能出错,妨碍了服务器的处理。
- 400 Bad Request(错误请求) 服务器不理解请求的语法。当以某种无效的方式修改请求时(例如URL中插入一个空格符),可能会遇到这个状态码。
- 401 Unauthorized(未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 403 Forbidden(禁止) 服务器拒绝请求。
- 404 Not Found(未找到) 请求失败,请求所希望得到的资源未被在服务器上发现。
- 405 Method Not Allowed(方法禁用)本状态码表示指定的URL不支持请求中使用的方法
- 413 Request Entity Too Large(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 414 Request URI Too Long (请求的 URI 过长) 请求中的URL过长,服务器无法处理。
5xx (服务器错误):表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
- 500 Internal Server Error(服务器内部错误)本状态码表示服务器在执行请求时遇到错误。当提交无法预料的输入、在应用程序处理过程中造成无法处理的错误时,通常会收到本状态码。应该仔细检查服务器响应的所有内容,了解与错误性质在关的详情。
- 503 Service Unavailable(服务不可用)由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。
值得一提的是,网页的HTTP状态码在测试网页的完整性也有重要的作用,比如样式表调用的图片路径不存在,那么在开发者工具里面也会显示对应的404值,也就是找不到请求图片。这时可以针对性地作修改。开发者工具除了能看到HTTP状态码,还能查看网页响应时间,从而查出哪些令网页加载速度变慢的,功能众多。