1

PhpでWebページ全体をダウンロードせずにページが更新されたかどうかを確認する方法は? ヘッダーを見る必要があるかどうか。

4

2 に答える 2

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');
于 2012-04-21T04:35:56.070 に答える
2

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

于 2012-04-21T04:39:33.097 に答える