Разгони свой сайт. Кэширование

Содержание

Слайд 2

Содержание

Основы кэширования: Cache-Control
Условное кэширование: ETag
Настройка и сброс кэширования
Кэширования для IE: post-check, pre-check
Кэширование

Содержание Основы кэширования: Cache-Control Условное кэширование: ETag Настройка и сброс кэширования Кэширования
и архивирование для iPhone

2 / 19

webo.in

Слайд 3

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

webo.in

3 / 19

Expires, Cache-Control и сброс кэша webo.in 3 / 19

Слайд 4

Expires и Cache-Control

Expires
время актуальности информации
Cache-Control
срок кэширования данных
директивы кэширования для прокси-серверов
«тонкая» настройка кэширования

4

Expires и Cache-Control Expires время актуальности информации Cache-Control срок кэширования данных директивы
/ 19

webo.in

Слайд 5

«Вечное» кэширование

5 / 19

webo.in

Expires и(ли) Cache-Control
на месяц, год или 10 лет вперед
Плюсы
При

«Вечное» кэширование 5 / 19 webo.in Expires и(ли) Cache-Control на месяц, год
повторном посещении 90-99% запросов исчезнут
Минусы
Файл нельзя обновить у всех пользователей (будет использован кэш)

Слайд 6

Запрет и сброс кэша

6 / 19

webo.in

Expires
на текущую дату
Cache-Control
max-age=0, no-store, no-cache
Сброс кэша
Уникальное физическое

Запрет и сброс кэша 6 / 19 webo.in Expires на текущую дату
имя файла
Уникальный GET-параметр у файла

Слайд 7

Условное кэширование

webo.in

7/ 19

Условное кэширование webo.in 7/ 19

Слайд 8

Last-Modified

Сервер
Last-Modified: дата изменения
Браузер
If-Modified-Since: дата документа в кэше
Если метки совпадают, то сервер отвечает:

Last-Modified Сервер Last-Modified: дата изменения Браузер If-Modified-Since: дата документа в кэше Если
304 Not Modified

8 / 19

webo.in

Слайд 9

ETag

Уникальный идентификатор ресурса, аналогичен Last-Modified
Может содержать произвольное число
Решает проблему распределения файлов по

ETag Уникальный идентификатор ресурса, аналогичен Last-Modified Может содержать произвольное число Решает проблему
нескольким серверам

9 / 19

webo.in

Слайд 10

Синхронизация файлов

10 / 19

webo.in

Метка файла
Зависит от даты изменения
Зависит от файловой системы
Зависит от

Синхронизация файлов 10 / 19 webo.in Метка файла Зависит от даты изменения
версии на текущем сервере
Нужно синхронизировать
Или дату изменения (вплоть до секунд)
Или расположение на файловой системе
Или версию файла

Слайд 11

Кэширование в IE

webo.in

11 / 19

Кэширование в IE webo.in 11 / 19

Слайд 12

post-check

12 / 19

webo.in

IE отображает ресурс из кэша
Но после этого делает запрос на

post-check 12 / 19 webo.in IE отображает ресурс из кэша Но после
сервер для проверки актуальности
Проверка кэша не влияет на скорость загрузки

Слайд 13

pre-check

Аналогичен истекшему кэшу

13 / 19

webo.in

pre-check Аналогичен истекшему кэшу 13 / 19 webo.in

Слайд 14

Кэширование в iPhone

webo.in

14 / 19

Кэширование в iPhone webo.in 14 / 19

Слайд 15

Несколько фактов

Продано несколько миллионов экземпляров
Доля рынка браузеров – 0,15%
Используем Safari для просмотра

Несколько фактов Продано несколько миллионов экземпляров Доля рынка браузеров – 0,15% Используем
страниц

15 / 19

webo.in

Слайд 16

В центре исследования

Максимальный размер отдельного компонента в кэше
Максимальный размер кэша для всех

В центре исследования Максимальный размер отдельного компонента в кэше Максимальный размер кэша
компонентов
Эффект gzip-сжатия для размера кэша
Очистка кэша при перезагрузке

16 / 19

webo.in

Слайд 17

Максимальный размер кэша

Для отдельного компонента
25 Кб
Для всех компонентов
475-500 Кб
В кэше сохраняются не

Максимальный размер кэша Для отдельного компонента 25 Кб Для всех компонентов 475-500
архивированные версии

17 / 19

webo.in

Слайд 18

Перезагрузка и общие советы

Кэш очищается при перезагрузке
Нужно следить за числом компонентов и

Перезагрузка и общие советы Кэш очищается при перезагрузке Нужно следить за числом
общим размером
Для iPhone критична JavaScript-производительность

18 / 19

webo.in