Hostwinds Blog
Cerca risultati per:
La maggior parte delle persone nello spazio digitale riconoscono i codici di stato HTTP familiari come 200 OK o 404 non trovati, ma alcuni utili non ottengono tanti riflettori.
Uno di questi è 204 nessun contenuto.Diamo un'occhiata più da vicino a cosa significa questo stato, come funziona e quando è appropriato da usare.
I codici di stato HTTP aiutano i server e i browser a rimanere sulla stessa pagina mostrando cosa è successo con una richiesta.La categoria 2xx di codici è di solito quella che apprezziamo di più poiché mostrano che la richiesta ha avuto successo.
Tra questi, 204 nessun contenuto ha un posto unico.Conferma che il server ha gestito correttamente la richiesta del client ma non ha contenuti da rispedire.In altre parole, il server sta dicendo al client "tutto è andato bene, ma non c'è nulla di nuovo da vedere."
Uno stato 204 differisce dalle altre risposte di successo in quanto non include contenuti oltre le intestazioni HTTP.Mentre un 200 OK potrebbe restituire HTML, JSON o altri tipi di media, un 204 restituisce solo metadati nella sezione intestazione e lascia vuoto il corpo di risposta.
Ecco un esempio di come appare una risposta 204 a livello di protocollo:
HTTP/1.1 204 No Content
Date: Mon, 09 Jun 2025 15:22:30 GMT
Non c'è corpo dopo l'intestazione: nessun markup, nessun json, nessun messaggio.Il client può assumere in sicurezza l'azione completata come previsto, ma non è necessario aggiornare l'interfaccia utente o ricaricare qualsiasi contenuto.
Questa è un'applicazione particolarmente utile in situazioni in cui il cliente ha già reso tutto ciò di cui ha bisogno e vuole solo confermare che un'operazione di fondo (come un modulo salva o una chiamata API) è riuscita.
Quando un client, come un browser, un'app mobile o uno script, richiede una richiesta, sta chiedendo al server di eseguire un'azione.Questo potrebbe essere qualsiasi cosa, dall'aggiornamento delle impostazioni degli utenti, dall'elaborazione di una risorsa o dal controllo di nuove informazioni.
Ecco cosa succede in genere quando viene utilizzata una risposta 204:
Mentre 204 potrebbero sembrare minimi, ha uno scopo specifico nella comunicazione apolide, in particolare nelle API riposanti.È ideale per interazioni leggere in cui il server non ha nulla di nuovo da restituire, ma il client ha ancora bisogno di un riconoscimento definitivo.
Conoscere il momento giusto per inviare una risposta a 204 senza contenuti aiuterà le interazioni del sito e dell'app a funzionare senza intoppi, evitare non necessari ricarichi di pagine e migliorare l'esperienza complessiva dell'utente.
Molte app Web salvano automaticamente l'input dell'utente, come quando un utente modifica le impostazioni o le preferenze.Invece di ricaricare la pagina o mostrare un messaggio di conferma ogni volta, l'app invia l'aggiornamento silenziosamente in background.Una risposta 204 conferma la modifica ha funzionato senza interrompere il flusso dell'utente.
Esempio: una pagina Impostazioni risparmia le modifiche non appena un utente attivo uno switch:
fetch('/api/save-setting', {
method: 'POST',
body: JSON.stringify({ darkMode: true })
});
Il server risponde con:
HTTP/1.1 204 No Content
La pagina non aggiorna o visualizza un messaggio, ma la preferenza viene salvata dietro le quinte.
Alcune app controllano periodicamente il server per nuove informazioni utilizzando le richieste di base.Quando non ci sono nuovi dati, una risposta 204 indica al cliente tutto è aggiornato, impedendo l'invio di contenuti non necessari.
Esempio:
GET /api/notifications
→ 204 No Content
Quando un'API elimina una risorsa, spesso non è necessario restituire alcun contenuto.Un codice di stato 204 segnala la cancellazione, mantenendo la risposta leggera.
Esempio:
DELETE /api/posts/123
→ 204 No Content
Il cliente sa che il post è stato rimosso senza ricevere dati aggiuntivi.
Per l'aggiornamento delle risorse in cui il cliente non ha bisogno di nuovi dati o conferma oltre il successo, 204 chiude in modo pulito l'interazione.
Esempio:
PATCH /api/user/profile
→ 204 No Content
Il client presuppone che l'aggiornamento abbia avuto successo e non ricarica o modifica la vista corrente.
Mentre 204 ha il suo posto, ci sono situazioni in cui l'utilizzo può causare confusione o interrompere la funzionalità prevista:
Se il client è progettato per elaborare o visualizzare i dati nella risposta - come HTML, JSON o anche un semplice messaggio di successo - un 204 causerà problemi perché non offre nulla oltre le intestazioni.In questi casi, un 200 OK con un corpo di risposta è di solito una scelta migliore.
Se la tua app deve aggiornare l'interfaccia, mostra il feedback all'utente o reindirizza dopo una richiesta, 204 non ti aiuterà.Altri codici di stato come 200, 201 o persino a 307 Reindirizzamento può essere più appropriato.
Alcune librerie e browser dei clienti possono comportarsi in modo imprevedibile se ricevono un 204 dopo un post o un'altra richiesta di cambiamento statale.Se l'operazione innesca la logica sul lato client in base al contenuto di risposta, saltare il corpo potrebbe causare bug o rendere il debug più difficile.
Un 204 significa che tutto è andato bene.Se qualcosa è andato storto, come una convalida non riuscita, l'input mancante o il problema del server, 204 non dovrebbe essere utilizzato.Uno stato dall'intervallo 4xx o 5xx sarebbe più appropriato in questi casi.
Ulteriori informazioni: controlla il Codici di errore HTTP Panoramica o tuffati più in profondità con il nostro 403 Proibito Guida per una migliore comprensione e consigli sulla risoluzione dei problemi.
In breve, 204 funziona meglio quando il cliente non ha bisogno di nulla di nuovo in cambio e entrambe le parti sono chiari su questo.Se c'è qualche possibilità che il cliente si aspetta un carico utile, l'utilizzo di una risposta con il contenuto effettivo evita l'ambiguità.
I codici di stato HTTP nell'intervallo 2xx indicano tutti richieste riuscite, ma ognuno ha uno scopo diverso a seconda di ciò che il cliente deve sapere o fare dopo.Comprendere queste differenze ti aiuta a scegliere il codice giusto per le risposte del server e mantiene la comunicazione tra il client e il server chiaro ed efficiente.
Lo stato di 204 non si distingue perché segnala il successo senza restituire alcun contenuto o spingere le modifiche sul lato client.
Codice di stato | Descrizione | Corpo di risposta | Esempio di caso |
200 | OK - Richiesta riuscita | sì | Caricamento di una pagina web o recupero JSON |
201 | Creato - Nuove risorse realizzate | Opzionale | Invio di un modulo che crea un utente |
202 | Accettato - elaborazione più tardi | Nessun contenuto immediato | Caricamento di un file da elaborare in seguito |
204 | Nessun contenuto - niente di più da mostrare | No | Salvare un'impostazione silenziosamente in background |
205 | Ripristina il contenuto - Cancella l'interfaccia utente | No | Invio di un modulo e cancellazione degli input |
Quando si tratta di motori di ricerca, il modo in cui il server risponde può influire sul fatto che le pagine appaiano nei risultati di ricerca.Sebbene il codice di stato del 204 non sia utilizzato principalmente per le interazioni dietro le quinte, è importante comprendere i suoi effetti sull'indicizzazione e sulla visibilità.Usarlo nel contesto sbagliato può impedire involontariamente le pagine di essere riconosciute dai motori di ricerca o confondere robot striscianti.
Poiché uno stato 204 indica che il server ha elaborato correttamente la richiesta ma non ha contenuti da mostrare, i motori di ricerca trattano queste risposte come vuote.Le pagine che restituiscono un 204 non verranno aggiunte agli indici dei motori di ricerca, il che significa che non appariranno nei risultati di ricerca.
Se una pagina destinata agli utenti da visualizzare, come una pagina del prodotto, un post sul blog o una homepage, risponde con 204, i motori di ricerca lo considereranno vuoti.Ciò può portare alla pagina che viene eliminata completamente dai risultati della ricerca, limitando la visibilità del tuo sito e il potenziale traffico.
Lo stato 204 è meglio riservato per chiamate API, salvataggi di fondo o altre operazioni che non forniscono contenuti visibili.Per le pagine e le risorse che devono essere indicizzate e visualizzate, utilizzare codici di successo standard come 200 con il contenuto completo incluso.
A volte gli errori di configurazione o i bug causano il restituzione delle pagine 204 per errore.Controlla regolarmente il tuo sito per 204 risposte impreviste su importanti URL per prevenire la perdita del traffico dei motori di ricerca.
Esempio: se la tua pagina/dintorni restituisce 204 anziché 200 con il contenuto, Google salterà l'indicizzazione.
Sebbene il codice di stato di non contenuto non accelera il tuo sito per magia, utilizzandolo in modo pensieroso può ridurre i trasferimenti di dati e l'elaborazione non necessari.Ciò porta a un'esperienza più snella per gli utenti, in particolare sui dispositivi con connessioni più lente o risorse limitate.
Poiché una risposta 204 non contiene corpo, invia solo le intestazioni al cliente.Ciò significa che meno dati viaggiano sulla rete rispetto a una risposta HTML completa o JSON.Le risposte più piccole salvano la larghezza di banda e possono ridurre i tempi di caricamento, che conta di più per gli utenti su reti mobili o velocità Internet più lente.
Confermando il successo senza inviare contenuti extra, 204 risposte consentono alle app di sfondo in silenzio e rapidamente.Ad esempio, le impostazioni di risparmio automatico o la conferma di eliminazioni non interrompono l'interfaccia utente, consentendo all'app di sentirsi più reattiva e fluida.
Quando il browser o l'app riceve un 204, non è necessario analizzare o rendere qualsiasi contenuto, il che abbassa il carico di lavoro sul client.Ciò libera risorse per altre attività, migliorando le prestazioni complessive e l'esperienza dell'utente, in particolare su dispositivi a basso potere.
L'uso di 204 aiuta strategicamente server e reti a evitare l'invio di dati non necessari.Ciò può ridurre il carico del server e ridurre il traffico, facilitando la ridimensionamento dell'applicazione quando si gestiscono molti utenti o frequenti richieste di fondo.
204 nessun codice di contenuto ha regole e comportamenti specifici che devono essere seguiti per evitare problemi imprevisti per gli utenti o per la funzionalità del sito/app.Conoscere queste insidie comuni aiuta a garantire che l'implementazione rimanga regolare e prevedibile, sia per gli utenti che per i sistemi di supporto.
La specifica HTTP afferma chiaramente che una risposta 204 non deve includere un corpo di risposta.Ciò significa che nessun HTML, JSON o qualsiasi altro contenuto dovrebbe accompagnare questo codice di stato.Includere un corpo può confondere browser e clienti, che non si aspettano contenuti.Alcuni clienti potrebbero ignorare il corpo, mentre altri potrebbero comportarsi in modo imprevedibile.
Esempio di errore:
Un server risponde a una richiesta di fondo con 204 stato ma include accidentalmente un piccolo messaggio JSON come {"stato": "OK"}.Ciò può causare il fallimento del client nell'elaborazione della risposta correttamente.
Best practice:
Assicurati sempre che il tuo server invii solo intestazioni con una risposta 204: nessun corpo di messaggi.
Se un utente visita un URL in attesa di una pagina Web, rispondendo con 204 mostrerà una pagina completamente vuota: nessun errore, nessun contenuto, solo spazio vuoto.Ciò confonde gli utenti, porta a una scarsa esperienza dell'utente e fa sì che i motori di ricerca salti l'indicizzazione della pagina.
Esempio di errore:
Una pagina "Informazioni su di noi" restituisce erroneamente 204 anziché 200 con contenuto HTML, quindi i visitatori vedono uno schermo vuoto e i motori di ricerca non indicizzano la pagina.
Best practice:
Utilizzare 200 OK per qualsiasi pagine destinata a visualizzare il contenuto.Riserva 204 per chiamate API in background o azioni che non richiedono un feedback visibile.
A volte gli sviluppatori potrebbero inviare una risposta 204 anche se un'operazione non ha avuto successo, per evitare di affrontare gli stati di errore.Ciò nasconde il problema dal client e può portare a confusione o perdita di dati.
Esempio di errore:
Un'API riceve input non validi ma risponde con 204, facendo credere al cliente che la richiesta sia riuscita quando è effettivamente fallita.
Best practice:
Utilizzare codici di errore appropriati come 400 BAD RICHIEST o 422 Entità non elaborabile per problemi di convalida e 500 Errore del server interno per i problemi del server.Invia 204 solo quando l'operazione ha veramente successo e non vi è alcun contenuto da restituire.
Poiché 204 risposte non includono un corpo, le applicazioni client che si aspettano che i dati aggiornino l'interfaccia utente possono rompere o comportarsi inaspettatamente se ricevono un 204 senza gestirlo correttamente.
Esempio di errore:
Uno script front-end prevede i dati JSON dopo un'operazione di salvataggio, ma il server restituisce 204. Se lo script non controlla 204, potrebbe fallire o mostrare dati stantii.
Best practice:
Progetta il codice lato client per gestire 204 risposte con grazia, trattarle come segnali di successo senza dati, e aggiornare l'interfaccia utente di conseguenza.
I codici di risposta HTTP devono essere coerenti con altre intestazioni come reindirizzamenti o controlli della cache.Ad esempio, l'invio di un 204 insieme a uno stato di reindirizzamento o istruzioni di cache in conflitto può portare a comportamenti indefiniti.
Esempio di errore:
Restituendo 204 con un'intestazione di posizione per reindirizzare il client, che non è valido.I reindirizzamenti richiedono codici di stato 3xx.
Best practice:
Mantieni 204 risposte semplici e prive di intestazioni in conflitto.Se è necessario reindirizzare, utilizzare un codice di stato di reindirizzamento corretto come 301 o 302.
Lo stato HTTP 204 è un piccolo codice divertente che fornisce un modo pulito ed efficiente per segnalare il successo senza inviare il contenuto.Mantiene le app reattive confermando le attività di fondo in silenzio ed efficiente.
Utilizzato in modo appropriato, aiuta il tuo sito o app a rimanere veloce e fluido.Basta evitare di usarlo sulle pagine che devono mostrare il contenuto o essere indicizzato dai motori di ricerca.
Scritto da Hostwinds Team / giugno 11, 2025