Definizione dei Diversi Codici di Errore 400

Definizione dei Diversi Codici di Errore 400
 

 

I codici di errore 400 sono codici di stato HTTP che indicano che il server non ha compreso la richiesta.

 

Questi errori possono essere causati da una richiesta non valida o possono verificarsi perché il server ha avuto un problema e non è riuscito a consegnare quello che stavi cercando.

Il problema è che la maggior parte dei codici di errore sono rappresentati da un numero e da una breve descrizione di poche parole. Per aiutare coloro che hanno difficoltà a comprendere questo, espanderò leggermente le descrizioni per una migliore chiarezza.

 

Ti può interessare anche: 6 Strumenti di Monitoraggio del Server Autogestiti

 

 

Cosa causa gli errori di cattiva richiesta?

Gli errori di cattiva richiesta sono il risultato di una varietà di cose, ma la causa più comune è quando un utente digita un URL in modo errato. Questo può accadere quando un individuo usa una barra o un’ampersand in modo errato o tralascia del tutto una parte dell’URL. Il server farà fatica ad elaborare la richiesta e alla fine restituirà il codice di errore 400.

Un’altra possibilità è che l’utente abbia digitato un URL da una fonte esterna e l’abbia copiato in modo errato o abbia sbagliato in qualche modo. Per esempio, se apri un sito web usando il tuo telefono e poi digiti l’indirizzo di un sito web potresti sbagliare alcuni caratteri a causa della sindrome delle dita grasse (come me).

 

Una ragione meno comune per gli errori di richiesta sbagliata è che c’è qualcosa di sbagliato nella comunicazione client-server. Questo potrebbe essere dovuto al fatto che il server non capisce affatto ciò che viene richiesto dal client (il browser del tuo computer), oppure non può eseguire ciò che gli viene chiesto anche se capisce cosa sta succedendo.

Se stai ricevendo questo tipo di messaggio di errore 400, prova ad aggiornare la pagina o ad eseguire altre ricerche finché non ne trovi una che funzioni correttamente, e usa quell’URL invece di quello che ti sta causando problemi.

 

Elenco dei codici di errore 400 e cosa significano

 

Sapere cosa significano questi errori e come possono essere risolti ti aiuterà a risolvere i problemi con il server del tuo sito web se ne incontrerai uno in futuro, e capire le loro definizioni può aiutarti quando cerchi di scoprire perché il tuo sito web non sta fornendo i suoi contenuti correttamente in un dato momento.

 

400 Bad Request

L’errore 400 Bad Request è abbastanza comune e si verifica quando una richiesta di risorse (ad esempio cercando di accedere a una pagina web o a un’immagine) è in qualche modo malformata al server e non può darti la risorsa. È quasi la stessa cosa di un errore 404 Not Found ma si verifica spesso nei casi in cui qualcosa potrebbe essere trovato ma è stato ritenuto inadatto all’uso dal client.

 

Esempi di questo codice di stato includono quando:

  • La richiesta contiene una sintassi non valida o non può essere soddisfatta;
  • Viene fornito un corpo del messaggio superfluo con un campo di intestazione Content-Length non valido, oppure non c’era nessuno ma è stato incluso un campo di intestazione Content-Length;
  • C’è stato un routing ingannevole (ad esempio, il client ha tentato un proxy attraverso un host diverso da quello identificato dall’URI richiesto); o
  • Fallisce perché una richiesta precedente è fallita (ad esempio, se una sequenza di richieste fallisce a causa di fallimenti “previsti” su una sequenza di richieste non sicure, allora una risposta 503 può essere appropriata).

 

 

401 Unauthorized

Una risposta di stato 401 significa che non hai le giuste credenziali di autenticazione per accedere a ciò che stai tentando di fare. Questo codice di stato HTTP è anche frequentemente utilizzato quando c’è un problema di autenticazione del client con un proxy intermedio.

 

 

402 Payment Required

Un errore 402 significa che il server ha rifiutato una richiesta a causa del fatto che non hai effettuato un pagamento o che hai effettuato un pagamento ma non hai impostato un metodo di pagamento. Generalmente incontri questo errore quando stai testando un sito sulla tua macchina locale e non hai ancora pagato l’hosting. Pensalo come se il tuo sito ti dicesse “Prima pagami”.

 

 

403 Forbidden

Gli errori 403 sono un altro incontro comune e si verificano quando ci sono processi del webserver con permessi di lettura dei file insufficienti. Può anche essere causato da proprietà o permessi errati su uno script o una cartella nella directory principale del tuo sito, così come la mancanza di diritti di accesso adeguati su una risorsa che si trova nel tuo spazio web.

 

In breve, otterrai questo errore se cerchi di connetterti ad un URL con un indirizzo IP che ti rappresenta ma che non è stato assegnato (ancora) dall’Internet service provider; se non c’è nessun URL; o se non c’è nessun URL e appartiene a qualcun altro (per esempio, se hanno cancellato il loro sito).

 

 

404 Not Found

Il 404 Not Found è forse il codice di errore più comune che puoi aspettarti di incontrare. Indica che il server non riesce a trovare la risorsa richiesta. In un mondo ideale, ogni link che clicchi o pagina web che richiedi avrebbe un tempo di risposta normale e restituirebbe esattamente quello che stavi cercando, ma in realtà questo non accade sempre.

Se un utente riceve un errore 404 Not Found quando cerca di visitare una pagina web, significa che è successa una delle due cose:

  • La pagina non è più disponibile sul sito web (o non lo è mai stata).
  • C’è un errore nell’URL – per esempio, l’indirizzo è stato scritto male.
  • In questo contesto, un’altra parola per “broken” è dead (come in dead link).

 

 

405 Method Not Allowed

Il codice di errore HTTP 405 Method Not Allowed significa che per qualche ragione, il server è configurato per rifiutare specifici metodi di richiesta. È una risposta standard HTTP per le richieste che non sono permesse in una condizione specifica. Per esempio, se stai cercando di inviare un modulo di dati ad un URL, ma il tuo client è configurato per utilizzare il metodo GET invece di POST, otterrai questo errore.

La ragione più probabile per cui stai ricevendo questo messaggio di errore è a causa di permessi non correttamente configurati sul tuo server. Se stai cercando di risolvere questo errore sul tuo sito web, il posto migliore per ottenere aiuto è il tuo fornitore di servizi di hosting. Devi chiedere se permettono il metodo HTTP in questione.

Puoi anche configurare il tuo sito web o la tua applicazione web in modo che non si basi su uno specifico verbo HTTP impostando i parametri nel tuo file .htaccess.

 

 

406 Not Acceptable

L’errore 406 Non Accettabile è un codice di errore del client. Il server risponde con questo errore quando non è in grado di inviare una risposta che corrisponde al formato richiesto nell’intestazione della richiesta. In altre parole, se stai chiedendo un file JPG e il server deve invece inviarti un PDF, risponderà con questo errore.

Questo codice di errore non si vede spesso e alcuni browser potrebbero non visualizzarlo correttamente.

Un codice di stato 406 significa solo che c’è stato un problema con il formato della tua richiesta. Il corpo del messaggio 406 non deve essere incluso nella risposta, quindi se ne vedi uno, allora potrebbe esserci qualcosa di sbagliato da parte tua.

 

Questo a volte può essere causato da un bug del browser o da un malware sul tuo sistema che forza il sorgente di ogni pagina da scaricare come HTML anche se sono stati specificati altri formati nelle tue preferenze. È molto probabile che questo errore si sia verificato a causa di una richiesta di URL errata (per esempio, inserendo “www.examplecom” invece di “www.example.com”).

 

 

407 Proxy Authentication Required

Il 407 Proxy Authentication Required significa che il server non è in grado di completare la richiesta perché il client non ha le credenziali di autenticazione adeguate per un server proxy che sta intercettando la richiesta tra il client e il server.

Un errore 407 si verifica spesso quando un sito web tenta di caricare contenuti attraverso un server proxy, ma non riceve alcuna autorizzazione da quel proxy. Questo errore potrebbe essere legato ad una configurazione errata delle tue impostazioni Internet o del tuo firewall. Potrebbe anche significare che stai usando un computer impostato dalla tua scuola o dal tuo posto di lavoro e che queste entità ti stanno bloccando l’accesso a certi siti web.

 

 

408 Request Timeout

Con il codice 408, il client non ha prodotto una richiesta entro il tempo che il server era preparato ad aspettare. Vedi, quando si tratta di comunicazione su Internet, le macchine non hanno la pazienza degli umani – si aspettano risposte immediate. E poiché queste macchine stanno spesso fornendo informazioni o servizi cruciali, a volte possono essere spietate.

La causa più probabile di un errore 408 è che il client abbia prodotto una richiesta di grandi dimensioni (come il download di un intero sistema operativo), oppure potrebbe produrre una richiesta troppo velocemente. Quest’ultimo accade di solito con processi automatizzati (ad esempio, i bot).

In entrambi i casi, il server è scaduto in attesa della richiesta; non si aspetta più di ricevere altro dal tuo browser e chiuderà la connessione se continui a rimanere in silenzio.

 

 

409 Conflict

Un conflitto 409 è un codice di errore del client che mostra che c’è un problema con ciò che sta accadendo durante il tuo tentativo di fare una richiesta dal webserver. Per esempio, per eliminare un articolo dal carrello della spesa di qualcuno su un sito di eCommerce, devi prima essere sicuro che esista nel suo carrello per poterlo eliminare.

Se provi ad inviare una richiesta di CANCELLAZIONE per rimuovere un articolo che non è nel suo carrello, il risultato sarà un conflitto 409. In parole povere, non puoi rimuovere qualcosa che non c’è.

 

 

410 Gone

Il codice di errore 410 Gone è una risposta ad una richiesta per una risorsa che non esiste più. Il server non risponderà a nessuna richiesta per questa risorsa e dovrebbe essere rimossa dalla cache del client.

Questo codice di errore indica che la risorsa è stata intenzionalmente rimossa e non tornerà. È simile a 404 Not Found ma a volte è usato al posto di un errore 404 per risorse che esistevano ma che sono state rimosse di proposito.

 

 

411 Length Required

Il codice di stato 411 Length Required indica che il server si aspetta un campo di intestazione Content-Length contenente un valore di lunghezza valido nella richiesta del client. Un valore di intestazione Content-Length valido deve essere presente nella richiesta ed essere uguale o maggiore di zero.

Se una richiesta POST non include un’intestazione Content-Length, è probabile che l’interprete la rifiuti con un messaggio di errore come “411 Lunghezza richiesta” o “411 campi richiesti mancanti”.

 

 

412 Precondition Failed

Il codice di risposta 412 Precondition Failed mostra che ci sono condizioni esistenti che devono ancora essere soddisfatte dal server. Il server deve rispondere con una lista di queste precondizioni (solo quelle che hanno fallito il controllo) usando un’intestazione Retry-After o inviando un codice di stato 417 Expectation Failed.

A volte, questo errore è usato come risposta “OK” per altri tipi di condizioni, come quando l’utente è stato autenticato con successo ma non ha il permesso di accedere alla risorsa richiesta. In questo caso, è normale fornire una rappresentazione alternativa della risorsa, o restituire 404 Not Found se tale rappresentazione non è disponibile.

 

 

413 Payload Too Large

Un codice di stato di risposta 413 Payload Too Large indica che stai cercando di chiedere al server di eseguire un compito che non è in grado di gestire. Poiché sa che la richiesta è impossibile da soddisfare, di solito si arrende e chiude la connessione.

Non dovresti preoccuparti troppo di questo errore perché di solito non è permanente. I payload sono dinamici e i server includeranno un campo di intestazione Retry-After in modo che una richiesta ripetuta possa essere eseguita successivamente dal client.

 

 

414 URI Too Long

Un errore 414 URI Too Long si verifica quando l’URL a cui stai tentando di accedere o utilizzare è troppo lungo e il server non è in grado di processarlo. Questo codice di errore viene restituito più spesso quando si utilizza un server proxy, in particolare se l’URL a cui stai cercando di accedere ha molti parametri aggiunti.

Il seguente esempio mostra come un messaggio di errore per un codice 414 verrebbe restituito in un browser:

Richiesta-URI troppo lunga

La lunghezza dell’URL richiesto supera il limite di capacità di questo server.

 

 

415 Unsupported Media Type

 

Il codice di stato HTTP 415 Unsupported Media Type significa esattamente ciò che il suo nome suggerisce: il server rifiuta di accettare la richiesta del client perché ha un corpo che è in un formato non supportato dalla risorsa di destinazione.

Questo errore si verifica spesso quando il corpo della richiesta è formattato in modo errato o utilizza un tipo di media non supportato. Per esempio, una richiesta POST può contenere dati JSON, ma includere un’intestazione Content-Type che specifica testo/HTML.

Un modo ideale per risolvere questo errore è aggiungere il supporto per il giusto tipo di media o cambiare il formato del corpo in modo che si adatti ad uno dei tipi accettati.

 

 

416 Range Not Satisfiable

Se c’è un campo Range request-header nella tua richiesta, il server web potrebbe rispondere con questo errore. Per esempio, se i valori degli specificatori di intervallo si sovrappongono e non includono un campo If-Range request-header.

Quando questo codice di stato viene restituito per una richiesta byte-range, la risposta DOVREBBE includere un campo Content-Range entity-header che specifica la lunghezza attuale della risorsa selezionata. Non dovresti usare il tipo di contenuto multipart/byteranges.

 

 

417 Expectation Failed

Ti troverai di fronte all’errore 417 Expectation Failed quando il server non può soddisfare i requisiti del campo Expect request-header. Molte applicazioni utilizzano questo codice in risposta ad una firma digitale o ad una crittografia utilizzata nei messaggi e devono includere un’aspettativa su come elaborare tale messaggio.

Il client viene quindi istruito a non ripetere la richiesta senza modifiche, altrimenti continuerà a ricevere un codice di stato 417.

 

 

418 I’m a teapot

Per coloro che pensano che gli sviluppatori non abbiano il senso dell’umorismo, l’errore 418 I’m a teapot sembra progettato per dimostrare che si sbagliano. Questo errore viene restituito quando un client HTTP tenta di preparare il caffè con una teiera perché la teiera allegata è, in effetti, una teiera – corta e robusta.

Il codice di errore fa parte dei tradizionali scherzi d’aprile dell’IETF, nella RFC 2324, Hyper Text Coffee Pot Control Protocol. A proposito, non è reale. L’ho incluso solo perché ci saranno alcuni di voi che l’hanno trovato su Google.

 

 

421 Misdirected Request

 

Un errore 421 si verifica quando il server si rifiuta di indirizzare la richiesta. Questo può accadere per diverse ragioni, tra cui

  • Il client ha inviato richieste alla porta sbagliata.
  • La richiesta può essere indirizzata ad un server diverso.
  • Il server potrebbe non essere in grado di capire la richiesta.
  • Il server potrebbe non essere in grado di interpretare la richiesta.

 

 

 

422 Unprocessable Entity

Un 422 Unprocessable Entity è un errore del client e di solito indica che il server non è riuscito a gestire la richiesta per varie ragioni. Una probabilità comune è che la richiesta sia stata formata in modo errato. Può anche essere possibile che il server stia facendo il cattivo e inviando messaggi di errore che non dovrebbero essere inviati.

Se ottieni un errore 422 Unprocessable Entity in risposta ad una particolare richiesta, non è possibile risolverlo semplicemente cambiando i parametri della richiesta. Significa semplicemente che la tua intera richiesta non può essere elaborata dal server dell’applicazione a causa delle ragioni menzionate sopra.

Questo può accadere quando cerchi di accedere ad un endpoint con i metodi PUT o POST su un URL non supportato.

 

 

423 Locked

Gli errori 423 Locked sono un sottoinsieme degli errori 400 Bad Request, che significa che il client ha inviato una richiesta al server che è sintatticamente scorretta. Questi errori sono molto simili ai codici di errore 401 Unauthorized (o 403 Forbidden), ma in questo caso l’autenticazione non aiuta. Mentre entrambi riflettono un fallimento dell’autorizzazione, c’è una differenza essenziale tra loro.

In un errore 401 Unauthorized, il server informa il client che non è in grado di autorizzare il client per l’accesso. Le intestazioni di risposta includeranno qualcosa come WWW-Authenticate: Basic realm=”Area Riservata”, e quando il tuo browser vedrà questa intestazione ti chiederà un nome utente e una password se non ne hai già inserita una.

Se li inserisci correttamente allora il tuo browser reinvierà la tua richiesta originale con un’intestazione Authorization (come Authorization: Basic eFVzdEp0EYB0).

Al contrario, in un errore 423 Locked, nessun reinvio è possibile perché anche inserendo delle credenziali valide non sarebbe possibile autorizzare più di quanto non lo sia attualmente – da qui il nome “Locked” – perché sarebbe comunque vietato.

Le intestazioni di risposta includeranno qualcosa come “Allow: GET POST HEAD OPTIONS TRACE”; permettendo questi metodi ma non “PATCH” o “DELETE” – quelli sono bloccati su questa risorsa.

 

 

Leggi anche: I Migliori 8 Siti Per Accorciare Link

 

 

424 Failed Dependency

Questo codice di errore è simile a un 503 Service Unavailable, tranne che il server non è riuscito a soddisfare una richiesta perché la richiesta dipende da un’altra richiesta e quella richiesta è fallita. Un client non dovrebbe ripetere la stessa richiesta senza modifiche.

Per esempio, un utente tenta di eseguire un’azione utilizzando due metodi; un metodo richiede l’autenticazione mentre un altro no. Se l’utente non è autenticato, riceverà questo codice di errore come risposta.

 

 

425 Too Early

Il codice di errore 425 Too Early viene restituito da un server che non è pronto ad elaborare la richiesta. Questo potrebbe essere perché il server è occupato o perché ha ricevuto una richiesta che non può gestire. Un’altra possibilità è che il client abbia usato informazioni non aggiornate per mettere insieme la sua richiesta iniziale e che questa sia poi cambiata.

 

 

426 Upgrade Required

Se si verifica un errore 426 significa che il server si rifiuta di gestire la richiesta in base al protocollo selezionato. Un “aggiornamento” ad un altro protocollo può essere approvato ed elaborato. L’errore 426 conterrà informazioni su quali protocolli è necessario.

Per esempio, quando si richiede una pagina, un browser potrebbe ricevere una risposta 426 che afferma che deve utilizzare HTTPS invece di HTTP.

 

 

428 Precondition Required

Lo stato 428 Precondition Required significa che le condizioni devono essere soddisfatte per soddisfare la richiesta. La maggior parte dei server lo usa per evitare il problema dell'”aggiornamento perso”. Succede quando un client ottiene lo stato di una risorsa, lo modifica e lo sostituisce sul server.

Nel frattempo lo stato viene modificato da qualcun altro – da qui nasce un conflitto. Pensa a questo come due persone che litigano per il diritto di usare la stessa pagina su un quaderno.

I server web usano le condizioni per assicurarsi che chiunque lavori con esso abbia le copie corrette degli stati modificabili. Per avviare un controllo delle condizioni, devi includere un campo di intestazione “If-Match” o “If-Unmodified-Since” nella tua richiesta. Per esempio:

GET /test HTTP/1.1
If-Match: “747060ad8c113d8af7ad2048f209582f

 

 

 

429 Too Many Requests

L’errore HTTP 429 Too Many Requests è causato dal server che rifiuta una richiesta HTTP perché il client ha inviato troppe richieste in un determinato lasso di tempo. Questo errore è solitamente causato da un sistema di limitazione del tasso di qualche tipo, come Cloudflare Rate Limiting o uno script di protezione Anti-DDoS.

I limiti di tasso variano quindi non c’è un modo reale per prevederlo a meno che tu non sia quello che gestisce il limitatore. Tuttavia, finché continuerai a provare a spingere questo c’è un’alta possibilità che il tuo indirizzo IP venga bannato alla fine.

 

 

431 Request Header Fields Too Large

Il codice di stato 431 significa semplicemente che i campi di intestazione che stai inviando al server sono troppo grandi. Può anche significare che il campo di intestazione è difettoso. In quest’ultimo caso, la rappresentazione della risposta di solito indica il campo d’intestazione specifico che è troppo grande.

Le risposte con codice di stato 431 possono essere utilizzate dai server di origine per indicare che la richiesta potrebbe essere non sicura o inappropriata. La risposta deve contenere metadati che descrivono perché tale azione non può essere completata.

 

 

451 Unavailable For Legal Reasons

Un errore HTTP 451 viene segnalato quando il contenuto non è disponibile a causa di problemi legali. Se ricevi questo codice di errore, dovresti contattare l’amministratore del tuo server, che può fornire maggiori informazioni su cosa ha causato il problema e come può essere risolto.

Dal momento che questo errore è legato alla censura e ai problemi legali, ha senso che qualsiasi richiesta che risulti nell’errore 451 restituisca il più delle volte un messaggio generico che afferma che la risorsa non è disponibile per motivi legali.

 

Correzione dei codici di errore 400

Il modo di risolvere i codici di errore 400 dipende dal fatto che tu sia un utente o un proprietario del sito web. Per gli utenti, non devi fare nulla se non aggiornare la pagina o riprovare più tardi. Se questo non funziona, dovrai contattare il proprietario/amministratore del sito web per risolvere il problema.

Se sei il proprietario di un sito web e hai ricevuto questo codice di errore nel tuo terminale, ci sono alcune cose da capire. Innanzitutto, molti codici di errore 400 possono essere causati dall’avere del codice scritto in modo improprio nei file del tuo server. Dovrai capire cosa significano questi vari errori e trovare la giusta linea d’azione per risolverli.

 

 

Conclusione

Gli errori 400 possono causare molta frustrazione, ma fortunatamente sono molto facili da risolvere se capisci cosa vuole il webserver. Fortunatamente ogni errore è distinto e avrà i propri messaggi di stato sul tuo browser. Questo dovrebbe permetterti di capire perché la richiesta è fallita e come potresti risolverla.

Se hai ancora problemi con una richiesta che non si risolve, prova a contattare il supporto del tuo hosting o a provare un browser diverso perché alcuni browser possono gestire certe richieste in modo diverso.

 

Se ti è piaciuto questo articolo leggi anche: Migliorare Posizionamento Google con Sumrush – Strumento x Webmaster