HTTP caching
Производительность веб-сайтов и приложений можно значительно повысить за счёт повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой трафик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми. Стандартное кеширование http может кешировать только get запросы. Заголовок Cache-Control взаимодействует с кешем. Not Modify header in req. Срок жизни кеша (важно знать)
Виды кеширования:
Приватный
Публичный
Приватный кеш предназначен для отдельного пользователя. Вы, возможно, уже видели параметры кеширования в настройках своего браузера. Кеш браузера содержит все документы, загруженные пользователем по HTTP. Он используется для доступа к ранее загруженным страницам при навигации назад/вперёд, позволяет сохранять страницы, или просматривать их код, не обращаясь лишний раз к серверу. Кроме того, кеш полезен при отключении от сети.
Публичный кеш — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой трафик и время ожидания.
В HTTP кеширование имеет следующие основные преимущества и аспекты:
Улучшение производительности: Кеширование позволяет клиентам и прокси-серверам хранить копии ресурсов ближе к конечным пользователям. Это сокращает задержку при загрузке страниц и уменьшает нагрузку на серверы.
Экономия ресурсов: Серверам не нужно повторно генерировать или передавать одни и те же ресурсы при каждом запросе. Кеширование позволяет сократить использование пропускной способности сети и ресурсов сервера.
Уменьшение нагрузки на серверы: Когда ресурсы кешируются на стороне клиента или промежуточных серверов, серверы могут более эффективно обслуживать запросы других клиентов.
Снижение затрат на трафик: Кеширование помогает уменьшить количество передаваемых данных, что может быть важно для ограниченных по объему трафика сетей, таких как мобильные сети.
Увеличение надежности: Кеширование может снизить влияние сбоев сервера или сети на конечных пользователей, так как они могут продолжать получать кешированные данные, даже если сервер временно недоступен.