304

Not Modified

Officieel
De bron hoeft niet opnieuw te worden verzonden omdat er geen verandering heeft plaatsgevonden.

Specificatie van de HTTP-statuscode 304

De statuscode 304 Not Modified geeft aan dat een voorwaardelijk GET- of HEAD-verzoek is ontvangen en zou hebben geresulteerd in een antwoord 200 (OK), ware het niet dat de voorwaarde onwaar is gebleken. Met andere woorden, het is niet nodig dat de server een representatie van de doelbron overdraagt omdat het verzoek aangeeft dat de client, die het verzoek voorwaardelijk maakte, al een geldige representatie heeft; de server stuurt de client daarom door om gebruik te maken van die opgeslagen representatie alsof het de inhoud van een 200 (OK) antwoord is.

De server die een 304 Not Modified-antwoord genereert, MOET elk van de volgende headervelden genereren die zouden zijn verzonden in een 200 (OK)-antwoord op hetzelfde verzoek:

  1. Content-Location, Date, ETag en Vary
  2. Cache-Control en Expires (zie [CACHING])

Aangezien het doel van een 304 Not Modified-antwoord is de overdracht van informatie te minimaliseren wanneer de ontvanger al een of meer weergaven in de cache heeft, MOET een afzender GEEN andere metagegevens over de weergave genereren dan de bovengenoemde velden, tenzij deze metagegevens bestaan om cache-updates te begeleiden (bijv.g., Last-Modified kan nuttig zijn als het antwoord geen ETag-veld heeft).

Eisen voor een cache die een 304 Not Modified-antwoord ontvangt, worden gedefinieerd in punt 4.3.4 van [CACHING]. Als het voorwaardelijke verzoek afkomstig is van een uitgaande client, zoals een user agent met een eigen cache die een voorwaardelijke GET naar een gedeelde proxy stuurt, ZOU de proxy het 304 Not Modified-antwoord naar die client moeten doorsturen.

Een 304 Not Modified-antwoord wordt beëindigd door het einde van de header-sectie; het kan geen inhoud of trailers bevatten.

Bron / Citaat van: De 304 Not Modified HTTP-statuscode wordt gespecificeerd door sectie 15.4.5 van RFC9110.

HTTP-protocol

werk in uitvoering

Hoe gooi je een 304-statuscode met PHP?

Om de HTTP-statuscode 304 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test de HTTP-statuscode 304

Om de HTTP-statuscode (in dit geval 304 Not Modified) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:

Statuscode 304 Not Modified
Overzicht
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Die: Network
IP-adres: XX.XX.XX.XX
Statuscode 304 Not Modified

Browsercompatibiliteit van de 304-statuscode

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

Constanten in programmeertalen

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

Vermakelijke memes over de HTTP-statuscode 304

Blog Artikelen

Caching en HTTP-statuscodes: Webprestaties optimaliseren met intelligente caching

Webprestaties en de daaruit voortvloeiende gebruikerservaring zijn centrale aspecten voor het succes van elke website. Een belangrijke factor die deze prestaties beïnvloedt, zijn de HTTP-statuscode...

Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser is een enthousiaste webontwikkelaar met een voorliefde voor HTTP-statuscodes.

LinkedInGitHub