304

Not Modified

Oficjalny
Zasób nie musi być retransmitowany, ponieważ nie nastąpiła żadna zmiana

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:

  1. Content-Location, Date, ETag, and Vary
  2. 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

prace w toku

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:

Kod statusu 304 Not Modified
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 304 Not Modified

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

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

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...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser jest entuzjastycznym twórcą stron internetowych z zamiłowaniem do kodów statusu HTTP.

LinkedInGitHub