Гость_images
23.02.2013 - 05:04
Если сайт состоит только на сессиях, куки не какие не прописаны - браузер вообще понимает что ему необходимо для начала посмотреть куки и показать картинки если они уже существуют в нем, или же он всегда заного их загружает с сервера? Вообще сервер должен посылать какую та инфу пользователю (браузеру - кукисом) чтоб он понимал и не качал картинки по новой? или же браузеры сами должны понимать что делать?
Объясните пожалуйста
Nikitian
23.02.2013 - 05:29
Качать или не качать картинки - зависит от получаемых заголовков ответа сервера вместе с картинками, а так же от наличия этих картинок в кеше браузера. Куки для этого не используются.
Расскажу один из вариантов взаимодействия браузера и сервера.
Браузер впервые видит адрдес картинки и запрашивает её у сервера. Сервер возвращает картинку с кодом ответа 200 и дополнительными заголовками. Пусть один из заголовков будет Last-Modified - это дата последнего изменения файла.
В следующий раз, когда браузеру понадобится отобразить эту картинку, он постарается либо сразу подсунуть картинку из своего кеша, либо (если прошло некоторое время или нажата F5 для Firefox), браузер отправляет запрос с заголовком If-Modified-Since указывая его значением дату, которую он получил ранее с картинкой от сервера в поле Last-Modified. Сервер сравнивает эти даты и если они идентичны, то возвращает пустой ответ с кодом 304. Если различны - идёт сам файл с 200 кодом ответа.
Это лишь один из вариантов, есть и другие способы управления кэшированием. Некоторые из них стандартизованы, некоторые по-разному воспринимаются браузером, сервером и возможными прокси-серверами....
Всё это делается браузером и сервером самостоятельно и не требует участия программиста. Достаточно один раз настроить сервер, а эти настройки идут по умолчанию.