Перейти до вмісту
Глоссарий 3 хв читання 30 переглядів

Проксі-кешування

Проксі-кешування: Як працює проксі-кеш

Проксі-кешування

Проксі-кешування працює шляхом зберігання копій часто запитуваних веб-ресурсів на проксі-сервері, що дозволяє наступним запитам на той самий вміст обслуговуватися безпосередньо з кешу, замість повторного отримання їх з вихідного сервера.

Огляд проксі-кешування

Проксі-сервер діє як посередник між клієнтом і вихідним сервером. При налаштуванні для кешування він перехоплює запити клієнтів на веб-вміст (такий як HTML-сторінки, зображення, таблиці стилів або скрипти). Якщо запитуваний ресурс знайдено в локальному сховищі проксі та він вважається актуальним, проксі негайно його надає. В іншому випадку проксі пересилає запит до вихідного сервера, отримує ресурс, надає його клієнту та одночасно зберігає копію у своєму кеші для майбутнього використання.

Переваги проксі-кешування

Впровадження проксі-кешування дає кілька експлуатаційних переваг:

  • Зменшена затримка: Вміст, що надається з географічно ближчого проксі-кешу, досягає клієнта швидше, ніж вміст, отриманий з віддаленого вихідного сервера, покращуючи сприйняту продуктивність програми.
  • Зменшене споживання пропускної здатності: Надаючи кешований вміст, проксі мінімізує необхідність багаторазового завантаження одних і тих самих даних через зовнішні мережеві з'єднання, заощаджуючи пропускну здатність, особливо для часто доступних ресурсів.
  • Зменшене навантаження на вихідні сервери: Кешування знімає значну частину запитів з вихідних серверів, дозволяючи їм обробляти більше унікальних запитів або працювати з меншим навантаженням, що може запобігти перевантаженням та покращити їхню чутливість.
  • Покращений користувацький досвід: Швидший час завантаження та більш послідовна доставка вмісту безпосередньо сприяють кращому досвіду для кінцевих користувачів.

Як працює проксі-кеш: Потік запитів

Процес кешування включає низку кроків:

  1. Запит клієнта: Клієнт (наприклад, веб-браузер) надсилає HTTP-запит на ресурс до проксі-сервера.
  2. Пошук у кеші: Проксі-сервер отримує запит і перевіряє свій локальний кеш на наявність збереженої копії запитуваного ресурсу. Ключ кешу зазвичай формується з URL-адреси та, можливо, інших заголовків запиту.
  3. Збіг у кеші (актуальний): Якщо в кеші знайдено дійсну, актуальну копію ресурсу, проксі негайно надає цю кешовану копію клієнту. Це найшвидший шлях.
  4. Збіг у кеші (застарілий/потребує перевірки): Якщо копію знайдено, але вона вважається застарілою (термін її актуальності минув), проксі ініціює умовний запит до вихідного сервера. Цей запит включає заголовки перевірки, такі як If-Modified-Since або If-None-Match.
    • Якщо вихідний сервер відповідає 304 Not Modified, кешована копія все ще дійсна, і проксі надає її клієнту, оновлюючи інформацію про її актуальність.
    • Якщо вихідний сервер відповідає новою версією ресурсу (200 OK), проксі оновлює свій кеш новим вмістом, надає його клієнту та оновлює інформацію про актуальність.
  5. Промах кешу: Якщо в кеші не знайдено копії ресурсу, або якщо вихідний сервер вказує, що кешована копія більше не дійсна і надсилає новий вміст, проксі пересилає оригінальний запит клієнта до вихідного сервера.
  6. Відповідь вихідного сервера: Вихідний сервер обробляє запит і надсилає ресурс назад до проксі.
  7. Кешування та доставка: Проксі отримує ресурс від вихідного сервера, зберігає копію у своєму кеші (якщо вона підлягає кешуванню), а потім пересилає ресурс клієнту.

Анулювання кешу та актуальність

Підтримка актуальності кешу є критично важливою для забезпечення того, щоб клієнти отримували найновіший вміст. Механізми кешування HTTP в основному покладаються на заголовки відповіді, надані вихідним сервером.

Заголовки кешування HTTP

Вихідні сервери використовують специфічні заголовки відповіді HTTP, щоб інструктувати проксі (та клієнтські браузери) щодо того, як кешувати вміст:

  • Cache-Control: Основний і найпотужніший заголовок для директив кешування.

    • max-age=<секунди>: Визначає максимальний час, протягом якого ресурс вважається актуальним.
    • no-cache: Примушує проксі повторно перевіряти кешовану копію з вихідним сервером перед її використанням, навіть якщо запис кешу не є застарілим. Це не означає "не кешувати".
    • no-store: Забороняє проксі зберігати будь-яку частину запиту або відповіді в будь-якому кеші.
    • public: Вказує, що ресурс може бути кешований будь-яким кешем, включаючи спільні проксі-кеші.
    • private: Вказує, що ресурс призначений для одного користувача і може бути кешований лише приватним кешем браузера, а не спільними проксі-кешами.
    • must-revalidate: Примушує повторну перевірку з вихідним сервером, якщо запис кешу стає застарілим.
    • proxy-revalidate: Подібно до must-revalidate, але застосовується лише до спільних проксі-кешів.

    ```http

Оновлено: 03.03.2026
Назад до категорії

Спробуйте наші проксі

20,000+ проксі в 100+ країнах світу

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.