2012-04-21 2 views

ответ

4

Возможна проверка заголовка LastModified. Вы можете загрузить только заголовки, отправив запрос HEAD. Сервер отвечает только заголовками HTTP, и вы можете проверить последний измененный заголовок и/или заголовок длины контента для обнаружения изменений.

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

Следует отметить, что 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 и т. Д.), Генератор может быть слишком ленив, чтобы проверить этот заголовок и всегда возвращать полный документ.

Смежные вопросы