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