Różnica między Ctrl + Refresh a Ctrl + Shift + Refresh?

9

Rozumiem, że Ctrl+ Odśwież pobiera świeże treści z przeglądarki bez czytania pamięci podręcznej. Więc po co jest Ctrl+ Shift+ Odśwież?

Ctrl + Nagłówek żądania odświeżania wygląda następująco:

Cache-Control : max-age=0

dla Ctrl+ Shift+ Odśwież

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

Jaka jest prawdziwa różnica?

Alagu
źródło
4
Z jakiej przeglądarki korzystasz? Ctrl + Shift + F5 nie robi nic w Firefoksie 3.5 ani IE 6.
2
Zawsze myślałem, że CTRL + SHIFT + REFRESH to sztuczka, którą programiści powiedzieli swoim klientom ...
user2980,
@ user2980 no cóż, mylisz się
RomanSt

Odpowiedzi:

12

Oba są identyczne z przeglądarką na komputerze lokalnym. Nagłówki, o których wspomniałeś, to jedyna różnica.

Nagłówek Ctrl + Refresh oznacza, że ​​wszystkie serwery buforujące po drodze powinny zwrócić świeżą kopię strony.

Nagłówki Ctrl + Shift + Refresh oznaczają, że wszystkie serwery buforujące po drodze powinny zwrócić świeżą kopię strony, a także nie powinny buforować strony dla przyszłych żądań. Innymi słowy, przy następnym żądaniu strony powinna albo użyć poprzedniej pamięci podręcznej strony, albo poprosić o nową kopię, ale nie powinna jej używać.

Pragma: no-cache to wersja HTTP 1.0 Cache-Control: no-cache. Nie ma HTTP 1.0 równoważnego z Cache-Control: max-age = 0.

RFC2616 sekcja 14 podsekcja 9 zawiera istotne informacje: w3c.org: RFC2616 sec 14.9.1


źródło
1

Jest jeszcze jedna różnica, i to duża.

Po naciśnięciu Ctrl + Odśwież, dla każdego buforowanego obiektu, który ma nagłówek Last-Modifiedlub ETag, przeglądarka wyda żądanie z nagłówkiem If-Modified-Sincelub If-None-Match. Serwer może następnie wybrać odpowiedź 304 Not Modifiedbez ponownego wysyłania jakichkolwiek danych (zakładając, że dane w rzeczywistości nie są modyfikowane).

Gdy naciśniesz Ctrl + Shift + Refresh, przeglądarka nie wyda takich warunkowych If-*nagłówków, nie pozostawiając serwerowi żadnej opcji, tylko ponowne przesłanie danych.

RomanSt
źródło