- Браузери кешують редіректи Припустимо ви зайшли на сторінку, яка перенаправила вас на іншу сторінку,...
- Коли на сторінці встановлений мета тег: Meta Refresh Redirect
- Як очистити кеш редиректів в Google Chrome
- 1. Відкриваємо панель розробника
- 2. Відкриваємо налаштування панелі розробника
- 3. Відключаємо кешірвоаніе
- 4. Перевіряємо одне з посилань (URL)
- Відключення кешу редиректів в FireFox
Браузери кешують редіректи
Припустимо ви зайшли на сторінку, яка перенаправила вас на іншу сторінку, наприклад, зайшли на сайт site.ru, а він перенаправив вас на site.ru/en.
Таке перенаправлення (редирект) Google Chrome кешируєт - це вже досить відомий факт і це не баг, і змінювати його не будуть, тому що такий кеш потрібен для прискорення завантаження веб-сторінки. Однак, іноді така поведінка може стати головним болем, зокрема під час розробки сайтів. Складність ще й у тому, що очистити такий кеш не так просто, і очищення від іншого кешу не включає в себе очищення і кеша перенаправлень.
В яких випадках відбувається запам'ятовування редиректу
Коли сайт відповідає перенаправленням в заголовку: HTTP Status Code Redirect
Коли сервер відповідає на запит браузера, він використовує заголовки. У них сервер може дати інструкцію браузеру перейти на іншу сторінку.
HTTP / 1.1 301 Moved Permanently Location: http://www.example.org/index.asp
Як це працює докладніше читайте в вики HTTP 301 . Після першого такого візиту, Хром запам'ятовує редирект і при наступних візитах попередньої сторінки, він автоматично перекине вас на нову сторінку, без відвідування сервера. Проблема з'являється тоді, коли сервер вже не просить браузер перейти на іншу сторінку, логіка його роботи змінилася, але браузер з за кеша нічого про це не знає і продовжує перенаправляти вас на іншу сторінку ...
Коли на сторінці встановлений мета тег: Meta Refresh Redirect
У цьому випадку сервер не вимагає перенаправлень і відповідає як зазвичай зі статус кодом 200 (означає що сторінка успішно завантажена). Однак в контенті сторінки міститься тег редиректу:
<META HTTP-EQUIV = "refresh" CONTENT = "0; URL = / cgi-sys / defaultwebpage.cgi">
Як очистити кеш редиректів в Google Chrome
Якщо коротко і без зайвих слів, то це робиться так:
- Відкрити Панель розробника
- Зайти в Налаштування панелі розробника
- Включити опцію Вимкнути кеш (при відкритій панелі розробника)
- Відвідати потрібний URL не закриваючи панель розробника
А тепер, розберемо кожен пункт докладніше.
Секрет у використанні інструментів розробника, які вбудовані в Chrome і відкриваються по комбінації Ctrl + Shift + I. Або так:
1. Відкриваємо панель розробника
- Кнопка меню - справа зверху.
- пункт Інструменти.
- пункт Панель розробника.
2. Відкриваємо налаштування панелі розробника
Для цього в панелі, розробника тиснемо F1 або знаходимо іконку (три вертикальні крапки) натискаємо і вибираємо пункт Налаштування.
3. Відключаємо кешірвоаніе
У розділі налаштувань Мережа ставимо галку поруч з опцією Відключити кеш (при відкритій панелі розробника).
Чи не закриваємо панель розробника!
4. Перевіряємо одне з посилань (URL)
При відкритій панелі розробника переходимо по посиланню редирект на якій потрібно перевірити.
Відключення кешу редиректів в FireFox
У Мозіль все робиться інакше, але все також просто.
- Вписуємо в рядок пошуку: about: config і переходимо в настройки.
- Знаходимо настройку: browser.cache.disk.enable і виставляємо FALSE
- Знаходимо настройку: browser.cache.memory.enable і виставляємо FALSE
- Перевіряємо потрібний URL.
Після всіх перевірок рекомендується повернути настройки в початковий стан, тому що таке кешування все ж потрібно, вам самим в першу чергу!