DevToolPal
UK
3xx Перенаправлення

304 Not Modified

Не змінено

Що це означає

Кешована копія клієнта досі актуальна, тож сервер не надсилає тіло. Це відповідь на умовний запит з If-None-Match або If-Modified-Since.

Типові причини

  • ETag в If-None-Match збігається з поточною версією
  • Ресурс не змінювався з моменту If-Modified-Since
  • Браузер перевіряє кешований ресурс

Як виправити

Якщо ви клієнт або відвідувач

Використайте кешоване тіло. Якщо вміст здається застарілим, валідатор може бути неправильним; примусово перезавантажте або перевірте генерацію ETag.

Якщо ви власник сайту чи API

Генеруйте стабільні ETag (однакові на всіх серверах за балансувальником) і надсилайте ті самі заголовки кешування, що й із 200.

Приклад відповіді

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

Специфікація

RFC 9110 §15.4.5

Часті запитання

› Чи є 304 помилкою?

Ні. Він економить трафік, повідомляючи клієнту, що його кеш актуальний.

› Чому користувачі бачать старі файли після розгортання?

Заголовки кешування дозволяють застарілі копії. Використовуйте імена файлів із відбитком для ресурсів і короткий max-age з перевіркою для HTML.