2011-09-08 105 views
1

我一直在测试一个我写过的小应用,它基本上做了一个http HEAD请求来检查页面是否存在,重定向等。我注意到一些页面响应与GET请求不同,HEAD不同。例如:使用HEAD请求来检查网页状态的可靠性

curl -I http://www.youtube.com/bbcpersian 

返回一个404这是肯定有。一些(相当主要的)网站甚至会返回500个错误来回应HEAD--我猜这不是故意的。

所以我的问题是:

  • 有没有什么好的理由(网站内或页)为什么某些网站会表现得像不是配置问题或网站管理员想要阻止僵尸这个其他?
  • 如果我不能依赖一个HEAD请求,我只是在做了一个GET并放弃了请求后,我有了标题。这感觉有点“错误”...

尽管像这样表现的页面数量很少,但是每个误报最终都会被人工调查,从而导致大量浪费。

回答

4

后经过一段时间和更多的调查,我可以回答我的问题:

  • 很多“野生”的网站的正确回应HEAD请求。我有一些建议,一些网站管理员配置他们的网站回应任何事情,但200头申请,因为他们认为HEAD请求与坏机器人相关联。我无法验证推理,但我可以说大量网站(或网站上的网页 - 请参阅我在YouTube上的原始点)对HEAD请求做出错误回应。
  • GET 检查页面的唯一可靠方法确实存在(或不是重定向等)。