Как отключить кэширование на мобильном устройстве

Self Author

Новичок
Столкнулся с проблемой: Хром на смартфоне кэширует страницы, несмотря на все запреты заголовков. Заголовки такие:
Status: HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Thu, 02 Feb 2017 14:14:25 GMT
Content-Type: text/html; charset=Windows-1251
Connection: close
X-Powered-By: PHP/5.6.5
Set-Cookie: PHPSESSID=1b3it1prhvbij00fmplr5m3o07; path=/
Expires: Thu, 12 Feb 2015 01:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Last-Modified: Thu, 02 Feb 2017 14:14:25GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 13127

Кто-нибудь знает ещё способы заставить смартфоновский браузер получать запрашивать страницу, а не брать её из кэша?
Настройки браузера - не решают вопрос. Нужно, чтобы у всех работало, без особых личных настроек.
 

WMix

герр M:)ller
Партнер клуба
это не только на мобильных устройствах происходит. каждый уважающий себя производитель, тянет одеяло на себя, когда касается стандартов, включая механизм кеширования.
мы проблему кеширования решаем, добавив версию билда в имя файла. myfile.vXXYYZZ.js (на каждый новый билд - новое имя файла)
 

Self Author

Новичок
Да дело даже не в билде файла. Здесь всё нормально. Дело в данных страницы. Лазию мобильником по сайту, а потом смотрю логи - а запросов нет к сайту. Только если идёт POST, тогда обращается. Вот это жесть! С компа - всё нормально.
 

Self Author

Новичок
Частично разобрался. Мобильные браузеры принудительно пускают запросы через какие-то прокси. Напрямую, заметил, только за favicon лазят.
Вот эти прокси и кэшируют страницы нещадно. :( Как их переубедить?
 

WMix

герр M:)ller
Партнер клуба
почему статику нельзя кешировать?
 

antson

Новичок
Партнер клуба
cache-control: no-cache в принципе для современных должно хватать.

но вот со стороны мобильного пользователя я бы предпочел, чтобы кешировал
чем на каждый чих качал по 3 метра по едже.

что за броузер на мобиле ? не ставил ли чего из разряда оптимизаторов на телефон?

И что там у тебя на главной странице в мобильной версии есть такого, что требуется
каждый раз отдавать всю страницу ?
может этот кусок грузить через js по урлу с рандомной частью.
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
@Self Author, сами по себе клиент и сервер понимают друг друга, кешируют что надо, не кешируют что не надо. в приведенном тобою заголовке все отлично, покажи где что не работает. лучше урл дай и опиши действия, поглядим
 

Self Author

Новичок
http://pritchi.ru
Там есть формы логина, регистрации и восстановления пароля. Они подгружаются сразу, на странице, но скрыты. У каждой формы есть уникальный код, который передаётся потом вместе с данными ввода. А в сессии хранится этот код и сравнивается. (Браузер на телефоне - Хром). Так вот, если сначала побродить по сайту подольше, а потом решить залогиниться, (например, написать в логине и пароле чушь), то сайт вместо того, чтобы сказать "неправильный логин или пароль" выдаст "ошибка передачи данных". Это как раз сигнал о том, что форма не отработалась. А не отработалась она потому, что там в форме уже давно неактуальная информация (она сбрасывается, если устарела, не помню, через сколько времени).
Сейчас решил попробовать Cache-Control: no-store, no-cache, must-revalidate Переустановил браузер. Вроде сработало. Посмотрю ещё попозже, будет работать или нет.
 

WMix

герр M:)ller
Партнер клуба
Я не умею гадать, тебе самому придется найти место, где происходит чтото не так.
 

Self Author

Новичок
Разобрался в причинах, но ума не приложу, как с этим бороться.
Дело вот в чём. Хром на Андроиде, независимо от того, пользуюсь я мобильным интернетом или через домашний wifi, заходит на сайт через Гугловские айпишники. При чём пока загружает одну страницу, обращается сразу с нескольких: 66.102.9.23, 66.102.9.25, 66.102.9.43, 66.102.9.155 - с одного берёт html, с другого - стили и картинки, с третьего - js.
Но как только идёт POST-запрос, то он делает его с физического адреса, каким моё подключение светится в интернете. Сайт видит, что в пределах одной сессии меняется ip, а ему это не нравится.
Что с этим цирком делать?
 

AnrDaemon

Продвинутый новичок
Ничего. Расслабиться и получать удовольствие.
 

AmdY

Пью пиво
Команда форума
Это хорощо же, мобильные браузеры оптимизируют загрузку, да и опера с красными труселями тоже. ВОпрос в том, почему тебе это мешает и для каких нужд нужна привязка к айпишнику?
 

Self Author

Новичок
Проверил Мозилу, проверил Яндекс, проверил Пуфин. Все нормально обращаются. Только Хром жонглирует айпишниками.
Проверяю айпишник из соображений безопасности. Чтобы пост-запросы отправлял тот же, кто перед этим получил форму. Дабы усложнить работу всяким роботам.
Можно, конечно, ради Хрома отключить эту проверку, но стоит ли?
 

AnrDaemon

Продвинутый новичок
Вот вы смешной.
Так робот скорее будет делать запросы с одного адреса, чем человек.
 
Последнее редактирование:

AmdY

Пью пиво
Команда форума
добавляй в форму в скрытое поле токен для проверки, затем свверай его и то, что в сессии. не надо придумывать велосипеды завязываясь на айпишник.
 
Сверху