Веб-кеш
Веб -кэш (или HTTP-кеш ) — это система оптимизации Всемирной паутины. Он реализован как на стороне клиента, так и на стороне сервера. Кэширование мультимедиа и других файлов может привести к уменьшению общей задержки при просмотре веб-страниц. [1] [2]
Распределенные веб-приложения должны учитывать возможность распределенного кэширования .
Части системы [ править ]
Вперед и назад [ править ]
Прямой кэш — это кэш вне сети веб-сервера клиента , например, в веб-браузере , у интернет-провайдера или внутри корпоративной сети. [3] Прямой кэш с поддержкой сети кэширует только элементы, к которым часто обращаются. [4] Прокси -сервер, расположенный между клиентом и веб-сервером, может оценивать заголовки HTTP и выбирать, сохранять ли веб-контент.
Обратный кеш располагается перед одним или несколькими веб-серверами, ускоряя запросы из Интернета и снижая пиковую нагрузку на сервер. Обычно это сеть доставки контента (CDN), которая сохраняет копии веб-контента в различных точках сети.
Параметры HTTP [ править ]
Протокол передачи гипертекста (HTTP) определяет три основных механизма управления кэшем: актуальность, проверка и аннулирование. [5] Это указывается в заголовке ответного HTTP-сообщения от сервера.
Свежесть позволяет использовать ответ без повторной проверки на исходном сервере и может контролироваться как сервером, так и клиентом. Например, заголовок ответа Expires указывает дату, когда документ устаревает, а директива Cache-Control: max-age сообщает кэшу, в течение скольких секунд ответ является свежим.
Валидацию можно использовать для проверки работоспособности кэшированного ответа после того, как он устарел. Например, если ответ имеет заголовок Last-Modified, кэш может сделать условный запрос, используя заголовок If-Modified-Since, чтобы проверить, изменился ли он. Механизм ETag . (тег объекта) также допускает как строгую, так и слабую проверку
Инвалидация обычно является побочным эффектом другого запроса, проходящего через кеш. Например, если URL-адрес, связанный с кэшированным ответом, впоследствии получит запрос POST, PUT или DELETE, кэшированный ответ будет признан недействительным.Многие CDN и производители сетевого оборудования заменили этот стандартный контроль кэша HTTP динамическим кэшированием.
Законность [ править ]
В 1998 году DMCA добавила в Кодекс США правила ( 17 USC §: 512 ), которые освобождают системных операторов от ответственности за авторские права в целях кэширования.
Серверное программное обеспечение [ править ]
Это список программного обеспечения для веб-кэширования на стороне сервера.
Имя | Операционная система | Вперед режим | Обеспечить регресс режим | Лицензия | ||
---|---|---|---|---|---|---|
Окна | Unix-подобный | Другой | ||||
HTTP-сервер Apache | Да | OS X, Linux, Unix, FreeBSD, Solaris, Novell NetWare | OS/2, TPF, OpenVMS, eComStation | Да | Апач 2.0 | |
aiScaler Управление динамическим кэшем | Нет | Линукс | Нет | Собственный | ||
ApplianSys CACHEbox | Нет | Линукс | Нет | Собственный | ||
Синий Пальто ProxySG | Нет | Нет | СГОС | Да | Да | Собственный |
Нгинкс | Да | Linux , BSD , OS X , Solaris , AIX , HP-UX | Да | Да | Да | 2-х пунктный BSD -подобный |
Шлюз управления угрозами Microsoft Forefront | Да | Нет | Нет | Да | Да | Собственный |
Полип | Да | OS X , Linux , OpenWrt , FreeBSD | ? | Да | Да | МОЯ лицензия |
Кальмар | Да | Линукс | ? | Да | Да | лицензия GPL |
Сервер трафика | ? | Линукс | ? | Да | Да | Апач 2.0 |
Распутать | Нет | Линукс | Нет | Да | Да | Собственный |
Лак | Нет | Линукс | Нет | Нужен VMOD | Да | БСД |
WinGate | Да | Нет | Нет | Да | Да | Собственный (бесплатно для 8 пользователей) |
Настер | Нет | Линукс | Нет | Да | Да | лицензия GPL |
McAfee Веб-шлюз | Нет | Операционная система McAfee Linux | Нет | Да | Да | Собственный |
См. также [ править ]
- Межпланетная файловая система - делает веб-кэши избыточными
- Протокол обнаружения кэша
- Манифест кэша в HTML5
- Сеть доставки контента
- Проект сбора урожая
- Прокси-сервер
- Веб-ускоритель
- Кэш поисковой системы
Ссылки [ править ]
- ^ Фунтис, Йоргос (4 мая 2017 г.). «Как работает кеш браузера?» .
- ^ Мессауд, С.; Юсеф, Х. (2009). «Аналитическая модель для оценки производительности алгоритмов замены веб-кэша на основе стека» . Международный журнал систем связи . 23 : 1–22. дои : 10.1002/dac.1036 . S2CID 46507769 .
- ^ Шиндер, Томас (2 сентября 2008 г.). «Понимание концепций веб-кэширования для брандмауэра ISA» . ISA-сервер . TechGenix Ltd. Архивировано из оригинала 23 июля 2011 года . Проверено 27 февраля 2011 г.
- ^ Эрман, Джеффри; Гербер, Александр; Хаджиагайи, Мохаммад Т.; Пей, Дэн; Спатчек, Оливер (2008). «Сетевое прямое кэширование» (PDF) . Лаборатории AT&T : 291–300. CiteSeerX 10.1.1.159.1786 . Архивировано из оригинала (PDF) 1 апреля 2011 года . Проверено 11 марта 2019 г.
- ^ Келли, Майк; Хаузенблас, Майкл. «Использование HTTP-ссылки: заголовок для аннулирования кэша шлюза» (PDF) . WS-REST . п. 20. Архивировано из оригинала (PDF) 10 июля 2010 года . Проверено 14 июня 2013 г.
Дальнейшее чтение [ править ]
- Ари Луотонен, Веб-прокси-серверы (Прентис Холл, 1997) ISBN 0-13-680612-0
- Дуэйн Весселс, Веб-кэширование (O'Reilly and Associates, 2001). ISBN 1-56592-536-X
- Майкл Рабинович и Оливер Спачак, Веб-кэширование и репликация (Аддисон Уэсли, 2001). ISBN 0-201-61570-3