2016-04-28 4 views
1

私たちはphpから以下のcurlコールを実行しています。デッドリンクのためにどのようなhttpステータスコードを考慮すべきですか

$url = $fullurl; 

if (isset($url)) { 
    $ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch); 
$headers = curl_getinfo($ch); 
curl_close($ch); 

$check_url_status = $headers['http_code']; 
if ($check_url_status == '200') 
    $ress = "Link Works"; 
else 
    $ress = "Broken Link"; 

} 

私たちが考慮する必要がある他のhttpステータスコードは、壊れている/死んでいるリンクではありません。

+0

"壊れたリンク"は、要求されたリソースが存在しないことを意味します。したがって、404が適切です。 –

答えて

0

5つのHTTPステータスコードクラス:1xx続行(プロトコル切り替え)、2xx OK、3xxリダイレクト、4xxクライアントエラー、5xxサーバーエラー。

Curlクライアントがリダイレクト(3xx)に従っている場合、私はその状態コード< = 299をテストすることができると思います。他のすべてのステータスコードは "壊れたリンク"になります。

テストがいかに深いによって、あなたはまた、論文の例を考えることができます。

  • 401無断/ 403禁止:ressourceは真偽を必要としています。それはリンクが壊れていることを意味するものではありませんが、認可されたクライアントはそれを見るかもしれないし、他はそうしないでしょう。
  • 204コンテンツがありません:リソースはアクセス可能ですが、コンテンツは返されません。いくつかの分析リソースは204を返します。しかし、視覚的な結果は、壊れた画像または空のページへのリンクになります。

壊れたリンクの表示を変更する場合は、JavaScriptを使用してクライアントサイドで管理できますが、ドメインに限定することができます。 this question

関連する問題