L’errore 400 Bad Request si verifica quando il server non è in grado di comprendere o elaborare la richiesta perché è malformata, incompleta o errata. A differenza degli errori lato server(come 500), questo errore proviene in genere dal lato client, ovvero dal browser, dal dispositivo o dalla richiesta.

Che cosa significa un errore 400 Bad Request?

Quando si visita un sito web, il browser invia una richiesta al server. Se la richiesta è mal formattata o contiene informazioni non valide, il server la rifiuta e la restituisce:

400 – Richiesta errata
“Non capisco cosa mi stai chiedendo di fare”

Si tratta di un errore lato client, che significa che qualcosa è andato storto prima che il server potesse elaborare la richiesta.

Cause comuni dell’errore 400

CausaDescrizione
URL malformatoErrori di battitura, caratteri non validi o struttura errata nell’indirizzo web
Cookie corrottiCookie obsoleti o in conflitto con quelli memorizzati nel browser
Intestazioni della richiesta troppo grandiRichiesta sovraccarica (ad esempio, troppi o troppo grandi cookie)
Problemi di cache DNSIndirizzo IP o dati DNS obsoleti memorizzati sul vostro sistema
Estensioni del browser difettoseComponenti aggiuntivi che modificano o interrompono i dati della richiesta
Richieste API/form interrotteCampi mancanti, tipo di contenuto errato o JSON non valido nelle richieste POST/GET

Come risolvere l’errore 400 (passo dopo passo)

Seguite questi passaggi in ordine: la maggior parte degli errori 400 sono facili da risolvere:

1. Controllare l’URL

  • Assicuratevi che l’indirizzo web sia digitato correttamente.
  • Cercate caratteri extra come ??, %% o stringhe di query non necessarie.

Esempio di URL non corretto:

https://example.com//page?id==abc@@

2. Cancellare i cookie e la cache del browser

I cookie corrotti sono la causa numero 1 degli errori 400.

  • In Chrome:
    Impostazioni → Privacy e sicurezza → Cancella dati di navigazione → Cookie e file nella cache
  • Oppure aprite semplicemente il sito in modalità Incognito/Privata per fare una prova.

3. Svuotare la cache DNS

Il dispositivo potrebbe aver memorizzato nella cache informazioni DNS obsolete o errate.

  • Windows:
    ipconfig /flushdns
    
  • macOS:
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
  • Linux:
    Dipende dalla distro (ad esempio, systemd-resolve –flush-cache)

4. Provare con un browser o un dispositivo diverso

Aprite lo stesso URL in Firefox, Safari o su un altro telefono o computer. Se funziona, il problema è nel browser principale.

5. Disattivare le estensioni del browser, le VPN o i proxy

Possono alterare le richieste o bloccare determinati contenuti. Disattivare tutte le estensioni e riprovare.

6. Controllare il modulo o la richiesta API (per gli sviluppatori)

Se si lavora con API o moduli web:

Convalidare tutti i campi di input

Utilizzare intestazioni corrette (ad esempio, Content-Type: application/json)

Assicurarsi che il formato dei dati sia corretto (JSON, URL-encoded, ecc.)

Casi d’uso avanzati

ScenarioSoluzione
Il modulo restituisce 400Controllare i campi obbligatori e il metodo (POST/GET)
Errore dopo la migrazione del sitoCancellare i DNS e i cookie del browser
Il pannello di amministrazione non si caricaDisattivare i plugin e cancellare i cookie di sessione
La richiesta API non riesceConvalidare JSON e intestazioni

Ancora non risolto? Provate questo:

  • Testate il sito web su un dispositivo mobile utilizzando i dati mobili, in modo da bypassare il DNS locale e la cache.
  • Utilizzate strumenti come https://httpstatus.io o gli strumenti di sviluppo del browser per ispezionare la risposta.
  • Se non siete il proprietario del sito, contattate l’assistenza del sito con uno screenshot completo e i passi da seguire per riprodurlo.

Sintesi

L’errore 400 Bad Request indica che il browser ha inviato una richiesta che il server non ha potuto elaborare, in genere a causa di una cattiva formattazione, di cookie o di problemi DNS.

Per risolvere il problema:

  • Controllare e pulire l’URL
  • Cancellare i cookie e la cache
  • Svuotare il DNS
  • Effettuare un test con un altro browser
  • Disattivare le estensioni che interferiscono
  • (se la codifica) Convalidare i dati dell’API o del modulo