Правильно отдаем код 304. Пример на PHP?

12
Lupus
На сайте с 02.11.2002
Offline
241
#11

На одном из сайтов у меня решено похоже:


$ims= getenv("HTTP_IF_MODIFIED_SINCE");
if (!empty($ims)) $ims_timestamp= strtotime($ims);
else $ims_timestamp= 0;
$hd304= getenv("SERVER_PROTOCOL")." 304 Not Modified";
$Modified= mktime(0, 0, 0, 1, 1, date("Y"));
if ($Modified < $ims_timestamp)
header($hd304);
There are two types of people in this world: 1. Those who can extrapolate from incomplete data.
D
На сайте с 22.04.2004
Offline
49
#12

Прошу прощения за возвращение к старой теме.

Все вроде ясно, но не совсем. Не дают покоя следующие вопросы:

1) Если ответы сервера "Not Modified" и "Last-modified" с датой "старшей", чем указана в If-modified-since оба имеют смысл - страница не изменялась, то какая между ними разница?

2) Что будет, если на запрос If-modified-since не отвечать "Not Modified", а просто отдавать Last-modified с датой, не требующей обновления. Корректно ли это? Если нет, то поясните пожайлуста.

"Ходишь, ходишь в школу, и тут бац ..." - смена алгоритма поиска
SS
На сайте с 27.05.2004
Offline
42
#13

Not Modified - Не изменялся (дату здесь не передают вообще, не считая ETag конечно)

Last-modified - Последняя дата изменения

где тут один смысл?

Last-modified поэтому и отдают, чтобы клиент скачал более свежую версию и запомнил новую дату.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий