3.1. Expires, Cache-Control и сброс кэша

3.1. Expires, Cache-Control и сброс кэша

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

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

В качестве базовой настройки обычно используется инструкция браузеру от сервера для бессрочного кэширования каждого URL. Чтобы дать серверу понять, что файл был изменен, требуется использовать другое имя файла. На больших веб-сайтах обычно устанавливается такой процесс изменения этих файлов, что номер каждой новой версии добавляется к имени файла (например, common.v1.css становится common.v2.css). Соответственно, ссылки на эти файлы тоже должны быть программно обновлены, и это не зависит от языка программирования или системы шаблонов.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Настройка заголовка HTTP Expires

Из книги автора

Настройка заголовка HTTP Expires Заголовок Expires является частью спецификации HTTP 1.0. Когда HTTP-сервер отправляет ресурс (например, HTML-страницу или изображение) браузеру, он может дополнительно с ответом отправить этот заголовок с меткой времени. Браузеры обычно хранят ресурс


Форсированный сброс кэша

Из книги автора

Форсированный сброс кэша Если мы устанавливаем время кэширования на несколько лет (фактически на бесконечность), то нам нужно каким-то образом сообщить клиентскому браузеру, что исходный ресурс-то у нас поменялся: иначе браузер его никогда повторно не запросит. Что для


9.3.3. Настройка кэша

Из книги автора

9.3.3. Настройка кэша От того, как вы настроите кэш, будет зависеть удобство работы через прокси- сервер, поэтому я постараюсь показать все директивы, которые относятся к этому разделу, и подробно рассмотреть каждую из них:? cache_dir тип директория размер L1 L2 опции — определяет


9.3.5. Разделение кэша

Из книги автора

9.3.5. Разделение кэша Чтобы ваш сервер мог обмениваться запросами с другими squid-серверами, разделяя таким образом содержимое кэша, вы должны настроить соответствующий протокол.Дня этого есть следующие директивы:? icp_port n — номер порта, который будет использоваться для


Просмотр архива сайтов (Cache > Internet Archive)

Из книги автора

Просмотр архива сайтов (Cache > Internet Archive) Ресурс этот мы уже рассматривали, а потому нет смысла повторяться. Отметим лишь, что архив сайтов входит в пакет инструментов, доступных через Fagan Finder, что отображено на рис.


Shared Cache file

Из книги автора

Shared Cache file Параметр более не используется в InterBase.


DATABASE CACHE SIZE

Из книги автора

DATABASE CACHE SIZE Параметры в ibconfig DATABASE_CACHE_PAGES 75


8.2. Получение и сброс блокировки чтения-записи

Из книги автора

8.2. Получение и сброс блокировки чтения-записи Блокировка чтения-записи имеет тип pthread_rwlock_t. Если переменная этого типа является статической, она может быть проинициализирована присваиванием значения константы PTHREAD_RWLOCK_INITIALIZER.Функция pthread_rwlock_rdlock позволяет заблокировать


Exposure Control (Контроль экспозиции) и Logarithmic Exposure Control Parameters (Параметры логарифмического контроля экспозиции)

Из книги автора

Exposure Control (Контроль экспозиции) и Logarithmic Exposure Control Parameters (Параметры логарифмического контроля экспозиции) Свиток Exposure Control (Контроль экспозиции) позволяет изменять параметры общей освещенности сцены за счет настройки выходных уровней и цветового диапазона так, как если бы


Шутка №10 — сброс системной даты/времени

Из книги автора

Шутка №10 — сброс системной даты/времени Последняя, десятая шутка будет устанавливать текущую дату 01.01.2000, и изменять текущее время на 00:00:01. Код этой шутки:GetLocalTime(tm); //узнаем текущую дату и времяtm.wYear:= 2000; //устанавливаем годtm.wMonth:= 01; //месяцtm.wDay:= 01; //деньtm.wHour:= 0; //часыtm.wMinute:= 0;


Вычисление размера кэша

Из книги автора

Вычисление размера кэша Когда Firebird читает страницу базы данных с диска, он сохраняет эту страницу в кэше. Обычно размер кэша по умолчанию является достаточным. Если ваше приложение использует соединения из пяти и более таблиц, Firebird Суперсервер может автоматически


Проверка размера кэша

Из книги автора

Проверка размера кэша Для проверки величины используемого кэша базы данных выполните следующие команды в isql:ISQL> CONNECT имя-базы-данных;ISQL> SET STATS ON;ISQL> COMMIT;Current memory = 415768Delta memory = 2048Max memory = 419840Elapsed time = 0.03 secBuffers = 2048Reads = 0Writes 2Fetches = 2ISQL> QUIT;После SET STATS ON пустая команда COMMIT


Установка размера кэша по умолчанию

Из книги автора

Установка размера кэша по умолчанию Использование gfix является предпочтительным способом установки размера кэша по умолчанию для базы данных. Важно помнить некоторые моменты.* Если вы увеличиваете размер страницы, размер кэша соответственно увеличится. Вы должны


Пример 11-15. "Сброс" переменной

Из книги автора

Пример 11-15. "Сброс" переменной #!/bin/bash# unset.sh: Сброс переменной.variable=hello # Инициализация.echo "variable = $variable"unset variable # Сброс. # Тот же эффект дает variable=echo "(unset) variable = $variable" # $variable = null.exit 0exportКоманда export экспортирует переменную, делая ее


ГЛABA 11  Диспетчер кэша

Из книги автора

ГЛABA 11  Диспетчер кэша Диспетчер кэша (cache manager) — это набор функций режима ядра и системных потоков, во взаимодействии с диспетчером памяти обеспечивающих кэширование данных для всех драйверов файловых систем Windows (как локальных, так и сетевых). B этой главе мы поясним, как