Сайт усе ще «гальмує», хоча зображення вже оптимізовані, а код мінімізований? У логах постійно з’являється статус 304, і ви не впевнені, чи це помилка?
У цій статті поясню, що насправді означає 304 Not Modified, чому він не сигналізує про проблему та як налаштувати сервер так, аби прискорити роботу ресурсу й знизити навантаження.
Як код статусу 304 пришвидшує роботу сайту
Коли користувач уперше відкриває сторінку, браузер зберігає статичні файли — зображення, CSS, JavaScript — у кеші. Під час наступного звернення сервер перевіряє, чи змінився ресурс. Якщо ні, повертається статус 304, а клієнтська програма підтягує дані з локальної пам’яті. Це скорочує час відгуку й робить сайт швидшим.
Уявіть логотип у форматі .png. При першому завантаженні оглядач отримує файл і фіксує дату запиту. Коли користувач повертається на сторінку, програма надсилає на сервер уточнення: чи змінювався логотип після вказаної дати. Якщо файл залишився тим самим, відповідь приходить у вигляді статусу 304, і зображення відтворюється з кешу. У результаті воно відображається миттєво, без повторного завантаження.
За такою ж логікою працюють не лише картинки, а й стилі, скрипти чи навіть HTML-сторінки.
Щоби перевірити зміни, клієнтський агент використовує HTTP-заголовки If-Modified-Since (дата останнього збереження файлу) або If-None-Match (ідентифікатор версії ресурсу). Саме завдяки цим заголовкам сервер вирішує, віддавати нову копію чи обмежитися кодом 304.
Принцип роботи відповіді 304 Not Modified
Як налаштувати 304 code у різних середовищах
Використання статусу 304 потребує правильної конфігурації. Розгляну налаштування в найпопулярніших середовищах: Nginx, Apache2 та Cloudflare.
Налаштування 304 в Nginx
У файлі nginx.conf можна активувати перевірку змін ресурсу. Якщо файл не оновлювався, сервер відповідає 304 not modified. Приклад конфігурації:
location / {
etag on;
if_modified_since exact;
add_header Cache-Control "public, max-age=2592000";
}
Тут увімкнено заголовки ETag та Last-Modified. Завдяки ним браузер одержує сигнал, що файл можна брати з кешу.
Налаштування 304 в Apache2
У сервері Apache2 механізм перевірки змін файлів налаштовується через файл .htaccess. У ньому можна прописати такі директиви:
FileETag MTime Size
<IfModule mod_headers.c>
Header set Cache-Control "max-age=2592000, public"
</IfModule>
Коли файл не змінювався, Apache відповідає кодом 304, а браузер завантажує його з локальної пам’яті.
Використання 304 у Cloudflare
Cloudflare вважається одним із найзручніших інструментів для покращення швидкості сайтів. Одна з його переваг — система кешування, яка пришвидшує завантаження сторінок та допомагає економити трафік. Завдяки цьому механізму Cloudflare автоматично може віддавати код 304, коли контент залишається незмінним.
Щоби це працювало, у панелі керування потрібно правильно налаштувати кешування. Є два основні параметри:
-
Caching Level (позначений на скриншоті «1»). Він визначає, як саме відбувається зберігання файлів:
-
no query string — фіксує сторінку незалежно від параметрів у URL;
-
ignore query string — зберігає в кеші лише одну версію файлу, навіть коли в URL різні параметри, але водночас передає ці параметри на сервер (наприклад, file.js?v=1 і file.js?v=2 сприймаються як один ресурс);
-
standard — окремо зберігає кожен унікальний URL із параметрами.
-
Browser Cache TTL (час зберігання у кеші, на скриншоті позначений «2») визначає, як довго файли залишатимуться в локальному сховищі програми для перегляду. Упродовж цього періоду клієнтський агент не звертається до сервера, а бере готову копію з пам’яті.
Наприклад, якщо TTL встановлено на один місяць, зображення, стилі чи скрипти відкриватимуться миттєво під час кожного повторного візиту. Це суттєво скорочує час завантаження сторінок і зменшує навантаження на сервер.
У результаті правильної конфігурації Cloudflare у поєднанні з кешем користувача дані зберігаються максимально ефективно, а сторінки віддаються через HTTP 304. Це значно прискорює роботу сайту.
Сумісність і поведінка браузерів із 304 Not Modified
Код HTTP 304 підтримують всі сучасні браузери: Chrome, Firefox, Safari, Edge. Коли сервер повертає цей код, клієнтська програма автоматично бере ресурс із локального сховища й не завантажує його повторно. Для користувача процес відбувається непомітно.
Важливий нюанс: кожен браузер може сам визначати, скільки часу зберігати кешовані файли.
Якщо сховище пошкоджене чи очищене, браузер все одно звернеться по нову копію, навіть коли відповідь — 304. Старі версії браузерів можуть працювати інакше, але в більшості випадків підтримка цього коду є повною й стабільною.
Також читайте в нашому блозі, Що таке код помилки 410.
Переваги використання 304 Not Modified
Коли сервер повертає статус 304, це означає, що файл не змінився і його можна завантажити з кешу. Завдяки цьому сторінка відкривається швидше, адже браузеру не потрібно щоразу завантажувати дані з нуля.
Що це дає на практиці:
-
сторінки відкриваються швидше, бо програмі для перегляду не потрібно щоразу завантажувати дані з нуля;
-
сервер отримує менше запитів і працює стабільніше під навантаженням;
-
економиться трафік, що особливо важливо для користувачів із мобільними тарифами;
-
робота із сайтом стає комфортнішою, а це напряму впливає на лояльність відвідувачів.
Якщо в логах з’являється статус 304 — це зовсім не помилка, а нормальний сигнал від сервера.
Хочете, щоби ваш сайт завантажувався ще швидше та краще ранжувався в Google?
Замовляйте SEO-аудит та оптимізацію — ми не тільки налаштуємо кешування та статуси 304, а також підвищимо швидкість, юзабіліті й позиції у видачі.
Висновки
-
304 — це HTTP-статус, який означає, що файл не змінювався. У такому випадку браузер сам вирішує, завантажити його з локального кешу чи запросити заново. Завдяки цьому сторінки відкриваються швидше, а навантаження на інфраструктуру знижується.
-
Щоби код 304 працював коректно, потрібно правильно налаштувати сервер. У Nginx це робиться через etag та if_modified_since, в Apache — за допомогою директив у .htaccess, а в Cloudflare — через параметри кешування.
-
Підтримка 304-статусу є у всіх сучасних браузерах, тому його можна використовувати для сайтів. Для користувачів це означає зручність і економію трафіку, а для власників майданчиків — оптимізацію серверних ресурсів.
-
Використання коду 304 Not Modified — це баланс між швидкістю роботи сайту та надійністю технічної платформи.
FAQ
-
Чи можна вважати 304 помилкою?Ні, це нормальна поведінка сервера. Код означає, що файл не змінився, і система відображає його з кешу.
-
Чи впливає 304 на SEO?Прямого впливу немає. Використання кешу пришвидшує сайт, а це враховується пошуковими системами як позитивний сигнал.
-
Чи завжди браузер отримає 304?Ні. Якщо кеш видалено, ресурс змінено або відключено заголовки If-Modified-Since/ETag, файл завантажується заново.
-
Що робити, коли сторінки не кешуються?Перевірити конфігурацію заголовків Cache-Control, ETag та Last-Modified. Без них сервер не зможе повернути 304.
-
Чи економить 304 мобільний трафік?Так. Оскільки дані беруться з локальної копії, повторне завантаження не потрібне, і витрати трафіку знижуються.
Свіжі
Як провести SEO-аналіз сайту: покрокові методи і корисні інструменти
Детальний посібник з аналізу сайту: технічний стан, контент, швидкість, структура, зовнішні фактори і поведінкові показники для комплексного SEO-аналізу
Як налаштувати ремаркетинг для реклами в Instagram та Facebook
Розбираэмо, як сегментувати аудиторії і використовувати їх для реклами в Instagram та Meta
AI пошук 2026: що чекає на бізнес і як адаптувати маркетингові стратегії?

