学习
实践
活动
专区
工具
TVP
写文章

美哇大学:只知道“404”是网页报错?还有这些你不知道的故事!

世界上最让人不爽的事是什么?可能是失望,尤其是那种给了你希望之后又出现的失望。比如,当你兴致勃勃地单击了一个信息量爆表的标题,弹出来的却是“404Error 你访问的页面不存在” 这种毫无防备的出戏是不是忍不住想掀桌子?

还记得若干年前的抢课大战么?当你酝酿了好久,终于决定了要选什么课,在选课前就等在电脑旁边摩拳擦掌,等到选课系统开启,立刻点击登录,然后可以这样……

或是这样的

这个时候心里是不是千万只草泥马飞奔而过,特别想砸了电脑!

这个天杀的“404”究竟代表了什么?产生的原理是什么?互联网中除了 404 还有哪些状态码?又分别代表什么?本期的美哇大学就来聊聊“404”那些不为人知的秘密!

神秘的数字“404”到底是什么?

“404” 是一种标准的HTTP返回代码,官方称其为HTTP状态码,用来表示网页服务器HTTP的响应状态。404页面不是无信号,而是内容不存在或被删除,换句话就是“服务器是正常的,只是没找到你要的页面”,通常之后会有一个可读信息反馈给用户:Not Found。

为什么会出现“404”?

虽然大多数的人知道 404 意味着页面丢失,却鲜有人对其进行更深入的研究。

404作为最出名的状态码,第一个4表示客户端出错,如错误的网页位置;第二个0表示请求者把网址打错了;最后的4表示4开头的错误状态码中排第四。几乎所有的HTTP状态码都被分成了五大类:

1开头表示服务器收到请求并需要请求这继续处理;

2开头表示成功响应,表示成功处理了请求;

3开头表示重定向,引导浏览器跳转到另一个资源页面;

4开头表示请求出错,妨碍了服务器的处理,服务器会返回一个状态码解释到底是什么错误;

5开头的表示服务器错误,并不是请求者的原因;

那么404是怎么产生的呢?当用户在地址栏输入一个网址后,这时候IIS首先会检测用户输入的地址是否有对应的网页信息,如果没有,IIS就会通过服务器想用户返回404错误状态码提示,告诉用户找不到地址对应的网页信息,但服务器并不清楚这种情况是暂时性的还是永久性的。出现404最多的原因就是用户输入了错误的链接,或者无法响应并找不到原因,也有可能就是网页被删除了。

需注意的是,在IIS即Internet信息服务中,也有不少微软制定的扩充状态码,例如格式像404. 1 这样的,能更深层次的让开发者找出错误原因。

404错误页面会影响SEO优化?

当你的网站有些页面地址(路径)改变了。或者内容被删除了,导致原地址访问本页面时,提示页面不存在。比如说你网站改版,也会导致很多原来存在的页面,访问的时候提示页面被删除或不存在。这个时候就会产生很多死链接,当一个网站死链接过多的时候,对搜索引擎是非常不友好的,影响你的网站整体权重,也对用户体验很不好。

为啥大家爱花心思设计一个出错页面?

但凡是以4开头出现的错误状态码,基本上都是跟“客户端”相关的错误,比如权限不足、验证信息错误、输入访问页面不存在等状态码。但是你发现了吗?实际上这就是人性化的地方;网页错误总是难以避免的问题,但无论是因为用户的操作还是服务器发生的问题,网站开发者们是无法控制错误产生的情况的;所以此时设计一个和蔼可亲的404页面可以有效的将用户的失落的心态降到最低。

而这正是现目前网页开发者注重用户体验的一个关键步骤与操作。那就是将更好的信息传达给用户。

“404”的“亲朋好友”还有哪些?

成功2xx:成功处理了请求的状态码。

200,代表服务器已成功处理请求并提供了请求的网页;

201,代表请求已经被接受,并且请求所对应的资源已经被创建。

204,代表服务器成功处理了请求,但没有返回任何内容

重定向3xx:表示每次请求中使用重定向不要超过 5 次。

300,表示被请求的资源可以提供多种选项让客户端进行选择

301,表示请求的网页已永久移动到新位置;

302,表示请求的网页临时移动到新位置;

304,表示如果网页自请求者上次请求后没有更新,则用 304 代码告诉搜索引擎机器人,可节约带宽和开销。

客户端错误4xx:代表请求可能出错妨碍了服务器的处理。

400,表示服务器不理解请求的语法;403,表示服务器拒绝请求;

404,代表服务器找不到请求的网页(服务器上不存在的网页经常会返回此代码);

409,表示服务器在完成请求时发生了冲突。

服务器错误5xx:表示服务器在处理请求时内部发生错误,可能是服务器本身的错误而非请求出错;

500 代表服务器遇到错误,无法完成请求;

503,服务器目前无法使用(由于超载或停机维护),通常只是暂时状态。

总结:除了上面列出的几个常见的HTTP状态码外还有很多状态码,这里就不为大家一一列举了。美哇共享广告认为掌握一些基本的HTTP状态码,有助于我们在发现页面出现异常时,能够迅速“读懂”错误提示,尽快解决问题,同时也是为自己长面的不错谈资。所以现在开始,你可以去向好盆友“卖弄”404error的新姿势了!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208A0U4AL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券