我一直在测试我编写的一个小应用程序,它基本上执行 http HEAD 请求来检查页面是否存在、重定向等。我注意到有些页面对 HEAD 的响应与对 GET 请求的响应不同。例如:
curl -I http://www.youtube.com/bbcpersian
返回 404。它肯定存在。一些(相当主要的)网站甚至返回 500 错误以响应 HEAD - 我猜这不是故意的。
所以我的问题是:
- 除了配置问题或想要阻止机器人的网站管理员之外,是否有任何充分的理由说明某些网站(或网站内的页面)会表现得像这样?
- 如果我不能依赖 HEAD 请求,我是否只需要执行 GET 并在获得标头后中止请求。这感觉有点“错误”……</li>
虽然像这样表现的页面数量很少,但每个误报最终都是手动调查的,这会导致大量的工作浪费。