正在读取HTTP GET响应足以知道服务器是否启动?

我想确保该网站已启动并正在运行。 是否足够阅读HTTP GET Response?

什么服务像PingDomtesting?

通常HTTP的监视有三种风格之一:

  1. 检查服务器是否在端口上响应 – 即TCP连接已确认(在nagios中为check_tcp)
  2. 仅检查HTTP响应代码,即执行OPTIONS或HEAD,并确保返回的HTTP响应是2xx或3xx(而不是4xx或5xx)。
  3. 检查(2)的响应 – 以及在输出中检查预期的文本string。

选项3将是最可靠的,但是每当监视服务器击中您的服务器时,都需要您的页面内容的完整GET。 选项2只能使用HTTP OPTIONS或HEAD,选项1只能使用connect()。

PingDom可能会做select(3)我会假设。

那么,假设你真的得到了回应,你可以假设实际的HTTP服务器是活着的。 如果你想testing网站是否实际function,除了在线,你必须阅读这个回应,以确保它不是一个错误页面或东西…

如果您还想确保网站真正运行 (并且不仅仅是“up”),您应该运行一些事务监视,或者更好的是,除了标准的http get和pingtesting以外,还应该执行真正的浏览器监视。

当然,对于那些集成了许多第三方服务,Ajax,Javascript等的复杂网站来说,这是最重要的 – 对于一个简单的静态网站来说这不是必需的。

另见http://en.wikipedia.org/wiki/Synthetic_monitoring