Кэширование браузера файлов CSS

62
задан Már Örlygsson 25 November 2013 в 17:57
поделиться

6 ответов

Ваш файл будет , вероятно кэшироваться - но он зависит...

Различные браузеры имеют немного отличающиеся поведения - наиболее заметно при контакте с неоднозначными/ограниченными заголовками кэширования, происходящими от сервера. При отправке чистого сигнала браузеры повинуются, фактически все время.

самое большое различие безусловно, находится в конфигурации кэширования значения по умолчанию различных веб-серверов и серверов приложений.

Некоторые (например, Apache), вероятно, будут служить известным статическим типам файлов с HTTP-заголовками, поощряющими браузер кэшировать их, в то время как другие серверы могут отправить no-cache команды с каждым ответом - независимо от типа файла.

...

Так, прежде всего, читает некоторые превосходные учебные руководства по кэшированию HTTP там. HTTP, Кэширующийся & слом кэша для Издателей Содержания был реальным сенсационным сообщением для меня:-)

Следующая установка, и возитесь с Firebug и Живые HTTP-заголовки дополнение, для обнаружения, какие заголовки сервер на самом деле отправляет.

Тогда читает Ваши документы веб-сервера, чтобы узнать, как настроить их к совершенству (или уговорить Вашего системного администратора на выполнение его для Вас).

...

относительно того, что происходит, когда браузер перезапущен, он зависит от браузера и пользовательской конфигурации.

Как показывает опыт, ожидайте, что браузер, более вероятно, будет регистрироваться с сервером после каждого перезапуска, будет видеть, изменилось ли что-нибудь (см. If-Last-Modified и If-None-Match).

при конфигурировании сервера правильно он должен быть в состоянии возвратить суперкороткое 304 Не Измененный (стоящий очень мало пропускной способности), и после этого браузер будет использовать кэш в качестве нормального.

60
ответ дан Már Örlygsson 24 November 2019 в 16:47
поделиться

К первой части Вашего вопроса - да, кэш браузеров css файлы (если это не отключено конфигурацией браузера). Много браузеров имеют сочетание клавиш для перезагрузки страницы без кэша. Если Вы внесли изменения в css, и хотят, чтобы пользователи видели их сразу вместо ожидания в следующий раз, когда браузер перезагружает файлы без кэширования, можно изменить путь CSS ir подаваемый путем добавления некоторых параметров к URL как это:

/style.css?modified=20012009
42
ответ дан Deniss Kozlovs 24 November 2019 в 16:47
поделиться

Это действительно зависит от HTTP-заголовков, отправленных с файлами CSS как оба из предыдущего состояния ответов - пока Вы не добавляете материала cachebusting к href., например,

<link href="/stylesheets/mycss.css?some_var_to_bust_cache=24312345" rel="stylesheet" type="text/css" />

, Некоторые платформы (например, направляющие) вставляют их по умолчанию.

Однако, Если Вы получаете что-то как поджигатель или скрипач , Вы видите точно, что Ваш браузер загружает по каждому запросу - который expecially полезен для обнаружения, в противоположность чему Ваш браузер выполнение, что это должно сделать.

Все браузеры должны уважать заголовки кэша таким же образом, если не настроено игнорировать их (но там обязаны быть исключениями)

7
ответ дан DanSingerman 24 November 2019 в 16:47
поделиться

Вероятно, стоит отметить, что IE не будет кэшировать css файлы, названные другими css файлами с помощью @import метода. Так, например, если Ваша страница HTML свяжется с "master.css", который вытягивает в "reset.css" через @import, то тогда reset.css не будет кэшироваться IE.

3
ответ дан Andy Ford 24 November 2019 в 16:47
поделиться

Это зависит, на каких заголовках Вы отправляете наряду со своими файлами CSS. Проверьте свою конфигурацию сервера, поскольку Вы, вероятно, не отправляете их вручную. Сделайте поиск Google "http кэширующийся" для приобретения знаний о различных опциях кэширования, которые можно установить. Можно вынудить браузер загрузить новую копию файла каждый раз, это загружает его, например, или можно кэшировать файл в течение одной недели...

1
ответ дан Jan Hančič 24 November 2019 в 16:47
поделиться

Если Вы не смешали со своим сервером, да он кэшируется. Все браузеры, как предполагается, обрабатывают его то же. Некоторым людям (как я) можно было бы настроить их браузеры так, чтобы это не кэшировало файлов все же. Закрытие браузера не делает недействительным файл в кэше. Изменение файла на сервере должно вызвать обновление файла как бы то ни было.

0
ответ дан Al W 24 November 2019 в 16:47
поделиться