Найти - Пользователи
Полная версия: отправка 304 с разных страниц
Начало » Web » отправка 304 с разных страниц
1
o7412369815963
на сайте много страниц:
/post/123
/post/555
/post/987654321


по всем этим урлам отдается одно и тоже содержимое, если браузер зайдет повторно на страницу - естественно получит 304,
как сделать что-б он со всех урлов получал 304 изначально, если у него есть этот контент?

я так понял браузеры делают кеш-контроль в разрезе полного урла ( /post/123?param=555 ) сюда не входит только то что за ‘#’
т.е. вот так будет работать, т.к. считается одним урлом:
/post/#123
/post/#555
/post/#987654321

но это не штатно, есть ли более разумный способ?
o7412369815963
хочу прояснить:
/post/#123
/post/#555
по этому значению (123, 555), через ajax с сайта будет вытягиваться информация.
Андрей Светлов
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
Александр Кошелев
Андрей Светлов
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
ETag или Last-Modified работают только в рамках одного урла. Клиент просто не будет присылать If-None-Match или If-Modified-Since, если ресурс отличается от того, с которого были получены заголовки.
o7412369815963
Андрей Светлов
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
не подходит, т.к. клиент не возвращает “If-None-Match” если урл сменился
o7412369815963
Александр Кошелев
Андрей Светлов
Как бы есть ETag: http://en.wikipedia.org/wiki/HTTP_ETag как раз для кеширования
ETag или Last-Modified работают только в рамках одного урла. Клиент просто не будет присылать If-None-Match или If-Modified-Since, если ресурс отличается от того, с которого были получены заголовки.
только что увидел сообщение, тестировал.
Андрей Светлов
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Не сразу понял. Нет идей.
Александр Кошелев
Андрей Светлов
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Очевидно что это ошибка проектирования и не могут два по факту разных ресурса быть по сути одним и тем же.
o7412369815963
Александр Кошелев
Андрей Светлов
Так /post/123 и /post/555 — это именно одна страница и кэш должен быть общим?
Очевидно что это ошибка проектирования и не могут два по факту разных ресурса быть по сути одним и тем же.
Фишка такая: есть напичканная страница в 10..20кб - шаблон, каждая страница строится по этому шаблону, а изменяемого контента там на 1..3кб.

получается так (цель):
1) клиент обращается на любую страницу, моментально получает 304, - тут же начинает строить страницу и выполнять скрипты.
2) полетел ajax запрос на получение контента, получили 2кб - вставили.

в итоге клиент получает только контент, без постоянного получения шаблона.

>Не сразу понял. Нет идей.
значит остается только метод с хранением параметров за “#”


в голову пришел такой вариант: весь html+js+css выкидываем во внешний файл который будет всегда “304”, а по обращению клиента отдавать 512байтовый файл который будет разворачивать этот внешний файл.
Андрей Светлов
o7412369815963
в голову пришел такой вариант: весь html+js+css выкидываем во внешний файл который будет всегда “304”, а по обращению клиента отдавать 512байтовый файл который будет разворачивать этот внешний файл.
Это похоже на правильное решение.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB