2012-04-21 12 views

答えて

4

1つの可能性は、LastModifiedヘッダーをチェックすることです。 HEADリクエストを発行することによってヘッダーだけをダウンロードできます。サーバーはHTTPヘッダーのみで応答し、最後に変更されたヘッダーおよび/またはコンテンツ長ヘッダーを検査して変更を検出できます。

Last-modified "Mon, 03 Jan 2011 13:02:54 GMT" 

注意すべき点の1つは、HTTPサーバーがこのヘッダーを送信する必要がないため、これがすべての場合に機能しないことです。 PHP関数get_headersがこれらを取得します。

// By default get_headers uses a GET request to fetch the headers. If you 
// want to send a HEAD request instead, you can do so using a stream context: 
stream_context_set_default(
    array(
     'http' => array(
      'method' => 'HEAD' 
     ) 
    ) 
); 
$headers = get_headers('http://example.com'); 
+1

100%信頼できるわけではありませんが、試してみる価値があります。 –

2

あなたはあなたの要求にIf-Modified-Since: <datetime>ヘッダを追加することができ、それはそれ以来変更されていない場合、サーバーは304 Not Modifiedを返す必要があります。しかし、ドキュメントが動的に生成された場合(php、perlなど)、ジェネレータはこのヘッダをチェックして常に完全なドキュメントを返すことができません。

関連する問題