304
Not Modified
Specifica del codice di stato HTTP 304
Il codice di stato 304 Not Modified indica che è stata ricevuta una richiesta condizionale GET o HEAD che avrebbe dato luogo a una risposta 200 (OK) se non fosse che la condizione è stata valutata falsa. In altre parole, non è necessario che il server trasferisca una rappresentazione della risorsa di destinazione perché la richiesta indica che il client, che ha formulato la richiesta condizionata, dispone già di una rappresentazione valida; il server sta quindi reindirizzando il client a fare uso di tale rappresentazione memorizzata come se fosse il contenuto di una risposta 200 (OK).
Il server che genera una risposta 304 Not Modified DEVE generare uno dei seguenti campi di intestazione che sarebbero stati inviati in una risposta 200 (OK) alla stessa richiesta:
- Content-Location, Date, ETag e Vary
- Cache-Control e Expires (vedi [CACHING])
Siccome l'obiettivo di una risposta 304 Not Modified è quello di ridurre al minimo il trasferimento di informazioni quando il destinatario ha già una o più rappresentazioni in cache, un mittente NON DEVE generare metadati di rappresentazione diversi dai campi sopra elencati, a meno che tali metadati non esistano allo scopo di guidare gli aggiornamenti della cache (ad es.g., Last-Modified potrebbe essere utile se la risposta non ha un campo ETag).
I requisiti di una cache che riceve una risposta 304 Not Modified sono definiti nella Sezione 4.3.4 di [CACHING]. Se la richiesta condizionale ha origine da un client in uscita, ad esempio un interprete con una propria cache che invia una GET condizionale a un proxy condiviso, il proxy DOVREBBE inoltrare la risposta 304 Not Modified a quel client.
Una risposta 304 Not Modified termina con la fine della sezione dell'intestazione; non può contenere contenuto o trailer.
Fonte / Citazione da: Il codice di stato HTTP 304 Not Modified è specificato dalla sezione 15.4.5 di RFC9110.
Protocollo HTTP
Come lanciare un codice di stato 304 con PHP?
Per lanciare il codice di stato HTTP 304 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test del codice di stato HTTP 304
Per poter visualizzare il codice di stato HTTP (in questo caso 304 Not Modified) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Stato: 304 Not Modified
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Compatibilità con i browser del codice di stato 304
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 |
Costanti nei linguaggi di programmazione
Link esterni con ulteriori informazioni sul codice di stato HTTP 304:
Memes divertenti sul codice di stato HTTP 304
Articoli del blog
Caching e codici di stato HTTP: Ottimizzare le prestazioni del web attraverso una cache intelligente
Le prestazioni del web e la conseguente esperienza dell'utente sono aspetti centrali per il successo di qualsiasi sito web. Un fattore significativo che influisce su queste prestazioni sono i codic...