Доброго времени странник, здесь вам расскажу о такой, порой не приятной штуке, как — кэш редиректов в браузерах «Google Chrome» и «Mozilla FireFox«.
Дабы я не тратил ваше время, а вы понимали о чем идет речь, пару слов о проблеме.
Редиректы (пере направления) кэшируются браузером
Вот к примеру, зашли вы на страничку в всемирной паутине или к себе на сервер, поправочка, попытали зайти на страницу сети, а вас сразу же перенаправило на другую страницу или даже сайт, для наглядности, сайт вымышлен, пробуем войти на сайт site.com, а он перенаправил вас на site.com/ru. Или же в случаи не верного прописанного редиректа вас перебросило на другой ресурс и теперь после правки редиректа по прежнему попадаете на старые грабли..
Такое вот перенаправление, иными словами — редирект, Chrome кэширует — этот процесс был предусмотрен разработчиками для ускорения загрузки веб-страницы. И все вроде бы замечательно, но случается иногда и такое, что данное поведение может стать головной болью, особенно во время разработки сайтов. Потому, как очистить такой кэш не так уж просто, обычная очистка кэша не включает в себя очистку кэша перенаправлений.
Как происходит запоминание браузером редиректа
Когда сайт отвечает редиректом в заголовке: HTTP Status Code Redirect
Сервер сайта, в силу особенностей его работы, скажем переехал или технический сбой, на момент попытки войти на него, в нашем случаи site.com, может дать ответные инструкцию браузеру перейти на другую страницу.
HTTP/1.1 301 Moved Permanently Location: http://www.site.org/ru
Более подробнее вы можете прочитать на вики HTTP 301. После первого такого визита и получения инструкций, к примеру браузер Chrome, запоминает перенаправление и при последующих попытках посещения сайта, он автоматически перекинет вас на новый адрес, без посещения сервера. Но вот беда, когда сервер сайта уже исправен и не посылает браузеру инструкций перейти на другую страницу, браузер из за сообственного кэша ничего об этом не знает и продолжает перенаправлять вас на другую страницу…
А еще бывает на странице установлен мета тег: Meta Refresh Redirect
В такой ситуации сервер не просит браузер делать редирект и отвечает как обычно — страница успешно загружена, в частности это код 200. Но в самой странице, в ее коде содержится специальный тег перенаправления, к примеру:
<META HTTP-EQUIV="refresh" CONTENT="0;URL=/sbros_hesha_htaccesss/ru">
Я сам в свое время был более глупым чем сейчас И не знал, как с этим бороться, некое энное время ушло на поиск нужной информации, но я ее таки нашел И охотно делюсь с вами.
На момент публикации, а это 15.05.2018, способы рабочие, как будет дела обстоять в следующих обновлениях мне не известно.
Отключаем кэш редиректов в Google Chrome
Идем по порядку:
- Меню Браузера, обычно это справа вверху три точки
- Дополнительные инструменты = > «Инструменты разработчика«
- Зайти в «Настройки» панели разработчика, обычно это справа три точки на появившейся панели.
- В разделе настроек «Сеть», она же «Network«, ставим галку рядом с «Отключить кэш«, то есть «Disable cache«.
- Посетить нужный URL не закрывая панель разработчика!
Инструменты разработчика, встроены в Chrome, можно открыть по комбинации клавиш Ctrl+Shift+I.
Отключаем кэш редиректов в Mozilla FireFox
Как по мне, в огненной лисе даже все проще делается, идем по пунктам:
- Вписываем в строку поиска, она же адресная строка: about:config и переходим;
- Ищем настройку: browser.cache.disk.enable и выставляем FALSE;
- Теперь ищем настройку: browser.cache.memory.enable и так же выставляем FALSE;
- Проверяем нужный URL;
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.