DevToolPal
PL
3xx Przekierowanie

304 Not Modified

Nie zmodyfikowano

Co to znaczy

Kopia, którą klient ma w pamięci podręcznej, jest nadal aktualna, więc serwer nie wysyła treści. To odpowiedź na żądanie warunkowe z If-None-Match lub If-Modified-Since.

Typowe przyczyny

  • ETag w If-None-Match pasuje do bieżącej wersji
  • Zasób nie zmienił się od If-Modified-Since
  • Przeglądarka weryfikuje zasób z pamięci podręcznej

Jak naprawić

Jako klient lub odwiedzający

Użyj treści z pamięci podręcznej. Jeśli treść wygląda na nieaktualną, walidator może być błędny; wymuś przeładowanie lub sprawdź generowanie ETag.

Jako właściciel strony lub API

Generuj stabilne ETagi (identyczne na wszystkich serwerach za load balancerem) i wysyłaj te same nagłówki cache co przy 200.

Przykładowa odpowiedź

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

Specyfikacja

RFC 9110 §15.4.5

FAQ

› Czy 304 to błąd?

Nie. Oszczędza transfer, informując klienta, że jego pamięć podręczna jest aktualna.

› Dlaczego użytkownicy widzą stare pliki po wdrożeniu?

Nagłówki cache pozwalają na nieaktualne kopie. Używaj nazw plików z odciskiem dla zasobów i krótkiego max-age z walidacją dla HTML.