Різниця між Ctrl + Refresh та Ctrl + Shift + Refresh?


9

Я розумію, що Ctrl+ Refresh витягує свіжий вміст із браузера, не читаючи кеш. Тоді для чого Ctrl+ Shift+ Refresh?

Ctrl + Оновити заголовок запиту виглядають так:

Cache-Control : max-age=0

для Ctrl+ Shift+ Оновити

Pragma : no-cache <br>
Cache-Control : no-cache

Яка реальна різниця?


4
Який браузер ви використовуєте? Ctrl + Shift + F5 нічого не робить у Firefox 3.5 або IE 6.

2
Я завжди думав, що CTRL + SHIFT + REFRESH - це трюк, який програмісти розповіли своїм клієнтам ...
user2980

@ user2980 добре ви помиляєтеся :)
RomanSt

Відповіді:


12

Обидва ідентичні браузеру на локальній машині. Згадані вами заголовки - єдина різниця.

Заголовок Ctrl + Refresh означає, що будь-які кешуючі сервери на цьому шляху повинні повернути нову копію сторінки.

Заголовки Ctrl + Shift + Refresh означають, що будь-які кешуючі сервери на цьому шляху повинні повертати нову копію сторінки, а також не повинні кешувати сторінку для будь-яких майбутніх запитів. Іншими словами, при наступному запиті на сторінку вона повинна або використовувати попередній кеш сторінки, або запитувати нову копію, але не повинна використовувати цю.

Прагма: no-cache - це версія HTTP 1.0 Cache-Control: no-cache. Немає HTTP 1.0, еквівалентного кеш-контролю: max-age = 0.

Підрозділ 9 розділу 14 RFC2616 має відповідну інформацію: w3c.org: RFC2616 сек. 14.9.1


1

Є ще одна різниця, і велика в цьому.

Якщо натиснути Ctrl + Refresh, для кожного кешованого об’єкта, який має Last-Modifiedабо ETagзаголовок, браузер видасть запит із If-Modified-Sinceабо If-None-Matchзаголовком. Потім сервер може вибрати відповідь з 304 Not Modified, не повторно надсилаючи будь-які дані (припустимо, що дані насправді не змінені).

Якщо натиснути Ctrl + Shift + Refresh, браузер не видасть таких умовних If-*заголовків, не залишаючи серверу нічого іншого, крім як надсилати дані знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.