第一章:HTTP状态码定义

日期: 2008-12-17 作者:Brien M. Posey翻译:曾少宁 来源:TechTarget中国 英文

如果你曾经有过处理HTTP错误码的经历,你肯定知道这个过程是很让人头痛的。往往,这些神秘的代码有多种意思而让你摸不着头脑。 HTTP错误主要分成三类:用户设备问题、Web服务器问题和连接问题。有效地解决HTTP问题的关键是确定问题到底是属于哪一类的。

在这一系列的文章中,我将主要阐述这个问题。 HTTP状态码 对于了解目前这个问题的关键是首先要了解HTTP状态码的意义。每当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码。而这些响应代码主要分成五类。

100系列码 从100到199范围的HTTP状态码是信息报告码。基于各种原因考虑,大多数情况下我们是很少看见这些代码的。首先……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

如果你曾经有过处理HTTP错误码的经历,你肯定知道这个过程是很让人头痛的。往往,这些神秘的代码有多种意思而让你摸不着头脑。

HTTP错误主要分成三类:用户设备问题、Web服务器问题和连接问题。有效地解决HTTP问题的关键是确定问题到底是属于哪一类的。在这一系列的文章中,我将主要阐述这个问题。

HTTP状态码

对于了解目前这个问题的关键是首先要了解HTTP状态码的意义。每当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码。而这些响应代码主要分成五类。

100系列码

从100到199范围的HTTP状态码是信息报告码。基于各种原因考虑,大多数情况下我们是很少看见这些代码的。首先,如果一个浏览器尝试访问一个网站,而网站返回这些代码时,它们往往都不会显示在屏幕上。它们只是浏览器使引用的内部码。另外,这些代码不常见的另外一个原因是起初HTTP标准不允许使用这一范围的状态码。就其本身而言,它们也一直没有被广泛地使用。

200系列码

从200到299范围的状态码是操作成功代码。同样的,在正常的Web上网中,你也很可能不曾在屏幕上看到这些代码。相反的,这些代码是在浏览器内部使用的,用以确认操作成功确认和当前请求状态。虽然这些代码通常不显示,但是有一些故障排除工具能够读到它们,就像和其它大多数的HTTP状态码一样,它们在错误诊断过程中是非常有用的。

300系列码

从300到399范围的状态码是重定向代码。本质上,它们告诉Web浏览器必须执行其它一些操作以完成请求。基于这个命令的特点,它可以自动地执行,或者要求额外的用户输入。比如,状态码301表示一个特定资源已经被永久地先移除,因此将来所有访问该资源请求都应该定向到一个特定的URL上。

400系列码

在400范围的状态码是客户端错误码。这种类型的错误码往往跟安全相关。比如,如果一个客户端尝试访问一个未授权访问的资源,服务器就会返回一个状态码401。类似地,如果客户端尝试访问一个禁止的资源,在这种情况下客户端的认证状态是一样的,那么服务器可能会返回一个状态码403,表示禁止对该资源进行访问。

如果请求不正确或客户端超时,400级错误码也可能被返回。然而,有一个400级的代码总是具有误导性:404。虽然这个代码在技术上被归类为客户端错误,但是事实上它可以同时表示客户端或服务器上的错误。但这个错误码只是简单地显示为没有找到请求的资源。当这个错误发生在客户端时,它往往表示的是网络连接问题。在其他时候,这个错误的发生还可能是由于资源已从服务器上转移或重命名而造成的。

500系列码

500级状态码表示的是服务器错误。比如,如果Web服务器超时,它就会产生一个504错误。虽然,一个500级的错误往往表示的不是服务器的问题,而是在服务器上运行的Web应用的问题。比如,我自己的个人网站是用ASP编写的,它负责动态生成HTML网页。在调试的过程中,有Bug的代码总会导致我的Web服务器返回HTTP状态码500,该代码是一般表示内部服务器错误。这个代码只是出现问题了,并且HTTP无法解决该问题。

总结

正如你所看到的,每一个HTTP错误码都是能为发现问题的成因提供了很多的线索。尽管如此,有时候你也只有在收集了更多的信息才可以解决问题。幸运的是,有很多免费的故障排除工具可以为你提供这方面的帮助。在第2章中,我将为你阐述如何在解决问题过程中使用这些有用的工具。

关于作者

Brien M. Posey,MCSE,他由于在Windows 2000 Server 和IIS的出色表现成为Microsoft Most Valuable Professional。Brien担任过全国性连锁医院的CIO并曾经负责Fort Knox的IT安全。作为一名自由职业的技术作家,他曾为Microsoft、CNET、ZDNet、TechTarget、MSD2D、Relevant Technologies以及其他的技术公司撰稿。你可以访问Brien的个人网站www.brienposey.com

作者

Brien M. Posey
Brien M. Posey

Brien M. Posey,微软认证系统工程师,Windows 2000 Server 和 IIS方面最有价值专家。Brien曾任全国性连锁医院的CIO,负责过Fort Knox的网络安全。作为一名自由撰稿人,他为微软, CNET, ZDNet, TechTarget, MSD2D, Relevant Technologies 以及其他的科技公司写过稿。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐