基本的に http HEAD リクエストを実行して、ページが存在するかどうか、リダイレクトなどを確認する、私が書いた小さなアプリをテストしてきました。一部のページは、GET リクエストとは異なる方法で HEAD に応答することに気付きました。例えば:
curl -I http://www.youtube.com/bbcpersian
404 を返します。間違いなくそこにあります。一部の (非常にメジャーな) サイトでは、HEAD に応答して 500 エラーを返すことさえありますが、これは意図的なものではないと思います。
だから私の質問は:
- 特定のサイト (またはサイト内のページ) が構成の問題や Web マスターがボットをブロックしたいという理由以外に、このような動作をする正当な理由はありますか?
- HEAD リクエストに依存できない場合は、ヘッダーを取得したら、GET を実行してリクエストを中止するだけです。それは少し「間違っている」ように感じます…</li>
このように動作するページの数は % 単位では少ないですが、各誤検出は最終的に手動で調査され、多くの無駄な労力が発生します。