> А в чём разница? И так и так браузер перегружает страницу.
А вот и нет.
Разница огромная. Допустим каждая страница сайта (html) подтягивает за собой ещё 2 файла — 1.css и 2.js (а в данном случае их 14, и я не шучу).
Тут 3 варианта развития событий:
1. Пользователь нажимает f5, и нормальный браузер запрашивает "не изменилось ли чего?", на что сервер отвечает "изменились файл22 и файл12, остальные — нет". И он закачивает эти 2 файла, а остальные берёт из кэша.
2. Пользователь нажимает ctrl+f5 или ctrl+r или ещё что-то подобное и браузер говорит — "я ничё не знаю о этом сайте. давай мне все что у тебя есть", и сервер отдаёт все 3 файла.
3. Пользователь нажимает на обычную ссылку, и браузер, говорит "дай мне только один (sic) html файл по этой ссылке", на что сервер отдаёт только один html файл. Всё остальное есть в кэше бравзера. Если вдруг при анализе какого-то "нового" файла не обнаружится, то браузер пошлёт запрос только для него одного.
Вот. Самая большая проблема в том что первый вариант как-бы всем подходит. Но, это только кажется. Дело в том что если, например, нажать f5, а потом, не дождавшись полной загрузки всей страницы, нажать ещё раз f5, то некоторые браузеры (chromium, iceweasel) посылают серверу запрос похожий на "ctrl+f5". И тут начинается:
1. Браузер начинает просить оригиналы тех файлов что уже есть у него в кэше. 2. Сервер начинает отдавать те-же самые файлы что уже есть в кэше браузера. 3. Браузер начинает принимать те-же самые файлы то уже есть у него в кэше.
Короче, начинается синхронизация файлов не на уровне их названия (а это в вэбе первостепенно), а на уровне их содержания.
Re:По поводу ссылок на текущий комментарий
> А в чём разница? И так и так браузер перегружает страницу.
А вот и нет.
Разница огромная. Допустим каждая страница сайта (html) подтягивает за собой ещё 2 файла — 1.css и 2.js (а в данном случае их 14, и я не шучу).
Тут 3 варианта развития событий:
1. Пользователь нажимает f5, и нормальный браузер запрашивает "не изменилось ли чего?", на что сервер отвечает "изменились файл22 и файл12, остальные — нет". И он закачивает эти 2 файла, а остальные берёт из кэша.
2. Пользователь нажимает ctrl+f5 или ctrl+r или ещё что-то подобное и браузер говорит — "я ничё не знаю о этом сайте. давай мне все что у тебя есть", и сервер отдаёт все 3 файла.
3. Пользователь нажимает на обычную ссылку, и браузер, говорит "дай мне только один (sic) html файл по этой ссылке", на что сервер отдаёт только один html файл. Всё остальное есть в кэше бравзера. Если вдруг при анализе какого-то "нового" файла не обнаружится, то браузер пошлёт запрос только для него одного.
Вот. Самая большая проблема в том что первый вариант как-бы всем подходит. Но, это только кажется. Дело в том что если, например, нажать f5, а потом, не дождавшись полной загрузки всей страницы, нажать ещё раз f5, то некоторые браузеры (chromium, iceweasel) посылают серверу запрос похожий на "ctrl+f5". И тут начинается:
1. Браузер начинает просить оригиналы тех файлов что уже есть у него в кэше. 2. Сервер начинает отдавать те-же самые файлы что уже есть в кэше браузера. 3. Браузер начинает принимать те-же самые файлы то уже есть у него в кэше.
Короче, начинается синхронизация файлов не на уровне их названия (а это в вэбе первостепенно), а на уровне их содержания.
Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4