Что такое кэширование и как оно работает | AWS
Узнайте о различных отраслях и примерах использования кэширования
Мобильные технологии
Мобильные приложения – это сегмент рынка, который растет с невообразимой скоростью, учитывая быстрое освоение устройств потребителем и спад в использовании традиционного компьютерного оборудования. Практически для каждого сегмента на рынке, будь то игры, коммерческие приложения, медицинские программы и т. д., есть приложения с поддержкой мобильных устройств. С точки зрения разработки создание мобильных приложений очень похоже на создание любых других приложений. Вы сталкиваетесь с теми же вопросами на уровнях представления, бизнеса и данных. Несмотря на разницу в пространстве экрана и инструментах для разработчиков, общей целью является обеспечение качественного взаимодействия с клиентом. Благодаря эффективным стратегиям кэширования ваши мобильные приложения могут обеспечивать такой уровень производительности, которого ожидают ваши пользователи, масштабироваться до любых размеров и сокращать общие затраты.
AWS Mobile Hub – это объединенная консоль для удобного поиска, настройки и использования облачных сервисов AWS, предназначенных для разработки и тестирования мобильных приложений, а также мониторинга их использования.
Интернет вещей (IoT)
Интернет вещей – это концепция сбора информации с устройств и из физического мира с помощью датчиков и ее передачи в Интернет или в приложения, которые принимают эти данные. Ценность IoT заключается в способности понимать собранные данные в режиме, близком к реальному времени, что в конечном счете позволяет системе и приложениям, принимающим эти данные, быстро реагировать на них. Возьмем, к примеру, устройство, которое передает свои GPS-координаты. Ваше приложение IoT может предложить интересные места, которые находятся поблизости от этих координат. Кроме того, если вы сохранили предпочтения пользователя устройства, то можете подобрать наиболее подходящие рекомендации для этого пользователя.
AWS IoT – это управляемая облачная платформа, которая позволяет подключенным устройствам просто и безопасно взаимодействовать с облачными приложениями и другими устройствами.
Дополнительные сведения: Managing IoT and Time Series Data with Amazon ElastiCache for Redis
Рекламные технологии
Современные приложения в сфере рекламных технологий особо требовательны к производительности. Примером важной области развития в этой сфере является торг в режиме реального времени (RTB). Это подход к трансляции рекламы на цифровых экранах в режиме реального времени, основанный на принципе аукциона и работающий со впечатлениями на самом подробном уровне. RTB был преобладающим способом проведения транзакций в 2015 году, учитывая то, что 74,0 процента рекламы было куплено программными средствами, что в США соответствует 11 миллиардам долларов (согласно eMarketer Analysis). При создании приложения для торгов в режиме реального времени важно учитывать то, что одна миллисекунда может решать, было ли предложение предоставлено вовремя, или оно уже стало ненужным. Это значит, что нужно крайне быстро получать данные из базы. Кэширование баз данных, при использовании которого можно получать данные о торгах за считанные доли миллисекунды, – это отличное решение для достижения такой высокой производительности.
Игровые технологии
Подробнее о разработке игр см. здесь.
Мультимедиа
Мультимедийным компаниям часто требуется передавать клиентам большое количество статического контента при постоянном изменении количества читателей или зрителей. Примером является сервис потоковой передачи видео, например Netflix или Amazon Video, которые передают пользователям большой объем видеоконтента. Это идеальный случай для использования сети доставки контента, в которой данные хранятся на серверах кэширования, расположенных во всем мире. Еще одним аспектом медиаприложений является пикообразная и непредсказуемая нагрузка. Возьмем, к примеру, публикацию в блоге на веб-сайте, о которой некоторая знаменитость только что отправила сообщение в Twitter, или веб-сайт футбольной команды во время Суперкубка. Такой высокий пик спроса на маленькое подмножество контента – вызов для многих баз данных, потому их пропускная способность для отдельных ключей ограничена. Поскольку пропускная способность оперативной памяти гораздо выше, чем у дисков, кэш базы данных помогает решить эту проблему путем перенаправления запросов чтения в кэш в памяти.
Интернет-коммерция
Современные приложения для электронной коммерции становятся все сложнее. При совершении покупок в них учитываются личные предпочтения, например в режиме реального времени даются рекомендации, которые основаны на данных пользователя и истории его покупок. Обычно для этого требуется заглянуть в социальную сеть пользователя и взять за основу для рекомендации то, что понравилось друзьям, или то, что они приобрели. Количество данных, которые нужно обработать, растет, а терпение клиентов – нет. Поэтому обеспечение производительности приложения в режиме реального времени – это не роскошь, а необходимость. Хорошо реализованная стратегия кэширования – это важнейший аспект производительности приложения, от которого зависят успех и неудача, продажа товара и потеря клиента.
Социальные сети
Приложения для социальных сетей взяли мир штурмом. У таких социальных сетей, как Facebook, Twitter, Instagram и Snapchat, очень много пользователей, и объем контента, который они потребляют, все больше растет. Когда пользователи открывают свои ленты новостей, они ожидают, что увидят свежий персонализированный контент в режиме реального времени. Это не статический контент, поскольку у каждого пользователя разные друзья, фотографии, интересы и т.
Здравоохранение и здоровый образ жизни
В сфере здравоохранения происходит цифровая революция, благодаря которой медицинское обслуживание становится доступным все большему количеству пациентов во всем мире. Некоторые приложения позволяют пациентам общаться с врачами по видеосвязи, а многие крупные клиники предлагают своим клиентам приложения, в которых можно посмотреть результаты анализов и связаться с медицинским персоналом. Для поддержания здорового образа жизни существует множество приложений: от программ для отслеживания показаний датчиков (например, FitBit и Jawbone) до полных курсов тренировок и подборок данных. Поскольку эти приложения по своей сути интерактивные, необходимо, чтобы они были высокопроизводительными и удовлетворяли бизнес-требованиям и требованиям к данным. Вооружившись эффективной стратегией кэширования, вы сможете обеспечить быструю работу приложений, сократить общие затраты на инфраструктуру и масштабировать ее по мере роста востребованности.
Подробнее о создании приложений для сферы здравоохранения на AWS см. здесь.
Финансы и финансовые технологии
За последние годы потребление финансовых сервисов очень изменилось. Существуют приложения для доступа к банковским и страховым услугам, функциям выявления мошенничества, сервисам инвестирования, оптимизации капитальных рынков с использованием алгоритмов, которые работают в режиме реального времени, а также многие другие приложения. Очень сложно предоставлять доступ к финансовым данным клиента и возможность проведения таких транзакций, как перевод средств или совершение платежей, в режиме реального времени. Во-первых, к приложениям для этой сферы применяются те же ограничения, что и к приложениям для других сфер, в которых пользователю требуется взаимодействовать с приложением в режиме, близком к реальному времени. Кроме того, финансовые приложения могут предъявлять дополнительные требования, например относительно повышенной безопасности и выявления мошенничества. Для того чтобы производительность отвечала ожиданиям пользователя, крайне важно создать эффективную архитектуру с использованием стратегии многоуровневого кэширования. В зависимости от требований приложения уровни кэширования могут включать кэш сеансов для хранения данных о сессиях пользователя, сеть доставки контента для передачи статического контента и кэш базы данных для передачи часто запрашиваемых данных, таких как последние 10 покупок клиента.
Подробнее о финансовых приложениях на AWS см. здесь.
Кэш браузера | .htaccess
- htaccess кэширование сохраняет содержимое веб-страницы на локальном компьютере, когда пользователь посещает ее;
- Использование кэша браузера – веб-мастер дает указания браузерам, как следует рассматривать ресурсы.
Когда браузер отображает веб-страницу, он должен загрузить логотип, CSS файл и другие ресурсы:
Кэш браузера «запоминает» ресурсы, которые браузер уже загрузил. Когда посетитель переходит на другую страницу сайта, логотип, CSS файлы и т.д. не должны загружаться снова, потому что браузер уже «запомнил» их (сохранил). В этом заключается причина того, почему во время первого посещения загрузка веб-страницы занимает больше времени, чем при повторных.
Когда вы используете кэширование, файлы веб-страницы будут сохранены в кэше браузера. Страницы будут загружаться в разы быстрее при повторных посещениях. Также будет с другими страницами, которые используют одни ресурсы.
- Измените заголовки запроса ресурсов, чтобы использовать кэширование;
- Оптимизируйте свою стратегию кэширования.
Для большинства людей единственный способ кэширования сайта htaccess заключается в том, чтобы добавить код в файл .htaccess на веб-сервере.
Файл .htaccess контролирует многие важные настройки для вашего сайта.
Приведенный ниже код указывает браузеру, что именно кэшировать и как долго это «запоминать«. Его следует добавить в начало файла .htaccess:
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" </IfModule> ## EXPIRES CACHING ##
Сохраните файл .htaccess, а затем обновите веб-страницу.
В приведенном выше коде заданы промежутки времени. Например, 1 year (1 год) или 1 month (1 месяц). Они связаны с типами файлов. Приведенный выше код устанавливает, что .jpg файлы (изображения) следует кэшировать в течение года.
Если бы вы хотели изменить это, чтобы и JPG изображения кэшировались в течение месяца, то вы бы просто заменили «1 год» на «1 месяц«. Указанные выше значения кэширования через htaccess оптимальны для большинства веб-страниц.
Описанный выше метод называется «Expires«, он помогает с кэшированием большинству новичков. После того, как вам станет проще работать с кэшированием, можете попробовать другой метод кэширования Cache-Control, который дает больше возможностей.
Возможно, что метод Expires не сработает на вашем сервере, в этом случае вы возможно захотите попробовать использовать Cache-Control.
Этот метод позволяет получить больше контроля над кэшированием страниц в браузере, но многие считают, что проще прописать все настройки один раз.
Пример использования в файле .htaccess:
# 1 Month for most static assets <filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$"> Header set Cache-Control "max-age=2592000, public" </filesMatch>
Приведенный выше код устанавливает заголовок Cache-Control в зависимости от типа файла.
Рассмотрим упомянутую выше строку кода кэширования в браузере htaccess:
# 1 Month for most static assets
Данная строка — просто примечание. Файл .htaccess игнорирует строки, начинающиеся с символа #. Это примечание рекомендуется, так как у вас может быть несколько различных наборов данных в качестве решения для кэширования файлов:
<FilesMatch ". (CSS | JPG | JPEG | PNG | GIF | JS | ICO) $">
Упомянутая выше строка говорит, что, «если файл будет одним из этих типов, то мы сделаем что-то с ним… »
Самое важное в этой строке то, что в ней перечислены различные типы файлов (CSS, JS, JPEG, PNG и т.д.) и что инструкции кэширования следует применять к этим типам файлов. Например, если вы не хотите, чтобы JPG файлы кэшировались в течение указанного периода времени, можете удалить «JPG«. Если вы хотите добавить HTML, то нужно в этой строке указать «HTML«:
Header set Cache-Control "max-age=2592000, public"
В упомянутой выше строке установлены фактические заголовки и значения:
- Часть «Header set Cache-Control» — устанавливает заголовок;
- Переменная «max-age=2592000» – указывает, сколько времени займет процесс кэширования (в секундах). В этом случае мы осуществляем кэширование в течение одного месяца (2592000) секунд;
- Часть «public» сообщает о том, что это общедоступно.
Эта строка кэширования через htaccess закрывает оператор и заканчивает блок кода.
Если вы составляете список изображений, которые будут кэшироваться в течение года и более, помните, что если вы вносите изменения в свои страницы, они могут быть не видны всем пользователям. Так как пользователи обратятся к кэшируемым файлам, а не к существующим. Если есть файл, который вы периодически редактируете (например — файл CSS),то можно преодолеть проблему кэша с помощью цифрового отпечатка URL.
Получение нового (некэшируемого) файлового ресурса возможно при наличии уникального имени. Например, если файл CSS назван «main.css», то вместо этого мы могли бы назвать его «main_1.css». В следующий раз, когда мы поменяем его имя, мы можем назвать файл «main_2.css». Это полезно для файлов, которые периодически изменяются.
При кэшировании файлов htaccess необходимо указать один заголовок из пары Expires или Cache-Control max-age, а также один из заголовков Last-Modified или ETag для всех кэшируемых ресурсов. Использовать и Expires, и Cache-Control: max-age излишне, как и Last-Modified и ETag одновременно.
Данная публикация является переводом статьи «Leverage browser caching» , подготовленная редакцией проекта.
Как вручную включить кэшинг записи диска или отключить — Windows Server
- 000Z» data-article-date-source=»ms.date»>10/09/2020
- Чтение занимает 2 мин
В этой статье
В этой статье описываются действия, направленные на ручное отключение кэшинга записи диска.
Применяется к: Windows Server 2012 R2
Исходный номер КБ: 324805
Сводка
В некоторых сторонних программах кэшировать записи на диске необходимо или отключить. Кроме того, включение кэшинга записи диска может повысить производительность операционной системы; однако это также может привести к потере информации в случае сбоя питания, отказа оборудования или сбоя программного обеспечения. В этой статье описывается, как включить кэшинг записи диска или отключить его.
Включить кэшинг записи диска или отключить
- Щелкните правой кнопкой мыши «Мой компьютер», а затем нажмите кнопку Свойства.
- Щелкните вкладку «Оборудование», а затем нажмите кнопку Device Manager.
- Расширение дисковых дисков.
- Щелкните правой кнопкой мыши диск, на котором необходимо включить кэшинг записи диска или отключить, а затем нажмите кнопку Свойства.
- Щелкните вкладку Политики.
- Щелкните, чтобы выбрать или очистить кэшировать записи на дисковом чековом окне по мере необходимости.
- Нажмите кнопку ОК.
Для Windows Server 2008
- Щелкните правой кнопкой мыши Компьютер и нажмите кнопку Свойства.
- Щелкните ссылку Диспетчер устройств в статье Задачи.
- Расширение дисковых дисков.
- Щелкните правой кнопкой мыши диск, на котором необходимо включить кэшинг записи диска или отключить, а затем нажмите кнопку Свойства.
- Щелкните вкладку Политики.
- Щелкните, чтобы выбрать или очистить кэшировать записи на дисковом чековом окне по мере необходимости.
- Нажмите кнопку ОК.
Настройка кэширования через файл .htaccess — Техническая поддержка — NetAngels
В данной статье рассмотрена настройка кэширования статических файлов через .htaccess, что позволит быстрее загружать сайт.
Ускорить загрузку Вашего сайта можно с помощью кэширования. Для решения этой задачи Вы можете воспользоваться модулем headers веб-сервера Apache. Он позволяет контролировать и изменять заголовки HTTP-запросов и HTTP-ответов. Вся суть в этом случае сводится к тому, что бы заставить браузер загрузить редко-изменяемые данные с сервера в локальный кэш всего один раз, а далее, при заходе на сайт, использовать данные из кэша. Можно установить кэширование для определенных типов файлов на строго определенное время, по истечению которого файлы будут загружены с сервера вновь. Делается это достаточно просто:
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
Для файлов с указанными расширениями в конструкции FilesMatch
устанавливается отдаваемый сервером заголовок Cache-Control
и переменная max-age
, в которой указывается время сохранения файлов в кэше в секундах. Добавьте или удалите расширения файлов, которые для Вас будут уместны в данном случае.
Если какие-то файлы нет необходимости кэшировать, то просто не включайте их в список. Можно также запретить принудительно кэширование файлов, чаще всего отключают кэширование для динамических файлов, например различных сценариев. Добавьте ниже приведенный код в Ваш файл .htaccess, что бы отключить кэширование для скриптов, предварительно внеся актуальные изменения соответственно Вашему случаю:
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
Как видно, здесь указаны расширения файлов, которые не требуется кэшировать, просто укажите требуемые типы файлов.
Еще одни способ управлять кэшированием — это воспользоваться модулем expires. Этот модуль контролирует установку HTTP-заголовков для кэширования данных на стороне браузера. Продолжительность хранения данных в кэше может быть установлена по времени, по последнему изменению файла или по времени доступа клиента.
Ниже представлен простой пример использования модуля expires в файле .htaccess:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/gif "access plus 2 months"
ExpiresByType image/jpeg "access plus 2 months"
</IfModule>
В этом примере мы включаем модуль, устанавливаем кэширование по умолчанию на 1 месяц, а далее назначаем для файлов с расширением gif
и jpg
врема хранения в кэше plus 2 months
. Время можно указать в годах, месяцах, неделях, днях, часах, минутах, секундах. В том числе можно использовать вариант вида:
ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"
В качестве типов файлов можно указывать различные MIME types
, вот некоторые из них в качестве примера:
image/x-icon
image/jpeg
image/png
image/gif
application/x-shockwave-flash
text/css
text/javascript
application/javascript
application/x-javascript
text/html
application/xhtml+xml
Включение кеширования сайта при помощи .
htaccess6526 Посещений
В этой статье, мы рассмотрим такое понятие как кэширование сайта и его установка на своем источнике. Для начала, разберем что такое кэширование и его предназначение. Начнем с того, что, в большинстве случаев, все страницы одно и того же сайта, имеют одинаковые элементы (кнопки заказа, шапки прочее). Пользователь переходя с одной страницы на другую, каждый раз загружает их заново. На такую подгрузку расходуется много времени и ресурсов.
Выходом из ситуации, будет использование кэш браузера, таким образом все браузер запомнит все идентичные элементы и при загрузке новой страницы, все эти элементы не будут снова подгружаться с сайта, а будут использоваться с компьютера. И тогда, при повторном посещение одного и того же сайта, загрузка будет происходить быстрее. То есть прямо пропорционален тот факт, что сайт будет работать быстрее.
Чтобы настроить кэширование, необходимо прописать команду в файле .htaccess.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType application/javascript «access plus 10 days»
ExpiresByType text/javascript «access plus 10 days»
ExpiresByType text/css «access plus 10 days»
ExpiresByType image/gif «access plus 10 days»
ExpiresByType image/jpeg «access plus 10 days»
ExpiresByType image/png «access plus 10 days»
</IfModule>
В данном коде, указан срок кеширования, это «access plus». При желании, вы можете установить более долгий срок действия на месяц или даже год. При чем вы можете выставить также кэширование по последнему изменению в файле или по времени последнего доступа клиента.
Если же наоборот, вам нужно отключить кэширование каких-то файлов, тогда попросту не вносите их в список. Пропишите следующий код в файле . htaccess, с поправкой собственных актуальных изменений.
<FilesMatch «.(pl|php|cgi|spl|scgi|fcgi)$»>
Header unset Cache-Control
</FilesMatch>
Включение кэша с обратной записью HDD на модульных серверных.
..Можно ли дать мне некоторую краткую информацию о кэше с обратной записью HDD?
Каждый физический диск в корпусе имеет встроенную кэш-память. Кэш-память обычно улучшает производительность ввода/вывода диска, действуя как быстрый буфер данных во время больших операций чтения и операций записи.
Установка всего корпуса состоит в том, что все кэши с обратной записью диска или включены, или все отключены.
Кэш с обратной записью диска отключен по умолчанию, потому что существуют некоторые включенные риски. В случае внезапных потерь мощности к корпусу сразу выключились бы все жесткие диски. Если бы были данные в кэш-памяти, ожидающей, чтобы быть записанными в диск, то это было бы потеряно и неисправимо. Для предотвращения этой ситуации можно обеспечить резервное копирование питания (такое как источник бесперебойного питания (UPS)) для корпуса. Резервный блок питания должен быть способен к, и сконфигурированный к, инициировать организованное завершение работы каждого сервера в корпусе.
Кэш с обратной записью HDD является кэш-памятью на отдельном жестком диске, который может увеличить производительность жестких дисков. Кэш-память включена глобально так, чтобы все физические диски в корпусе были включены или отключены с этим значением. Риски связаны с кэш-памятью, включенной во время потерь мощности, а именно, данные в кэш-памяти не могут быть правильно записаны в диск, если UPS не присоединен к модульному серверу Intel®. Без UPS с включенным Кэшем с обратной записью HDD пользователи могут испытать повреждение данных или потерю если основные сбои питания. UPS гарантирует, что все данные в кэш-памяти будут записаны в диск, прежде чем будут закрыты серверы.
Как я включаю кэш с обратной записью HDD на модульной серверной системе Intel®?
- Войдите в систему модульной серверной системы Intel® MFSYS25/MFSYS35 через Браузер GUI.
- Из левого меню дерева навигации стороны разверните Настройки.
- При Настройках выберите Хранение.
- На правой стороне, под Кэширующимися Опциями, в выпадающем меню, выбирают Включить.
- Нажмите Сохранить изменения.
Ускорение Работы Сайта — Используйте Кеш Браузера
ВведениеПеред открытием страницы браузеру необходимо загрузить весь ее контент (HTML, CSS, Javascript и изображения). Загрузка больших и громоздких сайтов может быть довольно болезненным опытом, если у вас медленный интернет (или вы используете мобильный телефон). Каждый из файлов посылает отдельный запрос на сервер, и чем больше таких запросов он получает в одно и то же время, тем больше ему необходимо провести работы и тем медленнее будет происходить загрузка страницы. В таком случае — используйте кеш браузера.
Кэш браузера может сохранить часть файлов сайта у пользователя. При первом посещении время загрузки останется без изменений, но со следующим визитом, обновлением страницы или переходе на другую, часть файлов уже будет сохранена в браузере. Это означает, что браузеру пользователя нужно будет скачать меньше данных и сделать меньше запросов к серверу, тем самым уменьшив время загрузки сайта.
Что вам понадобитсяПеред тем, как вы начнете это руководство, вам понадобится следующее:
- Доступ к файлу .htaccess
Процесс довольно простой, вам необходимо добавить следующий код в файл .htaccess (руководство о том, как определить расположение вашего .htaccess файла вы можете найти здесь):
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresDefault "access plus 7 days" </IfModule> ## EXPIRES CACHING ##
После сохранения изменений в файле . htaccess, ваш сайт автоматически начнет использовать кэш браузера для хранения временных файлов.
Шаг 2 — Проверка использования кэша браузераПроверить правильность внесенных изменений вы можете с помощью множества инструментов, таких как WebPageTest или GTMetrix
Вот результаты ПЕРЕД включением кэширования браузера:
Для сравнения, вот результаты ПОСЛЕ включения кэширование браузера:
ЗаключениеВ этом кратком руководстве вы узнали, как ускорить работу сайта с помощью кеша браузера. Хотите увеличить скорость загрузки вашего сайта — используйте кеш браузера.
Руководства по теме:
Как включить кеширование браузера
← Документы ServerPilot
Вы можете настроить приложение так, чтобы браузер кешировал файлы, которые оно загружает. с вашего сервера. Когда ответ кешируется, браузер больше не запрашивает файл на какое-то время. Вместо этого он будет использовать тот же файл, который был загружен ранее. Это может ускорить работу приложений за счет сокращения времени, которое требуется браузеру. для загрузки всех ресурсов, используемых страницей, таких как сценарии, изображения и таблицы стилей.
Как работает кеширование браузера
Кэширование браузера работает за счет того, что ответ HTTP включает дополнительный заголовок который сообщает браузеру время и дату, после которых ответ будет считается устаревшим.
Например, заголовок ответа, такой как:
Истекает: Thu, 05 Apr 2063 12:00:00 GMT
сообщает браузеру не запрашивать файл повторно до апреля 2063 года.
Риски кеширования браузера
Кэширование браузера имеет недостатки.Если вы измените содержимое страницы, скрипта, таблицы стилей или изображения, любой посетитель кто недавно был на вашем сайте, возможно, будет использовать кешированную версию в следующий посетите ваш сайт.
Например, если вы изменили таблицу стилей, но сообщили браузерам чтобы кэшировать предыдущую версию таблицы стилей, тогда ваш веб-сайт может появиться нарушен для некоторых пользователей, потому что они используют старую таблицу стилей.
Когда вы используете кеширование браузера, единственный способ гарантировать, что пользователь видит больше всего последняя версия измененного файла предназначена для изменения имени файлов.Будьте осторожны с кешированием браузера!
Как использовать кеширование браузера
Вы можете добавить следующее в свое приложение .htaccess в, для Например, установите срок действия кеша браузера по умолчанию на 300 секунд и более 3600 секунд для файлов CSS:
Истекает Действует Истекает По умолчанию A300 Текст ExpiresByType / CSS A3600
Используя указанный выше синтаксис, веб-сервер вычислит правильную дату для Заголовок Expires и добавит этот заголовок Expires в ответ.
Для получения дополнительной информации о доступных параметрах для заголовков с истекшим сроком действия см. Apache Документация по mod_expires.
Настройка кэша браузера
Когда вы используете динамический веб-сайт, такой как Sakai @ UD, веб-браузеры могут отображать устаревшую версию страницы (так называемая «кэшированная» версия страницы). По умолчанию браузеры сохраняют предыдущие версии страницы, чтобы ускорить загрузку страницы, но такое поведение может помешать отображать самую новую информацию.
Количество браузеров, перечисленных на этой странице:
Примечание. Internet Explorer и Firefox — единственные два браузера, которые были протестированы с помощью Sakai. См. Какой браузер мне использовать? Больше подробностей.Internet Explorer (ПК)
Примечание. Этот процесс работает с Internet Explorer 7,8 и 9.
- В меню
Инструменты
щелкнитеСвойства обозревателя
. - На вкладке
Общие
нажмите кнопкуИстория просмотров
Настройки
. - Выберите
Каждый раз, когда я посещаю веб-страницу
, а затем нажимаюOK
внизу страницы. - Следующим шагом будет очистка кеша. Нажмите
Удалить ...
в разделеИстория просмотров
. - Проверить
Временные файлы Интернета
иИстория
, затем щелкнитеУдалить
. - Нажмите
ОК
еще раз, закройте все окна браузера и перезапустите Internet Explorer, чтобы применить все изменения.
<Вернуться к началу
Firefox (ПК)
Примечание. Этот процесс работает с Firefox 3, 4, 5 и 6.
- В меню
Инструменты
щелкнитеПараметры ...
. - В разделе
Advanced
, вкладкеNetwork
установите для пространства кэшаOffline Storage
значение0
(ноль), затем щелкнитеOK
. - Откройте окно браузера и введите
about: config
(предварительно не набираяhttp: //
), затем нажмите клавишу возврата. Прокрутите вниз до параметраbrowser.cache.check_doc_frequency
и убедитесь, что установлено значение1
. Дважды щелкните число, чтобы при необходимости изменить значение. Дополнительная информация> - Используйте сочетание клавиш
CTRL-SHIFT-DELETE
для отображения диалогового окнаОчистить недавнюю историю
.ВыберитеВсе
из диапазона времени, чтобы очистить меню
, выберите не менееИстория просмотров и загрузок
иКэш
из списка, затем щелкнитеОчистить сейчас
. - Нажмите
ОК
еще раз, закройте все окна браузера и перезапустите Firefox, чтобы применить все изменения.
<Вернуться к началу
Firefox (Mac)
Примечание. Этот процесс работает с Firefox 3, 4, 5 и 6.
- В меню
Firefox
щелкнитеНастройки ...
. - В разделе
Advanced
, вкладкеNetwork
установите для пространства кэшаOffline Storage
значение0
(ноль), затем нажмитеОчистить сейчас
. - Откройте окно браузера и введите
about: config
(предварительно не набираяhttp: //
), затем нажмите клавишу возврата.Прокрутите вниз до параметраbrowser.cache.check_doc_frequency
и убедитесь, что установлено значение1
. Дважды щелкните число, чтобы при необходимости изменить значение. Дополнительная информация> - Используйте сочетание клавиш
КОМАНДА-SHIFT-УДАЛЕНИЕ
, чтобы открыть диалоговое окноОчистить недавнюю историю
. ВыберитеВсе
из диапазона времени, чтобы очистить меню
, выберите не менееИстория просмотров и загрузок
иКэш
из списка, затем щелкнитеОчистить сейчас
. - Нажмите
ОК
еще раз, закройте все окна браузера и перезапустите Firefox, чтобы применить все изменения.
<Вернуться к началу
Эта страница изначально была вдохновлена «Уроком 6: Настройка кэша браузера» Гейл Л. Форнатаро из Virtual Valley.
HTTP-кеширование | Основы Интернета | Разработчики Google
Дэйв — технический писатель
Когда кто-то посещает веб-сайт, должно быть предоставлено все, что он должен отображать и работать. откуда-то.Весь текст, изображения, стили CSS, сценарии, медиафайлы и т. Д. Должны быть извлекается браузером для отображения или выполнения. Вы можете предоставить браузеру возможность выбора откуда он может получить ресурс, и это может иметь большое значение для вашей страницы скорость загрузки.
Когда браузер загружает веб-страницу в первый раз, он сохраняет ресурсы страницы в HTTP-кеш. В следующий раз, когда браузер перейдет на эту страницу, он может искать в кеше ресурсы, которые были ранее извлечены, и извлекать их с диска, часто быстрее, чем он может загрузить их из сети.
Хотя кеширование HTTP стандартизовано в соответствии с Спецификации Internet Engineering Task Force (IETF), браузеры могут иметь несколько кешей, которые различаются по способу получения, хранения и сохранения содержимого. Вы можете прочитать о том, чем отличаются эти кеши, в этой отличной статье, Повесть о четырех тайниках.
Конечно, каждый первый посетитель вашей страницы приходит с пустыми данными для этой страницы. Даже у повторных посетителей может не так много информации в HTTP-кеше; они могли очистить его вручную, либо настроить их браузер на автоматическую настройку, либо принудительно загрузить новую страницу с помощью клавиши управления комбинация.Тем не менее, значительное число ваших пользователей могут повторно посетить ваш сайт хотя бы с некоторыми его компоненты уже кэшированы, и это может существенно повлиять на время загрузки. Максимизация использование кеша имеет решающее значение для ускорения повторных посещений.
Включение кэширования
Кэширование работает, классифицируя определенные ресурсы страницы с точки зрения того, как часто или нечасто они меняются. Например, изображение логотипа вашего сайта может почти никогда не измениться, но скрипты вашего сайта могут меняться каждые несколько дней.Это выгодно вам и вашим пользователям чтобы определить, какие типы контента более статичны, а какие — более динамичны.
Также важно помнить, что то, что мы называем кешированием браузера, на самом деле может потребовать размещать на любой промежуточной остановке между исходным сервером и клиентским браузером, например как прокси-кеш или кеш сети доставки контента (CDN).
Два основных типа заголовков кеша, кэш-контроль а также истекает, определить кеширование характеристики для ваших ресурсов.Обычно кеш-контроль считается более современным и гибкий подход, чем истекает, но оба заголовка можно использовать одновременно.
Заголовки кэша применяются к ресурсам на уровне сервера — например, в .htaccess
файл на сервере Apache, который используется почти половиной всех активных веб-сайтов — для настройки их кеширования.
характеристики. Кэширование включается путем определения ресурса или типа ресурса, например
изображения или файлы CSS, а затем указав заголовки для ресурса (ов) с желаемым
параметры кеширования.
Кэш-контроль
Вы можете включить управление кешем с помощью множества опций в списке, разделенном запятыми. Вот
пример конфигурации Apache .htaccess
, которая устанавливает кеширование для различных типов файлов изображений,
в соответствии со списком расширений, чтобы
один месяц и публичный доступ (некоторые доступные варианты обсуждаются ниже).
Заголовочный набор Cache-Control "max-age = 2592000, общедоступный"
В этом примере задается кеширование для стилей и скриптов, ресурсов, которые, вероятно, более вероятны. чтобы изменить, чем изображения, до одного дня и публичного доступа.
Заголовочный набор Cache-Control "max-age = 86400, общедоступный"
Cache-control имеет ряд параметров, часто называемых директивами , которые могут быть установлены на конкретно определить, как обрабатываются запросы кеша. Некоторые общие директивы: объяснено ниже; вы можете найти более подробную информацию на В разделе Оптимизация производительности и в Сеть разработчиков Mozilla.
no-cache : несколько неверно, указывает, что контент можно кэшировать, но если да, он должен повторно проверяться при каждом запросе перед тем, как быть обслуженным клиентом. Это заставляет клиент проверяет актуальность, но позволяет избежать повторной загрузки ресурса, если он не изменилось. Взаимоисключающий с без магазина .
no-store : указывает, что содержимое фактически не может быть кэшировано никаким первичный или промежуточный кеш. Это хороший вариант для ресурсов, которые могут содержать конфиденциальные данные или ресурсы, которые почти наверняка будут меняться от посещения к посещению. Взаимно эксклюзивно с без кеширования .
общедоступный : указывает, что контент может быть кэширован браузером и любым промежуточным тайники. Переопределяет значение по умолчанию private для запросов, использующих аутентификацию HTTP. Взаимоисключающий с , частный .
частный : обозначает контент, который может храниться в браузере пользователя, но не может быть кэшируется любыми промежуточными кешами. Часто используется для конкретных пользователей, но не особенно конфиденциальные данные.Взаимоисключающий с общедоступным .
max-age : определяет максимальное время, в течение которого контент может быть кэширован, прежде чем он должен быть перепроверена или повторно загружена с исходного сервера. Эта опция обычно заменяет истекает заголовок (см. ниже) и принимает значение в секундах с максимальным допустимым возрастом один год (31536000 секунд).
Истекает срок кеширования
Вы также можете включить кеширование, указав время истечения или истечения срока для определенных типов файлы, которые сообщают браузерам, как долго использовать кэшированный ресурс, прежде чем запрашивать новую копию с сервера.Заголовок expires просто устанавливает время в будущем, когда контент должен истек. После этого запросы контента должны возвращаться на исходный сервер. С участием более новый и более гибкий заголовок управления кешем, заголовок expires часто используется в качестве запасного варианта.
Вот пример того, как вы можете настроить кэширование в файле .htaccess
на сервере Apache.
## СРОК КЭШИНГА ##
ExpiresActive On
ExpiresByType image / jpg «доступ плюс 1 год»
ExpiresByType image / jpeg "доступ плюс 1 год"
ExpiresByType image / gif "доступ плюс 1 год"
ExpiresByType image / png "доступ плюс 1 год"
ExpiresByType text / css "доступ плюс 1 месяц"
Приложение ExpiresByType / pdf "доступ плюс 1 месяц"
ExpiresByType text / x-javascript "доступ плюс 1 месяц"
Приложение ExpiresByType / x-shockwave-flash "доступ плюс 1 месяц"
ExpiresByType изображение / значок x "доступ плюс 1 год"
ExpiresDefault "доступ плюс 2 дня"
## СРОК КЭШИНГА ##
(источник: GTmetrix)
Как видите, в этом примере разные типы файлов имеют разные даты истечения срока годности: images не истекают в течение года после доступа / кеширования, в то время как скрипты, PDF-файлы и стили CSS истекают через в месяц, а любой тип файла, не указанный явно, истекает через два дня. Сроки хранения на ваше усмотрение, и их следует выбирать в зависимости от типов файлов и частоты их обновления. Для Например, если вы регулярно меняете свой CSS, вы можете захотеть использовать более короткий срок действия или даже вообще нет, и пусть по умолчанию используется двухдневный минимум. И наоборот, если вы ссылаетесь на некоторые статические формы PDF, которые почти никогда не меняются, вы можете использовать для них более длительный срок действия.
Совет: Не используйте срок годности более одного года; это фактически навсегда в Интернете
и, как отмечено выше, является максимальным значением для max-age
под управлением кешем.
Сводка
Кэширование— это надежный и простой способ повысить скорость загрузки ваших страниц и, следовательно, ваш опыт пользователей. Он достаточно мощный, чтобы учесть сложные нюансы для конкретного контента. типы, но достаточно гибкие, чтобы можно было легко обновлять при изменении содержимого вашего сайта.
Будьте настойчивы с кешированием, но также помните, что если вы позже измените ресурс, имеющий длительный период хранения, вы можете непреднамеренно лишить некоторых повторных посетителей нового контента.Вы можете найти отличное обсуждение шаблонов кеширования, вариантов и потенциальных ловушек в Рекомендации по кешированию и проблемы с максимальным возрастом.
Обратная связь
Была ли эта страница полезной?
Есть
Что было самым лучшим на этой странице?
Это помогло мне выполнить мои цели
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Там была информация, которая мне была нужна
Спасибо за ваш отзыв!Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Имеет точную информацию
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Легко читалось
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Что-то еще
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.№
Что было хуже всего на этой странице?
Это не помогло мне выполнить мои цели
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Отсутствовала необходимая мне информация
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Он имел неточную информацию
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Трудно было прочитать
Спасибо за ваш отзыв!Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Что-то еще
Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.Как включение кеширования ускоряет работу вашего веб-сайта
В этом посте мы объясняем, как кэшировать ресурсы веб-сайта с помощью заголовков HTTP и программного обеспечения для кэширования. Читайте дальше, чтобы узнать, как кеширование может ускорить работу вашего сайта.
На внутренней стороне веб-сайта происходит множество вещей, которые многие нетехнические менеджеры веб-сайтов и владельцы бизнеса не осознают, что способствует медленной загрузке страницы и неудовлетворительному взаимодействию с пользователем. Кэширование — одна из главных причин медленной загрузки страницы.
Без включенного кеширования браузер посетителя должен делать множество индивидуальных запросов для ресурсов, таких как изображения, файлы CSS и JavaScript. Это не только замедляет работу вашего сайта, но и поглощает энергию и увеличивает углеродный след вашего сайта.
Объяснение кеширования
Воскрешая метафору быстрого питания, которую мы использовали в предыдущем сообщении в блоге, давайте вернемся в этот ресторан быстрого питания и проведем следующую аналогию:
You: you
Веб-браузер: кассир
Веб-сервер: Фритюрница, лоток для продуктов, станция для напитков
Каждый раз, когда вы заказываете еду, кассир должен пройти туда и обратно от того места, где вы стоите, к лотку с едой, чтобы забрать ваши товары.То же самое и с запросом на веб-сайт. Всякий раз, когда вы запрашиваете веб-сайт, браузер должен совершить поездку туда и обратно от того места, где вы находитесь, к веб-серверу и обратно.
К счастью, в ресторане быстрого питания кассир может совершить одну поездку к лотку с едой, фритюрнице и станции для напитков, чтобы получить три или четыре блюда, которые вы заказали. К сожалению, ваш браузер не может одновременно отображать более одного объекта. Каждый раз, когда браузер делает запрос на веб-страницу, каждое изображение, каждый файл Javascript и CSS и сам документ HTML представляют собой один круговой путь, совершаемый вашим браузером между вами и веб-сервером.Это много поездок, и это может значительно замедлить работу вашего сайта, а это плохая новость. Даже очень небольшое снижение скорости может существенно повлиять на удержание, конверсию и доход. Например, Yahoo! обнаружил, что всего лишь 400 миллисекунд дополнительной задержки привело к падению трафика на 9%.
На первой странице Mightybytes.com загружено 35 различных ресурсов, каждый из которых требует обхода. Представьте, что вы застряли позади парня в ресторане быстрого питания, который заказал 35 чизбургеров, и кассиру приходилось идти от кассы к лотку с едой и обратно за каждым бургером. Вы были бы в ярости, как и остальные клиенты.
К счастью, есть методы, которые можно использовать для ускорения этого пути туда и обратно, чтобы ваш веб-сайт не только загружался быстрее, но и потреблял меньше энергии.
Вот два способа устранить или ускорить кругооборот, совершаемый вашим браузером.
Волшебно производите еду на прилавке: заставьте браузер кэшировать активыЕсли бы кассир мог держать сразу у прилавка кучу самых разных продуктов, которые они продают, ему не нужно было бы идти пешком, чтобы оформить заказ.Ваш браузер, однако, может хранить кеш документов локально, чтобы в следующий раз, когда он запросит это изображение, скрипт, файл CSS или HTML-документ, он будет доставлен вам молниеносно, потому что он читается из кеша вашего браузера, а не из-за задержки. -вызывающий вызов веб-сервера.
Как это делается:Примечание. Mightybytes использует Apache в качестве предпочтительного веб-сервера. Инструкции по настройке заголовков будут специфичными для Apache, но сами заголовки и значения являются частью спецификации HTTP и будут работать одинаково при использовании любого веб-сервера.
Все сводится к значениям для нескольких заголовков ответа HTTP, которые представляют собой фрагменты метаданных, которые сопровождают ответ, который веб-сервер возвращает вашему браузеру. Эти заголовки в общем порядке приоритета:
.- Cache-control: определенная продолжительность, указанная в секундах, в течение которой вы хотите, чтобы этот актив истек.
- Истекает: определенная дата, когда вы хотите, чтобы это содержимое истекло.
- ETag: строка, которую веб-сервер изменяет при изменении актива.Ваш браузер отправляет это обратно на веб-сервер после первой загрузки ресурса. Если он изменится, веб-сервер повторно отправит актив.
- Last-Modified: конкретная дата последнего изменения этого содержимого.
Заголовки Cache-control и Expires считаются сильными заголовками кэширования, поскольку они определяют конкретную дату или продолжительность кэширования этого ресурса. Заголовки Last-modified и ETag считаются заголовками слабого кэширования, поскольку они зависят от того, был ли ранее загружен актив, чтобы определить, следует ли кэшировать этот актив.
Используя mod_headers в файле конфигурации Apache или файле .htaccess, вы можете указать определенные ресурсы, которые должны быть кэшированы на заданный период времени, используя заголовок Cache-dontrol или Expires.
Кэшированных изображений на одну неделю:
Заголовочный набор Cache-Control "max-age = 604800, общедоступный"
Кэшировать файлы CSS и JS на одну неделю:
Заголовочный набор Cache-Control "max-age = 604800, общедоступный"
Срок действия страницы истекает в указанную дату и время:
ЗаголовокНабор заголовков Истекает "Fri, 26 Oct 1985 01:22:00 GMT"
Last-Modified может быть установлен аналогичным образом указанными выше способами.
Заголовок установлен Last-Modified "Tue, 27 Jun 2012 01:21 GMT"
Заголовок ETag может быть установлен с помощью директивы FileETag. В документации Apache есть более подробное описание того, какие атрибуты могут быть приняты во внимание при генерации значения ETag.
FileETag INode MTime Размер
Спецификация W3C для кэширования в HTTP дает полную картину того, как эти заголовки направляют браузер к кэшированию или извлечению ресурсов.
Запускать еду из лотка для еды к прилавку: использовать кэширование программного обеспеченияМы знаем, что задержка с подачей еды связана с тем, что кассир идет от стойки к еде и обратно. Что, если бы мы наняли кувшина MLB, чтобы отправить эту еду в кассу, вместо того, чтобы посылать кассира к еде? Это идея такого программного обеспечения, как Varnish.
Когда вы запрашиваете изображение или сценарий, веб-сервер обычно обращается к жесткому диску, считывает это изображение или сценарий и отправляет его обратно в браузер. Когда Varnish установлен и настроен, при первом запросе ресурса копия сохраняется в памяти. При последующих запросах возвращается версия этого актива, хранящаяся в памяти. Поскольку чтение из памяти происходит быстрее, чем чтение с жесткого диска, это время чтения практически исключается, что ускоряет круговой обход.
Squid может выполнять тот же вид кэширования, что и Varnish, а также может обеспечивать функциональность, подобную CDN, становясь прокси-кешем.Представьте себе, если потолок зарплаты в ресторане не позволяет нам нанять питчера MLB или профсоюз игроков не позволяет питчеру бросать чизбургеры, мы можем переместить лоток для еды ближе к кассе, чтобы сократить время, необходимое для ходьбы туда и обратно. .
И Varnish, и Squid требуют более глубоких знаний в области управления веб-серверами и другим серверным программным обеспечением для эффективной работы.
Сделайте свой сайт экологичным!
Загрузите наш бесплатный контрольный список устойчивости Интернета.
Получите контрольный списокЧто такое Cache-Control и как работают заголовки HTTP-кэша | Руководство CDN
Что такое заголовок Cache-Control
Cache-control — это HTTP-заголовок, используемый для определения политик кэширования браузера как в клиентских запросах, так и в ответах сервера. Политики включают в себя способ кэширования ресурса, место его кеширования и максимальный возраст до истечения срока действия (то есть время жизни).
Заголовок управления кешем разбит на директивы, наиболее распространенные из которых подробно описаны ниже:
Пример заголовка HTTP-ответа от Google.com
Cache-Control: Max-Age
Директива запроса max-age определяет в секундах время, необходимое для истечения срока действия кэшированной копии ресурса. По истечении срока действия браузер должен обновить свою версию ресурса, отправив другой запрос на сервер.
Например, cache-control: max-age = 120
означает, что возвращенный ресурс действителен в течение 120 секунд, после чего браузер должен запросить более новую версию.
Контроль кэша: без кэша
Директива no-cache означает, что браузер может кэшировать ответ, но сначала должен отправить запрос проверки на исходный сервер.
Контроль кэша: без магазина
Директива no-store означает, что браузеры не могут кэшировать ответ и должны получать его с сервера каждый раз, когда он запрашивается. Этот параметр обычно используется для конфиденциальных данных, таких как личные банковские реквизиты.
Cache-Control: общедоступный
Директива публичного ответа указывает, что ресурс может кэшироваться любым кешем.
Cache-Control: частный
Директива частного ответа указывает, что ресурс зависит от пользователя — его можно кэшировать, но только на клиентском устройстве.Например, ответ веб-страницы, помеченный как частный, может быть кэширован браузером настольного компьютера, но не сетью доставки контента (CDN).
Дополнительные заголовки кэша HTTP
Помимо управления кешем, известные заголовки HTTP-кеша включают:
- Истекает — Этот заголовок указывает фиксированную дату / время истечения срока действия кэшированного ресурса. Например,
Expires: Sat, 13 May 2017 07:00:00 GMT
сигнализирует, что срок действия кэшированного ресурса истекает 13 мая 2017 года в 7:00 утра по Гринвичу.Заголовок expires игнорируется, если присутствует заголовок управления кешем, содержащий директиву max-age. - ETag — Заголовок ответа, который определяет версию обслуживаемого контента в соответствии с токеном — строкой символов в кавычках, например
«675af34563dc-tr34»
— который изменяется после изменения ресурса. Если токен не изменился до того, как был сделан запрос, браузер продолжит использовать свою локальную версию. - Vary — Заголовок, определяющий ответы, которые должны соответствовать кэшированному ресурсу, чтобы он считался действительным.Например, заголовок
Vary: Accept-Language, User-Agent
указывает, что кешированная версия должна существовать для каждой комбинации пользовательского агента и языка.
Узнайте, как Imperva CDN может помочь вам повысить производительность веб-сайта.
CDN и Cache-Control
Разнообразие заголовков кэширования может затруднить ручное управление кешем. Сети CDN позволяют детально управлять политиками кеширования с помощью удобной панели управления, избавляя вас от необходимости вручную настраивать отдельные заголовки.
Помимо упрощения управления кешем, сети CDN дополняют процесс кеширования браузера с помощью прокси. Прокси-кеширование приближает контент к посетителям сайта, ускоряя доставку локально хранимых ресурсов. Это особенно полезно для новых посетителей, браузеры которых еще не кэшировали содержимое сайта.
Наконец, более продвинутые сети CDN используют передовые методы автоматизации, включая машинное обучение, для кэширования динамически генерируемого контента и ресурсов. Это оптимизирует ваши политики кэширования и еще больше ускоряет доставку контента.
Что такое кеширование контента на Mac?
Что такое кеширование контента?
Кэширование содержимого — это служба macOS, которая помогает сократить использование данных в Интернете и ускорить установку программного обеспечения на компьютерах Mac, устройствах iOS и iPadOS, а также Apple TV.
Кэширование содержимого ускоряет загрузку программного обеспечения, распространяемого Apple, и данных, которые пользователи хранят в iCloud, за счет сохранения содержимого, которое уже было загружено на локальные компьютеры Mac, устройства iOS и iPadOS, а также устройства Apple TV.Сохраненный контент хранится в кэше контента на Mac и доступен другим устройствам для извлечения, не выходя из Интернета.
См. Статью службы поддержки Apple Типы контента, поддерживаемые кэшированием контента в macOS.
Вы можете использовать кэширование контента в сетях, состоящих из среды NAT для кэша контента и всех устройств, или в сетях, состоящих из публично маршрутизируемых IP-адресов. Устройства Apple с iOS 7 или новее и OS X 10.8.2 или новее автоматически связываются с ближайшим кешем контента без какой-либо настройки.
Важно: Настоятельно рекомендуется настроить кэширование контента на Mac, который имеет одно проводное соединение Ethernet в качестве единственного подключения к сети. Кэширование контента может использовать соединение Wi-Fi вместо Ethernet, но это может повлиять на производительность.
Как это работает?
После включения кэширования содержимого на Mac сохраняется копия всего содержимого, загружаемого локальными сетевыми устройствами (так называемые клиенты , ).
Например, когда первый клиент в вашей сети загружает обновление macOS, кэш содержимого сохраняет копию обновления.Когда следующий клиент в сети подключается к App Store для загрузки обновления, обновление копируется из кеша контента, а не из App Store.
Поскольку локальная сеть обычно намного быстрее, чем Интернет, второй клиент (и все последующие клиенты) загружают обновления намного быстрее.
На следующем рисунке показана одна частная подсеть с одним кэшем содержимого:
Что делать, если в моей сети несколько подсетей?
По умолчанию кэширование контента ограничено определенной подсетью, но вы можете настроить его для обеспечения кэширования контента для:
Все комбинации подсетей локальной сети, которые имеют общий общедоступный IP-адрес
Любая комбинация подсетей с общедоступными IP-адресами (с поддержкой дополнительных настроек DNS)
Если в вашей сети несколько подсетей с одним и тем же общедоступным IP-адресом, все подсети могут использовать единый кэш содержимого. На следующем рисунке показана сеть с двумя подсетями, совместно использующими один кэш содержимого:
Могу ли я иметь более одного кеша содержимого?
Когда в вашей сети более одного кэша контента, они автоматически становятся одноранговыми узлами и могут обращаться к кэшированному программному обеспечению и совместно использовать его. Если запрошенный элемент недоступен в кэше контента, проверяются его сверстники, и, если элемент доступен, он загружается. Если он недоступен от однорангового узла, элемент загружается из родительского объекта, если он настроен, или из Apple через Интернет.Правильный кеш содержимого автоматически выбирается клиентом, когда доступно более одного кеша. См. Раздел Настройка клиентов, одноранговых узлов или родителей кэша содержимого на Mac.
Где хранятся кешированные файлы?
По умолчанию для кэшированного содержимого используется загрузочный том. Вы можете выбрать альтернативное расположение и указать, какая часть тома используется кэшированием содержимого. Когда дисковое пространство для кэшированного содержимого достигает указанного вами максимума или когда доступное пространство на томе заканчивается, кеш содержимого удаляет содержимое, которое не использовалось в последнее время, чтобы освободить место для следующего запроса.
Лучшие практики производительности
На кэширование содержимого в первую очередь влияют два основных фактора: возможность подключения и конфигурации оборудования.
Вы получите максимальную производительность от кэша содержимого, подключив его к сети с помощью Gigabit Ethernet. Кэш содержимого может одновременно обслуживать сотни клиентов, что может заполнить порт Gigabit Ethernet. Поэтому в большинстве развертываний малого и среднего масштаба узким местом производительности обычно является пропускная способность вашей локальной сети.
Чтобы определить, является ли ваш Mac узким местом производительности, когда большое количество клиентов одновременно обращаются к кешу контента, проверьте использование процессора для процесса AssetCache в Activity Monitor (откройте Activity Monitor, выберите View> All Processes, затем нажмите CPU) . Если загрузка процессора постоянно находится на максимальном или близком к нему уровне, вы можете добавить дополнительные кэши контента для распределения запросов между несколькими компьютерами.
Кроме того, если ваш Mac находится в среде, где клиенты загружают большие объемы разнообразного контента, не забудьте установить достаточно высокий предел размера кэша.Это предотвращает частое удаление кешированных данных из кэша контента, что может потребовать многократной загрузки одного и того же контента, тем самым используя большую пропускную способность Интернета.
Рекомендации по кэшированию содержимого
Ниже приведены рекомендации по кэшированию содержимого. По возможности следуйте этим рекомендациям:
Разрешить все push-уведомления Apple.
Не используйте ручную настройку прокси.
Запрещается проксировать клиентские запросы к кешам контента.
Обход проверки подлинности прокси-сервера для кешей содержимого.
Укажите порт TCP для кэширования. (См. Ключ порта в разделе Настройка дополнительных параметров кэширования содержимого на Mac.)
Управление трафиком межсайтового кэширования.
Блокировка ложной регистрации кеша.
Используйте статический общедоступный IP-адрес для кэшей содержимого.
Как включить кеширование браузера в WordPress
- Даниэль Патаки
Скорость вашего веб-сайта играет жизненно важную роль в обеспечении оптимального взаимодействия с пользователем.(Примечание. Если вы хотите узнать, как проверить скорость своего сайта, см. Нашу статью об использовании GTmetrix.) Медленный сайт может вызвать сбои в продажах, снижение конверсий и, в долгосрочной перспективе, может серьезно повлиять на как удовлетворенность клиентов, так и общее количество посетителей.
Вкратце: каждая мелочь, которую вы можете сделать, чтобы сократить время загрузки, будет иметь значение. Ниже мы рассмотрим , кэширующее в браузере , в том числе, что это такое, что это значит для WordPress и как вы можете включить его на своем сайте.
Приступим…
Что такое кеширование браузера?
Веб-сайт по существу состоит из нескольких файлов, которые соединяются вместе, чтобы создать серию веб-страниц. Некоторые из них будут содержать текст (например, основная часть сообщения в блоге), некоторые будут содержать информацию о стилях для элементов страницы (заголовок, нижний колонтитул, боковая панель и т. Д.), Некоторые будут изображениями и так далее.
Теперь, когда вы просматриваете веб-сайт, вы, вероятно, заметите много общих элементов: все страницы имеют одинаковый стиль (все они имеют одинаковые цвета и элементы дизайна), логотип всегда одинаковый, раскрывающиеся меню всегда доступны, и тому подобное.Итак, если есть общие элементы, зачем загружать их все каждый раз, когда кто-то загружает новую страницу? Гораздо лучшей идеей было бы загрузить такие общие элементы один раз, сохранить их в браузере, а затем просто повторно использовать их по мере необходимости — например, когда кто-то переходит с одной страницы на другую внутри сайта или когда кто-то повторно посещает сайт в Поздняя дата.
Это суть кеширования браузера. По сути, кеширование браузера проверяет все файлы, которые вы определили как файлы, которые не меняются очень часто (подробнее об этом ниже), и загружает их в браузер посетителя только один раз.После загрузки в кеш браузера эти файлы больше не загружаются. Это означает, что вместо того, чтобы загружать их несколько раз, они будут готовы к использованию в любой момент, что снизит нагрузку на серверы вашего сайта И, что более важно, значительно сократит время, необходимое для загрузки последующих страниц.
Примечание. Когда на ваш сайт приходит новый посетитель, скорость, с которой загружается первая страница, которую он посещает, фактически будет такой же, независимо от того, включено ли кеширование браузера или нет, поскольку, поскольку они никогда раньше не посещали ваш сайт, их браузер может возможно, еще не было возможности сохранить какие-либо файлы вашего сайта.Таким образом, преимущества кеширования браузера будут ощущаться только тогда, когда посетитель загружает более одной страницы и / или повторно посещает ваш сайт.
Как использовать кеширование браузера в WordPress
Включение кэширования в браузере несложно, но, поскольку для этого требуется отредактировать немного сложный файл сайта (файл .htaccess вашего сайта), для этого требуются некоторые предварительные знания.
Примечание. Кеширование браузера не зависит от WordPress, способ его включения одинаков, независимо от того, какую систему вы используете.
Есть два основных способа сделать это.
Супер простой способ: поговорить с хозяином
Чтобы включить кеширование браузера, вам нужно будет отредактировать — или, возможно, даже создать — файл с именем .htaccess (подробнее). Опечатка в этом файле может привести к тому, что весь ваш веб-сайт станет временно недоступным, поэтому , если у вас есть какие-либо сомнения о том, что делать, может быть лучше попросить ваш хост сделать это за вас — просто чтобы будьте осторожны . Если вы пользуетесь услугами хорошей хостинговой компании (вам нужен хостинг получше?), Они почти наверняка смогут настроить это для вас в течение нескольких минут (если они еще этого не сделали).
Самостоятельное редактирование файла .htaccess
Файл .htaccess может быть страшным местом; это классический пример того, как «большая сила дает большую ответственность», позволяющий ускорить работу вашего сайта, создавать перенаправления и делать удивительные вещи. Однако вся эта мощь имеет свою цену — ошибка в этом файле, скорее всего, приведет к отказу всего вашего сайта.
Чтобы исправить это, нужно отменить то, что вы добавили, но для новичка это может быть сложной задачей. Я настоятельно рекомендую поэкспериментировать на тестовом сайте, прежде чем вы запачкаете руки важным живым сайтом.
Первое, что вам понадобится, это способ доступа к файлам вашего сервера. Чаще всего это можно сделать через FTP (протокол передачи файлов — подробнее). Файл может быть немного сложно найти, потому что это точечный файл — скрытый файл в системе на основе Linux (что такое точечный файл?) — но в большинстве редакторов FTP есть опция « показывать скрытые файлы », которая должна позволять вам просматривать эти файлы. (Примечание. Если вы используете Mac, прочтите нашу статью о том, как загрузить, отредактировать и повторно загрузить файл htaccess без необходимости изменять какие-либо настройки вашего компьютера.)
Файл .htaccess должен находиться в вашей основной папке WordPress — той же папке, которая содержит папки wp-content, wp-includes и wp-admin. Если вы не можете его найти, ничего страшного, он может не существовать — и в этом случае вам нужно будет его создать (боюсь, что здесь не описано). После того, как вы найдете (или создадите), вам нужно будет добавить следующий код, используя обычный текстовый редактор, а НЕ текстовый редактор!
ExpiresActive On
ExpiresByType image / jpg «доступ плюс 1 год»
ExpiresByType image / jpeg "доступ плюс 1 год"
ExpiresByType image / gif "доступ плюс 1 год"
ExpiresByType изображение / значок x "доступ плюс 1 год"
ExpiresByType image / png "доступ плюс 1 год"
ExpiresByType text / css "доступ плюс 1 месяц"
ExpiresByType text / x-javascript "доступ плюс 1 месяц"
Приложение ExpiresByType / x-shockwave-flash "доступ плюс 1 месяц"
ExpiresDefault "доступ плюс 2 дня"
Эти строки сообщают браузеру пользователя, как кэшировать файлы каждого типа. Выше я установил jpg, jpeg, gif, значки и png изображения для кеширования в течение года (так как они почти никогда не меняются), а файлы CSS, JavaScript и Flash должны кэшироваться каждый месяц (поскольку они более подвержены изменениям. ). Я также установил по умолчанию два дня для всех файлов, для которых не указано иное.
Отключение для разработки
Поскольку эти файлы будут кэшироваться в течение некоторого времени (какое бы время вы ни выбрали для каждого типа файлов), разработка может быть затруднена, поэтому я настоятельно рекомендую не использовать кеширование браузера для веб-сайтов, которые все еще находятся в активной разработке.Конечно, вы можете зайти в настройки своего браузера и каждый раз очищать кеш вручную, но это скоро станет утомительным (к тому же очистить чужой кеш не так просто — советы ниже).
Если вы начнете что-то менять, вам нужно сначала изменить кеш на что-то гораздо более короткое, например, на один день — в этом случае пользователи увидят новые ресурсы по прошествии 24 часов.
Еще один метод, используемый разработчиками для обновления кэшированных файлов, — это добавление параметров запроса к своим ресурсам.Если вы загружаете script.js, например, после кеширования, любые изменения, которые вы вносите в него, будут загружены только через год (или независимо от того, как долго вы его установили). Чтобы обойти это, разработчики часто добавляют версию ресурса к URL-адресу. Таким образом, вместо «http://mysite.com/scripts.js» URL-адрес становится чем-то вроде «http://mysite.com/scripts.js?version=1.0», и когда сценарий снова изменяется, разработчик снова заменяет URL-адрес ресурса, делая его «http://mysite.com/scripts.js?version=1.1 ”, например.
Что касается браузера, то это технически новый ресурс, поэтому он будет загружен и кэширован заново — еще на год.
Проверка вашей работы
Существует несколько способов проверить, включено ли на сайте кеширование браузера, одним из самых простых (и наиболее интересных) является использование бесплатного инструмента тестирования скорости сайта под названием GTmetrix — то, что мы уже подробно рассмотрели. в предыдущей статье: Как использовать GTmetrix для проверки скорости веб-сайта — Эффективно
Если ваш сайт получил «пятерку», значит, кеширование в браузере в порядке, и вы готовы к отличному увеличению скорости!
Заключительные мысли
Кэширование браузера может привести к значительному увеличению скорости, и, поскольку это по сути означает просто копирование и вставку нескольких строк кода (и не имеет никаких недостатков — при условии, что вы не собираетесь изменять какой-либо из определенных файлов до того, как они будут установлены до истечения срока действия), что почти наверняка стоит того, чтобы включить его.
Уже видите преимущества использования кеширования браузера на вашем сайте? Мысли?
Привет, меня зовут Даниэль! Я разрабатываю вещи для Интернета, а затем пишу или рассказываю о них. Я технический директор Kinsta и пишу для множества замечательных онлайн-журналов. Когда я не кодирую или не пишу, вы наверняка найдете меня играющим в настольные игры.