304
Not Modified
Specyfikacja kodu statusu HTTP 304
Kod statusu 304 Not Modified wskazuje, że warunkowe żądanie GET lub HEAD zostało odebrane i skutkowałoby odpowiedzią 200 (OK), gdyby nie fakt, że warunek oceniony jako fałszywy. Innymi słowy, nie ma potrzeby, aby serwer przekazywał reprezentację zasobu docelowego, ponieważ żądanie wskazuje, że klient, który złożył żądanie warunkowe, ma już prawidłową reprezentację; serwer zatem przekierowuje klienta, aby wykorzystał tę przechowywaną reprezentację, tak jakby była to treść odpowiedzi 200 (OK).
Serwer generujący odpowiedź 304 Not Modified MUSI wygenerować dowolne z następujących pól nagłówka, które zostałyby wysłane w odpowiedzi 200 (OK) na to samo żądanie:
- Content-Location, Date, ETag, and Vary
- Cache-Control and Expires (patrz [CACHING])
Ponieważ celem odpowiedzi 304 Not Modified jest zminimalizowanie transferu informacji, gdy odbiorca posiada już jedną lub więcej zbuforowanych reprezentacji, nadawca NIE POWINIEN generować metadanych reprezentacji innych niż wyżej wymienione pola, chyba że wspomniane metadane istnieją w celu kierowania aktualizacjami cache (np.g., Last-Modified może być użyteczne, jeśli odpowiedź nie ma pola ETag).
Wymagania dotyczące pamięci podręcznej, która otrzymuje odpowiedź 304 Not Modified są zdefiniowane w sekcji 4.3.4 [CACHING]. Jeśli żądanie warunkowe pochodzi z klienta wychodzącego, takiego jak agent użytkownika z własną pamięcią podręczną wysyłający warunkowy GET do współdzielonego proxy, to proxy POWINNO przekazać odpowiedź 304 Not Modified do tego klienta.
Podpowiedź 304 Not Modified jest zakończona końcem sekcji nagłówków; nie może zawierać treści lub zwiastunów.
.Źródło / Cytat z: Kod statusu 304 Not Modified HTTP jest określony przez sekcję 15.4.5 z RFC9110.
Protokół HTTP
Jak wyrzucić kod statusu 304 za pomocą PHP?
Aby wyrzucić na stronę internetową kod statusu HTTP 304, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testowanie kodu 304 statusu HTTP
Aby móc wyświetlić kod statusu HTTP (w tym przypadku 304 Not Modified) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Te: Network
Adres IP: XX.XX.XX.XX
Zgodność kodu statusu 304 z przeglądarką
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
Stałe w językach programowania
Linki zewnętrzne z dalszymi informacjami na temat kodu statusu HTTP 304:
Zabawne memy o kodzie statusu HTTP 304
Artykuły na blogu
Buforowanie i kody stanu HTTP: Optymalizacja wydajności sieci dzięki inteligentnemu buforowaniu
Wydajność strony internetowej i wynikające z niej wrażenia użytkownika są kluczowymi aspektami sukcesu każdej witryny. Istotnym czynnikiem wpływającym na tę wydajność są kody statusu HTTP, zwłaszcz...