Форум сайта python.su
на сайте много страниц:
/post/123
/post/555
/post/987654321
…
по всем этим урлам отдается одно и тоже содержимое, если браузер зайдет повторно на страницу - естественно получит 304,
как сделать что-б он со всех урлов получал 304 изначально, если у него есть этот контент?
я так понял браузеры делают кеш-контроль в разрезе полного урла ( /post/123?param=555 ) сюда не входит только то что за ‘#’
т.е. вот так будет работать, т.к. считается одним урлом:
/post/#123
/post/#555
/post/#987654321
…
но это не штатно, есть ли более разумный способ?
Офлайн
хочу прояснить:
/post/#123
/post/#555
по этому значению (123, 555), через ajax с сайта будет вытягиваться информация.
Офлайн
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
Офлайн
Андрей СветловETag или Last-Modified работают только в рамках одного урла. Клиент просто не будет присылать If-None-Match или If-Modified-Since, если ресурс отличается от того, с которого были получены заголовки.
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
Офлайн
Андрей Светловне подходит, т.к. клиент не возвращает “If-None-Match” если урл сменился
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
Офлайн
Александр Кошелевтолько что увидел сообщение, тестировал.Андрей СветловETag или Last-Modified работают только в рамках одного урла. Клиент просто не будет присылать If-None-Match или If-Modified-Since, если ресурс отличается от того, с которого были получены заголовки.
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
Отредактировано (Май 15, 2011 16:49:33)
Офлайн
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Не сразу понял. Нет идей.
Офлайн
Андрей СветловОчевидно что это ошибка проектирования и не могут два по факту разных ресурса быть по сути одним и тем же.
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Офлайн
Александр КошелевФишка такая: есть напичканная страница в 10..20кб - шаблон, каждая страница строится по этому шаблону, а изменяемого контента там на 1..3кб.Андрей СветловОчевидно что это ошибка проектирования и не могут два по факту разных ресурса быть по сути одним и тем же.
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Офлайн
o7412369815963Это похоже на правильное решение.
в голову пришел такой вариант: весь html+js+css выкидываем во внешний файл который будет всегда “304”, а по обращению клиента отдавать 512байтовый файл который будет разворачивать этот внешний файл.
Офлайн