你可知“404”不是我全部 HTTP状态码还有啥?

2017-08-17 00:15 出处:PConline原创 作者:卡夫卡 责任编辑:sunziyi

  【PConline 杂谈】想必,各位都曾有过以下经历,本想打开网页浏览资讯,怎料出现的却是个“404”?不用怀疑,你的页免丢失了。那么,“404”除了代表你所要浏览的页面丢失外,你可知它的产生原理?不仅如此,在庞大的互联网中除了404还有哪些HTTP状态码又分别代表着什么?

你可知“404”不是我全部 HTTP状态码还有啥?
你可知“404”不是我全部 HTTP状态码还有啥?

   正如上面所述,404是一种标准的HTTP返回代码,官方称其为HTTP状态码,用来表示网页服务器HTTP的响应状态。由于网站日志通常会记录下HTTP状态码,因此通过查看网站日志中的HTTP状态码,便可清楚地看到网站服务器与客户端之间的信息交换情况。

   虽然大多数的人知道404意味着页面丢失,却鲜有人对其进行更深入的研究。其实,状态码可分成三个层级,例如404这样用三个数字表示的。需注意的是,在IIS即Internet信息服务中,也有不少微软制定的扩充状态码,例如格式像404.1这样的,能更深层次的让开发者找出错误原因。

   进一步讲,几乎所有的HTTP状态码都被分成了五类。‘1’开头,表示服务器收到请求并需要请求继续处理;‘2’开头,表成功响应,即成功处理了请求;‘3’开头,表重定向,也就是引导浏览器跳转到另一个资源页面;‘4’开头,则表示请求出错妨碍了服务器的处理,服务器会返回一个状态码解释到底是什么错误;而‘5’开头,表示服务器错误,但并非请求者的原因。

   例如,与404对应的200便是表示访问成功。实际上,请求过程中会有很多状态码快速的发生着变化,且看不出这些状态码是如何变化的,除非像打断点似的操作一步停一下,因此导致在服务器响应过程中,很多状态码我们是看不到的。

   为何要设计诸如404的页面呢?要知道,以4开头的错误都与客户端有关,例如用户访问的页面可能已经不存在。当然,这样的概率相对于网站的其他页面而言要小的多。另外,由于网站的开发者也无法控制错误页面的出现,开发者却能设计一个特别的404错误页面告知用户,在此错误页面上将信息传达给用户,引导其进行下一步操作。

   那么,HTTP状态码又与SEO有什么关系呢?像之前所说的,网站日志会记录下HTTP状态码,因而查看网站日志里的HTTP状态码,便能清楚地看到网站服务器与客户端之间的信息交换情况,而这个客户端,既可以是用户浏览器也可以是搜索引擎或其他爬取工具(如RSS)。因此,对SEO而言HTTP状态码的重要意义在于,通过它我们可以查看搜索引擎在你网站的爬取情况。

   除了404以外,你还知道哪些HTTP状态码?其实,这些状态码都有各自的含义,这里我们也向各位介绍几个比较常见的状态码及其含义,方便以后浏览页面遇到问题时,及时了解问题所在:

   成功2xx,成功处理了请求的状态码。例如200,代表服务器已成功处理请求并提供了请求的网页;204,代表服务器成功处理了请求,但没有返回任何内容。

   重定向3xx,表示每次请求中使用重定向不要超过5次。例如301,表示请求的网页已永久移动到新位置;302,表示请求的网页临时移动到新位置;304,表示如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节约带宽和开销。

   客户端错误4xx,代表请求可能出错妨碍了服务器的处理。例如400,表示服务器不理解请求的语法;403,表示服务器拒绝请求;404,代表服务器找不到请求的网页(服务器上不存在的网页经常会返回此代码);410,表示请求的资源永久删除后,服务器返回此响应(与404代码相似)。

   服务器错误5xx,表示服务器在处理请求时内部发生错误,可能是服务器本身的错误而非请求出错;500代表服务器遇到错误,无法完成请求;503,服务器目前无法使用(由于超载或停机维护),通常只是暂时状态。

   其实,除了上面列出的几个常见的HTTP状态码外还有很多状态码,这里就不为大家一一列举了,掌握一些基本的HTTP状态码,有助于我们在发现页面出现异常时,能够迅速“读懂”错误提示,尽快解决问题,同时也是为自己长面(臭显摆)的不错谈资。

网络设备论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品