LINUX.ORG.RU

Вопросы по кешированию HTML


0

0

Собираюсь переводить свои форумы на статику.

Посему, хочется иметь такой механизм нотификации браузерам, что, если они поддерживают IMS-запросы (HTTP 1.1?), то чтобы могли спокойно кешировать документы, если нет - то не кешировали бы.

Я так понимаю, нужно выдать такую комбинацию метатэгов, которая разрешала бы кеширование браузерам с IMS, и запрещала бы для остальных.

Это реально?

Или придётся забить на некорректные браузеры? :)

★★★★★

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25

Т.е.

а) If-Modified-Since - это request header. Т.е. отличить "умеющие" браузеры от неумеющих очень просто: неумеющие но посылают этот хедер.

б) поддержка этого дела на статике - задача вебсервера, а не приложения. Достаточно чтобы был правильный Cache-Control у отдаваемых статических страничек (типа 'private, must-revalidate') и установлены вменяемые Last-Modified, Expires.

в) оно может замечательно работать и для динамических страниц, с кодом (псевдо) в духе:

lasttime = page_last_modified(db_handle, page_id); usertime = HTTP->header_in("If-Modified-Since")

if (usertime && lasttime < usertime) {

HTTP->set_status(304);

exit();

}

//else нарисовать страницу, в заголовке - 200 OK, Last-Modified: `now()`, Expires = `now() + 86400*360`

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.