Inizio
/
Assistenza sito web
/
Codice di stato 204 (No Content): Cos'è, Come funziona e Quando usarlo?

Codice di stato 204 (No Content): Cos'è, Come funziona e Quando usarlo?

Il codice di stato 204 è uno dei tanti codici di stato HTTP che fanno funzionare Internet senza intoppi. Significa che il server ha completato con successo la richiesta, proprio come il codice di stato 200 OK. Tuttavia, con lo stato 204 No Content, non c’è contenuto aggiuntivo nel corpo della risposta da mostrare all’utente. Questo codice di stato viene utilizzato per le operazioni che avvengono dietro le quinte.

Cosa significa esattamente lo stato 204 No Content? Come e quando dovresti usarlo? Quali potenziali problemi potrebbero sorgere? Risponderemo a queste domande qui, quindi continua a leggere.

Il codice di stato HTTP 204, noto come “No Content”, indica che il server ha elaborato correttamente la richiesta del client ma non ha bisogno di restituire alcun contenuto. Questo codice di stato fa parte dello standard HTTP/1.1 ed è definito in RFC 7231, Sezione 6.3.5.

In altre parole – il server ha fatto ciò che è stato richiesto, ma non c’è nulla di nuovo o una specifica risorsa di destinazione da mostrare. Questo è utile per azioni come l’invio di moduli o richieste AJAX in cui il cliente non ha bisogno di uscire dalla pagina corrente.

La risposta HTTP include gli header delle entità ma nessun contenuto del corpo. Ciò chiarisce che non sono necessarie ulteriori informazioni. In pratica, la risposta inizia con lo stato HTTP, le intestazioni seguono e termina dopo la prima riga vuota per default.

Come funziona il codice di stato HTTP 204?

Hai mai inviato una richiesta online e hai notato che nulla è cambiato sul tuo schermo? Questo è il lavoro dello stato HTTP 204. Ti dice che il server ha accettato la tua richiesta e l’ha gestita perfettamente, ma non ci sono nuove informazioni da mostrare.

Analizziamo cosa fa e perché è così utile per far funzionare le cose senza intoppi evitando aggiornamenti non necessari.

Infografica che illustra come funziona il codice di stato HTTP 204

Ecco una spiegazione del grafico qui sopra:

  1. L’applicazione del client (ad e. un browser web o un client API) invia una richiesta al server
  2. Il server riceve la richiesta e la elabora. Ciò include l’aggiornamento di un record di database o l’eliminazione di un file.
  3. Una volta che il server elabora con successo l’azione richiesta, prepara una risposta. Se l’azione non richiede l’invio di nuove informazioni, il server opta per un codice di stato 204.
  4. Il server invia una risposta con il codice di stato 204, indicando che la richiesta ha avuto successo, ma non ci sono contenuti da restituire. La risposta includerà la riga di stato e gli header HTTP ma nessun contenuto del corpo.
  5. Lo user-agent riceve la risposta 204 No Content. Poiché non ci sono contenuti, il client non ha bisogno di aggiornare la pagina corrente o visualizzare nuove informazioni.
  6. Il client rimane sulla stessa pagina o continua la sua operazione attuale senza alcuna interruzione.

Qual è la differenza tra le risposte 200 e 204?

I codici di stato HTTP 200 e 204 segnalano entrambi che una richiesta è stata elaborata con successo, ma lo fanno in modi diversi.

Un codice di stato 200 è noto come “OK.” Questo significa che il server ha gestito la richiesta e sta inviando il contenuto richiesto, come una pagina web o dati. Questa è la risposta per la maggior parte delle richieste riuscite in cui il cliente ha bisogno di ricevere alcuni tipi di dati.

D’altra parte, il 204 No content significa che la richiesta è stata sempre elaborata con successo, ma non ci sono nuove risposte di contenuto da rinviare. Pensalo come il server che fornisce una risposta valida senza dire nulla.

Questo è utile per le azioni in cui lo user agent non ha bisogno di aggiornare la pagina corrente, come quando invii un modulo o fai una richiesta AJAX. Il client rimane attivo e tutto procede senza intoppi senza alcun trasferimento di dati non necessari.

Body payload di risposta 204 e cache

Per capire come funziona il codice di stato HTTP 204, dobbiamo elaborare due punti chiave: il body payload della risposta e la cacheability. Questi concetti promuovono la velocità e l’efficienza del sito web.

Esaminiamoli in modo più dettagliato.

Il concetto di Payload Body della risposta (definizione)

Il payload body è la parte di una risposta HTTP contenente i dati effettivi inviati dal server (testo, immagini, ecc.). Ma con uno stato 204, le cose sono un po’ diverse.

Con il codice di stato 204, il server informa lo user agent che non c’è alcun contenuto da restituire nel corpo della risposta. Tuttavia, la risposta conterrà comunque gli header. Questi forniscono informazioni aggiuntive, come la data, i dettagli del server e lo stato della connessione.

Questo è pratico per azioni in cui il cliente non ha bisogno di aggiornare la pagina o mostrare nuove informazioni, come quando invii un modulo.

Come si applica la cache al codice di stato 204

Cacheability si riferisce alla capacità di memorizzare le risposte in modo che possano essere riutilizzate in seguito. Questo riduce la necessità di chiedere nuovamente al server le stesse informazioni.

Poiché una risposta 204 non ha contenuto, non c’è nulla da memorizzare. Ma gli header possono ancora essere memorizzate nella cache. Il server può includere istruzioni speciali negli header HTTP per dire al client come gestire la cache.

Ad esempio, Cache-Control: no-store significa non memorizzare questa risposta. Mentre Cache-Control: max-age=3600 significa memorizzarla per un’ora.

Ecco un esempio di una risposta 204 con intestazioni cache-control:

HTTP/1.1 204 No Content

Date: Mon, 25 Sep 2023 12:34:56 GMT

Server: Apache/2.4.41 (Ubuntu)

Cache-Control: max-age=3600

Connection: keep-alive

In questo modo, il client può determinare rapidamente che non ci sono dati aggiuntivi senza chiedere di nuovo al server, il che velocizza le cose.

Esempi di codice di stato HTTP 204

Il codice di stato HTTP 204 è flessibile e può essere applicato per migliorare le interazioni web in vari scenari.

Di seguito, toccheremo solo alcuni esempi di vita reale in cui il codice di stato 204 è comunemente usato.

  • Richieste AJAX

Un esempio comune dell’utilizzo di 204 sono alcune richieste AJAX. Quando cambi il tuo nome utente su un sito web, invii una richiesta AJAX al server per aggiornare il tuo profilo. Il server elabora la richiesta di azione e invia una risposta 204 per confermare di averla soddisfatta con successo. Quindi, lo user agent (il tuo browser) presenterà il nuovo nome utente senza ricaricare la pagina o inviare alcuna informazione aggiuntiva.

Screenshot che mostra un codice di stato 204 (nessun contenuto) nella Chrome Dev Console
  • Invio modulo

Un altro esempio frequente è l’utilizzo di una risposta 204 nell’invio di moduli. Clicca invia quando sei pronto a compilare un questionario online o un modulo di feedback. Questo invia una richiesta POST al server, che restituisce una risposta 204 per conferma. Il modulo rimane sulla stessa pagina, possibilmente mostrando un messaggio di “Grazie” tramite JavaScript.

  • Trasferimenti automatici di dati

Supponiamo che tu stia visitando un sito web di un servizio di aggiornamento meteo. Il servizio meteo invia automaticamente i dati di temperatura a un server centrale ogni ora utilizzando una richiesta POST. Il server elabora i dati e restituisce un codice di stato 204 per confermare la ricezione senza inviare ulteriori informazioni.

Screenshot che mostra una risposta 204 Status Code (No Content) nella Dev Console per una piattaforma di previsioni meteo
  • Distributed Version Control Systems (DVCS)

Se esaminiamo GITHub, possiamo vedere un altro esempio dell’utilizzo del codice di risposta 204. Quando uno sviluppatore invia le modifiche a una repository remota, il server elabora le modifiche. Dopo che il server ha soddisfatto con successo la richiesta, può restituire uno stato 204 per confermare il push senza restituire alcun dato aggiuntivo.

Ecco un semplice esempio del codice di stato 204 e dei campi header nella scheda Rete della Console per gli sviluppatori di Chrome:

HTTP/1.1 204 No Content

Date: Mon, 25 Sep 2023 12:34:56 GMT

Server: Apache/2.4.41 (Ubuntu)

Connection: keep-alive

In questo esempio, la risposta include la riga di stato (HTTP/1.1 204 No Content) e i campi di intestazione per Data, Server e Connessione, ma non è presente alcun contenuto.

Quando utilizzare un codice di stato 204?

Il codice di stato HTTP 204 No Content è uno strumento utile per gli sviluppatori web e i progettisti di API. Questo stato specifico dai HTTP Status Codes indica che il server ha ricevuto con successo la richiesta ma lo fa senza restituire alcun contenuto. Questo codice di stato è utile negli scenari in cui il client non ha bisogno di aggiornare la pagina delle risorse dell’utente corrente o di visualizzare nuove informazioni.

I vantaggi di un codice di stato 204

Qui, esamineremo i vantaggi e le potenziali insidie dell’implementazione dello stato 204 No Content all’interno della tua infrastruttura.

Efficienza nella trasmissione dei dati

Uno dei principali vantaggi dell’utilizzo dello stato HTTP 204 è l’efficienza nella trasmissione dei dati. Il server conserva la larghezza di banda e riduce la quantità di dati trasmessi sulla rete non inviando il corpo del messaggio. Ciò è particolarmente utile nelle applicazioni che prevedono trasferimenti di dati automatizzati, come aggiornamenti dei dati in tempo reale o attività di sincronizzazione in background.

Chiarezza nella comunicazione client-server

Il codice di stato 204 fornisce chiarezza nella comunicazione client-server. Indica chiaramente al client che non ci sono nuove informazioni da elaborare o mostrare. Questo può aiutare a evitare confusione e garantire che il cliente capisca che la richiesta ha avuto successo ma non sono necessari dati aggiuntivi.

Miglioramenti delle prestazioni

Ridurre la quantità di dati inviati può portare a tempi di risposta più rapidi, che è fondamentale per le applicazioni sensibili alle prestazioni. Con una risposta 204 No Content, il server può riconoscere rapidamente la richiesta senza l’overhead di generare e trasmettere un corpo di risposta. Ciò può risultare in un’applicazione più reattiva ed efficiente, in particolare in scenari in cui è essenziale una bassa latenza.

Potenziali insidie del codice di risposta 204

In questa parte, esamineremo alcuni dei potenziali problemi che potresti incontrare con lo stato 204 No content.

Uso improprio del codice di stato 204

Sebbene il codice di stato 204 sia utile, può essere utilizzato in modo improprio se non applicato correttamente. Ad esempio, l’utilizzo di un codice di stato 204 quando il cliente si aspetta un corpo di risposta può creare confusione ed errori. È importante assicurarsi che il cliente non richieda ulteriori informazioni prima di decidere di utilizzare un codice di stato 204. Un uso improprio può comportare transazioni incomplete o la mancanza del feedback necessario al client.

Gestione lato client di risposte 204

Un’altra potenziale trappola è la gestione lato client delle risposte 204. Non tutti i client potrebbero essere preparati a gestire correttamente un codice di stato 204. Gli sviluppatori devono assicurarsi che le loro applicazioni client possano interpretare e rispondere correttamente a un codice di stato 204. Ciò include l’aggiornamento della logica lato client per riconoscere che una risposta 204 indica che la richiesta ha avuto esito positivo, ma non sono necessarie ulteriori azioni. L’incorretta gestione delle risposte 204 può portare a comportamenti imprevisti o errori nell’applicazione.

Impatto sulla SEO del codice di stato 204

I motori di ricerca come Google si basano sui contenuti per indicizzare e classificare le pagine. Un codice di stato 204 significa che non ci sono contenuti per il motore di ricerca da indicizzare, il che può comportare che la pagina non venga inclusa nei risultati di ricerca. Questo non è necessariamente un problema se la pagina non è creata per essere indicizzata, ma è qualcosa di cui essere consapevoli.

Pertanto, utilizzare eccessivamente lo stato HTTP 204 potrebbe far usare in modo inefficiente il crawl budget per le pagine non indicizzabili. Per le pagine che desideri siano indicizzate e classificate, assicurati che restituiscano un codice di stato 200 OK e includano il contenuto.

Qual è la compatibilità con il browser del codice di stato HTTP 204?

HTTP 204 è pienamente supportato dalla maggior parte dei browser moderni. Questa compatibilità diffusa lo rende una scelta affidabile per gli scenari in cui il server deve riconoscere una richiesta riuscita senza restituire alcun contenuto.

Per una migliore chiarezza e assimilazione, utilizzeremo la tabella seguente.

Nome browser Compatibilità browser di 204 HTTP Status Code
Chrome
Firefox
Internet Explorer
Opera
Safari
WebView Android
Chrome Android
Firefox for Android

Conclusione

Il codice di stato HTTP 204 aiuta a rendere più veloci le applicazioni web gestendo le richieste senza inviare dati aggiuntivi. risparmia larghezza di banda, rende chiara la comunicazione e accelera i tempi di risposta. Tuttavia, è importante utilizzarlo correttamente per evitare problemi, in particolare con la SEO e per il modo in cui i client lo gestiscono. Sapere quando utilizzare il codice di stato 204 può migliorare l’esperienza dell’utente e rendere più agevoli i trasferimenti automatizzati dei dati.

Domande frequenti sul codice di stato HTTP 204

Il 204 è un successo o un fallimento?

Il codice di stato HTTP 204 è sicuramente un successo. Indica che il server ha elaborato correttamente la richiesta ma non ha contenuto da restituire. Se ci fossero problemi o errori durante l’elaborazione della richiesta, il server restituirebbe un codice di stato diverso. Tali codici di stato possono essere un codice 4xx per gli errori del client (400, 401, 404 ) o un codice 5xx per gli errori del server (500, 503, 504). Quindi, se vedi un codice di stato 204, sai per certo che la richiesta è stata gestita correttamente.

Come posso correggere il mio codice di stato 204?

Se riscontri problemi con lo stato 204 No content, devi controllare se la tua richiesta è corretta. Inoltre, verifica che il tuo server sia configurato correttamente e che il codice lato user agent sia compatibile con le risposte 204.

Cos’è il codice di stato 204 in Google Analytics?

In Google Analytics 4, un codice di stato 204 indica che una richiesta di tracciamento è stata ricevuta ed elaborata, ma nessun contenuto è stato restituito. È utilizzato per i pixel di tracciamento, che raccolgono dati senza influire sull’esperienza dell’utente. Questo codice mantiene efficiente la trasmissione dei dati e non ricarica la pagina o mostra alcun contenuto, registra semplicemente le azioni dell’utente. Grazie a ciò, Google Analytics può raccogliere dati senza rallentare il sito web.

Quando usare il codice di stato HTTP 204 vs 404?

Utilizza un codice di stato 204 quando il server elabora correttamente una richiesta ma non ha contenuti da restituire. È ottimo per azioni come l’invio di moduli o gli aggiornamenti in cui non è necessario il nuovo contenuto della pagina. Utilizza un codice di stato 404 quando la risorsa richiesta non viene trovata sul server. Questo dice al client che la pagina o la risorsa che stanno cercando non esiste.

Cos’è un Codice 204 DELETE?

Un codice 204 con DELETE significa che il server ha elaborato correttamente una richiesta DELETE ma non ha contenuto da restituire. È utilizzato per confermare che la risorsa è stata eliminata senza inviare alcun dato aggiuntivo. Questo mantiene la risposta efficiente e chiara. Il cliente sa che l’azione di eliminazione ha avuto successo senza bisogno di ulteriori informazioni.

Condividi questo articolo