HTTP 400 Bad Request
L'errore generico del client: qualcosa nella richiesta stessa non va, e il server rifiuta di indovinare.
Cosa significa HTTP 400
HTTP 400 Bad Request significa che il server ha letto la richiesta e l'ha rifiutata come non valida prima di svolgere qualsiasi lavoro reale. È l'errore del client generico: sintassi malformata, parametri non validi, cookie corrotti o header che il server rifiuta di elaborare.
A differenza di 401 o 403, un 400 non dice nulla sui permessi — la richiesta era rotta già all'arrivo. Le API spesso allegano un corpo JSON che spiega esattamente quale campo ha fallito la validazione.
Cause comuni degli errori 400
- JSON o XML malformato nel corpo della richiesta (virgole finali, virgolette sbagliate, payload troncato).
- Parametri di query mancanti o non validi, o valori che falliscono la validazione lato server.
- Cookie corrotti o di dimensioni eccessive — la causa classica di 400 persistenti su siti grandi per un singolo utente.
- Header Content-Type sbagliato, per cui il server analizza il corpo con il formato errato.
- Errori di codifica URL: spazi non escapati, virgolette o caratteri non ASCII nella query string.
Come risolverlo da utente
- Ricarica la pagina; se il 400 persiste, cancella i cookie per quel sito — i cookie corrotti sono la causa più comune.
- Controlla l'URL per errori di battitura o caratteri alterati durante il copia-incolla.
- Prova una finestra in incognito per escludere che siano le estensioni a riscrivere le richieste.
Come risolverlo da sviluppatore
- Valida i payload JSON prima di inviarli; registra il corpo esatto della richiesta ricevuta dal server.
- Restituisci un corpo di risposta che indichi il campo non valido — un 400 nudo spreca il tempo di debug di tutti.
- Controlla i limiti del server su dimensione di header e cookie (nginx large_client_header_buffers, ecc.).
- Usa 422 per input ben formati ma semanticamente non validi se la tua API distingue i due casi.
Esempio di risposta
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"error":"validation_failed","field":"email","message":"not a valid address"}FAQ
Un errore 400 è colpa mia come visitatore?
Di solito è causato da cookie obsoleti o da un link rotto, più che da qualcosa che hai fatto tu. Cancellare i cookie del sito risolve la maggior parte dei casi.
Qual è la differenza tra 400 e 422?
400 significa che la richiesta non ha potuto essere analizzata o è strutturalmente non valida; 422 significa che è stata analizzata correttamente ma ha fallito la validazione semantica. Molte API usano 400 per entrambi i casi.
Perché un utente riceve 400 mentre tutti gli altri funzionano bene?
Quasi sempre cookie di dimensioni eccessive o corrotti nel browser di quell'utente, che superano i limiti degli header del server.