|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.09.2018, 14:19 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Очистка кэша у посетителя сайта
Всем снова драсьте.
Нарисовалась такая вот картина маслом ... Иногда бывает необходимо ставить сайт "на парковку", и я отправляю посетителю информацию о том, что "на сайте ведутся технические работы бла-бла-бла". И заметил такую вещь: когда я прекращаю эти самые технические работы (читай перестаю слать 503 и инфу о тех-работах) - некоторое время как у меня, так и у других моих коллег-знакомых-друзей продолжает висеть эта картинка о технических работах какое то время. Скорее всего я имею дело с этим вашим кэшем, и негоже писать на странице с информацией о технических работах просьбу нажимать Ctrl+F5. Что уж там, некоторые личности из моего окружения знают что такое клавиатура только в общих чертах (панель с кнопочками), и до комбинаций там как до Сиднея на лошади. Собственно, что вы можете мне посоветовать ради исправления этой ситуации ?
Подпись ? Не, не слышал ...
|
24.09.2018, 14:24 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
На 503 отправлять заголовки о не кэшировании.
|
24.09.2018, 22:09 | #3 | |
Форумчанин
Регистрация: 05.09.2017
Сообщений: 157
|
1. заголовки кэширования. Из технической документации (то, что выше написал p51x):
Цитата:
2. Некоторые браузеры (замечены Хром и FF) чихают на заголовки кэширования, включая заголовки управления кэшем Last-Modified и Etag. И на короткое время кэширует любые ответы сервера. Такое их "нехорошее" поведение можно победить яваскриптом. На вашу страничку "Идут технические работы" подключить яваскрипт перезагрузки страницы. Например, на jquery по таймеру периодически обращаться к серверу и если он отвечает не 503 а 200 OK то делать перезагрузку документа по текущему URL: location.reload(true) (true - документ перезагружается всегда с сервера). Или даже делать location.replace(url) 3. Некоторые интернет-провайдеры принудительно кэшируют трафик пользователей. Чтобы победить таких, приходится добавлять к URL ничего не значащие параметры типа ?dummy=12345, где 12345 всегда разное. Таким же способом предотвращают кэширование яваскриптов, наверняка видели в html-коде: <script src="/js/script.js?1273455236"></script>
Безопасность с Content Security Policy
Последний раз редактировалось Ottava; 24.09.2018 в 22:12. |
|
25.09.2018, 17:24 | #4 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Цитата:
Всё остальное (про браузеры, чихающие на эти заголовки) пока что меня не сильно беспокоят. Однако стоит заметить, провайдеры мобильных интернетов часто на всякие коды ошибок вроде 404/410/500/503 и прочие отправляют пользователю свои странички со своей информацией об ошибке. Это иногда вызывает проблемы, когда например надо отправить 410 но следом кидать данные из разряда "всё нормально"; у меня была именно такая проблема, когда индекс гугла нужно было почистить от динамических страниц (25 000), я по определённым условиям вешал 410, и следом отправлял данные страницы. А Киевстару было плевать на эти данные - 410 же. Потом я настроил фильтры юзерагентов, robots.txt и ещё что то там, и определённым агентам отправляю 410, уже три месяца проблем не наблюдается.
Подпись ? Не, не слышал ...
|
|
26.09.2018, 14:51 | #5 | |
Форумчанин
Регистрация: 05.09.2017
Сообщений: 157
|
Цитата:
Я замечал, что некоторые провайдеры могут до недели полностью кэшировать ответы сайтов, включая все http-заголовки. Такое поведение провайдеров непобедимо, они отправляют пользователям свои заголовки, я не представляю как можно вмешаться в этот процесс. Разве что замутить на ajax принудительный переход на новый url, которого ещё нет в кэше провайдера. Но надо быть аккуратным с поисковыми системами, чтобы они не наиндексировали дублей страниц.
Безопасность с Content Security Policy
Последний раз редактировалось Ottava; 26.09.2018 в 14:54. |
|
26.09.2018, 19:29 | #6 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Для этого придумали link rel canonical.
У меня на сайте ЧПУ ведёт себя немного странно, и под него пришлось составлять таблицу канонических ссылок с привязкой к SEO-URL, и в header.tpl искать по приоритету, если есть нужный SEO-URL, но адрес не совдатает с привязанной ссылкой - на морду отправляется Цитата:
Подпись ? Не, не слышал ...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Приветствие посетителя по имени | Иляс | Общие вопросы Web | 6 | 22.08.2017 14:33 |
Подтверждение местоположения посетителя | mrdemkin | JavaScript, Ajax | 1 | 04.04.2015 19:21 |
Запись ip посетителя в mysql | Пиу Пиуу | PHP | 6 | 27.03.2015 09:53 |
Как узнать работает ли в браузере посетителя javascript? | Arassir | JavaScript, Ajax | 2 | 08.01.2011 14:34 |
Можно-ли массштабировать изображения на сайте подстраиваясь под разрешение посетителя? | maagalex | HTML и CSS | 22 | 20.04.2010 18:13 |