Cosa sono gli errori 400?
Ti è mai capitato, navigando in rete, di incappare in messaggi di errore come:
“404 Pagina non trovata”
Questo è un errore 400.
Ma cosa sono questi messaggi e, soprattutto, cosa possono fare i gestori dei siti per evitare che si verifichino?
Oggi ci concentriamo sugli errori 400 che servono a capire quali problemi ci possono essere sul sito che stiamo gestendo.
Cosa sono i codici di stato HTTP?
I codici di stato HTTP sono un insieme di numeri a tre cifre che indicano il risultato di una richiesta HTTP tra un client (come il browser) e un server web.
Ogni codice ha un significato specifico che aiuta a comprendere cosa sta accadendo durante la comunicazione tra il client e il server. Comprendere i codici di stato HTTP può aiutare gli sviluppatori web a diagnosticare e risolvere problemi tecnici.
Inoltre, i codici di stato sono importanti anche per gli utenti, in quanto forniscono indicazioni su ciò che sta accadendo durante la navigazione online.
Esistono diverse categorie di codici di stato http:
- I codici 100 sono informativi e indicano che la richiesta è stata ricevuta e il server sta elaborando la risposta;
- I codici 300 segnalano reindirizzamenti verso una nuova risorsa;
- I codici 500 attenzionano errori del server, come problemi interni che impediscono di elaborare correttamente la richiesta.
Cosa sono gli errori 400 o codici di stato HTTP 400
Anche gli errori 400 sono codici di stato http, cioè brevi messaggi che i server lasciano sulle pagine web e forniscono informazioni sullo stato di una richiesta.
Nello specifico, 400 indicano errori client, come richieste malformate o risorse non trovate.
Per cercare di spiegarvi meglio i codici di errore 400 faremo una lista con spiegazione di ogni errore, così da capire meglio di cosa stiamo parlando nello specifico:
400 Bad Request
L’errore 400 Bad Request è molto comune ed si verifica quando una richiesta per accedere ad una pagina di un sito web è fatta in modo errata. L’errore è simile all’errore 404 Not Found ma inadatto all’utilizzo dal client.
401 Unauthorized
Un codice 401 è un errore relativo a delle credenziali errate di autenticazione per accedere al servizio o alla risorsa a cui stai cercando di accedere.
402 Payment Required
L’errore di Payment Required 402 ti viene segnalato quando il server ha rifiutato la richiesta a causa del mancato pagamento o che non hai impostato un metodo di pagamento.
403 Forbidden
Gli errori 403 sono molto comuni e si verificano quando nel webserver sono presenti dei processi con permessi di lettura insufficienti. Permessi errati su uno script o la mancanza di una directory (cartella) principale del tuo sito potrebbero portare ad un errore 403 sul tuo servizio di Hosting.
404 Not Found
Forse uno degli errori più famosi del Web, il codice 404 sottolinea che il server non riesce a trovare la risorsa richiesta. Quando un utente cerca di visitare una pagina web e il browser gli mostra questo errore significa che:
- La pagina non è più disponibile;
- c’è un errore nella URL: ossia l’indirizzo è stato scritto in modo errato;
405 Method Not Allowed
Quando si riceve un errore 405 Method Not Allowed significa che il server è stato configurato per rifiutare dei metodi di richiesta. Ad esempio, se si cerca di inviare dei dati tramite un form di contatto utilizzando il metodo “GET” invece di “POST” si riceverà questo errore.
Per risolvere, oltre a sentire il tuo Hosting Provider di fiducia, si può “lavorare” direttamente sul file htaccess impostanto alcuni parametri.
406 Not Acceptable
L’errore 406 esce quando si sta cercando di richiedere un file immagine mentre il server è stato impostato per mostrarti un PDF.
In sostanza il codice 406 Not Acceptable viene mostrato quando c’è un problema con il formato della richiesta. Potrebbe essere generato da un bug del browser o da un malware nel sistema dell’utente, oppure che ci sia un errore sulla URL come per esempio inserendo www.momedominiocom anziché www.nomedominio.com.
407 Proxy Authentication Required
Il codice di stato 407 Proxy Authentication Required sottolinea come il server non sia in grado di completare la richiesta in quanto non detiene le credenziali per un server proxy che intercetta la richiesta tra client e server.
L’errore 407 si verifica quindi quando si cerca di caricare un sito web tramite server proxy senza però averne l’autorizzazione da quel proxy.
L’errore potrebbe essere dato da una errata configurazione delle impostazioni del pc dell’utente oppure dal suo firewall, magari perché si è inibiti all’accesso di un sito web; per esempio quando ci si collega da un posto di lavoro o da una scuola.
408 Request Timeout
Questo errore viene mostrato quando la richiesta al server scade. Ad esempio quando il client richiede un download di grandi dimensioni.
409 Conflict
Per fare un esempio in modo da farvi capire meglio cos’è un errore 409 Conflict, prendiamo il carrello di un e-commerce: quando proviamo a togliere un prodotto dal carrello, il server deve prima capire se il prodotto sia effettivamente dentro al carrello per poterlo rimuovere.
Se il prodotto non è presente nel carrello ecco che il server mostrerà l’errore 409: non si può rimuovere qualcosa che non è presente.
410 Gone
Altro codice errore ben conosciuto dai SEO: questo codice errore dichiara espressamente che la risorsa cercata non esiste più.
Di solito si usa quando una URL di un sito web non è più utilizzata e non tornerà più.
411 Length Required
Il codice di stato 411 Length Required indica che il server prevede un campo di intestazione Content-Length contenente un valore di lunghezza valido da includere nella richiesta del client. Nella richiesta deve essere presente un valore di intestazione Content-Length valido e uguale o maggiore di zero.
Se una richiesta POST non include un’intestazione Content-Length, i programmi utente possono rifiutarla con un messaggio di errore come “411 Lunghezza richiesta” o “411 campi obbligatori mancanti”.
412 Precondition Failed
Questo errore viene mostrato quando le condizioni esistenti devono anche essere soddisfatte dal server.
Il codice di stato 412 viene utilizzato come risposta “OK” per altre condizioni come, ad esempio, quando l’utente viene autenticato ma non ha il permesso per accedere alla risorsa richiesta.
413 Request Entity Too Large
Il codice 413 significa che si sta cercando di chiedere al server una cosa che non è in grado di gestire.
Questo errore di solito non è permanente ed è dinamico: i server di solito includono un’intestazione Retry-After e così facendo la richiesta potrà essere eseguita successivamente dal client.
414 Request-URI Too Long
L’errore Request-URI Too Long viene palesato quando si tenta di accedere con una URL troppo lunga o con parecchi parametri aggiunti.
415 Unsupported Media Type
Come si evince dal tipo di errore, il codice 415 viene mostrato quando il server rifiuta la richiesta perché ha un formato non supportato.
416 Requested Range Not Satisfiable
Il codice di stato 416 si presenta quando il client ha richiesto un frammento di un file, ma il server non riesce a restituire quel frammento.
417 Expectation Failed
Molte applicazioni utilizzano l’Expect request-header in risposta ad una firma digitale. L’errore 417 viene mostrato quando il server non può soddisfare i requisiti del campo Expect request-header.
418 I’m a teapot
Questo codice di errore è una vera e propria chicca informatica. Ebbene si, anche gli sviluppatori hanno il senso dell’umorismo e in questo caso l’errore fa parte dei tradizionali scherzi di Aprile dell’IETF, dell’HTCPCP (Hyper Text Coffee Pot Control Protocol) ed ovviamente non è reale.
421 Misdirected Request
L’errore 421 è realtivo ad una richiesta che il server rifiuta di indirizzare. Questo può accadere per alcune ragioni tra cui:
- Il client ha sbagliato la porta in cui inviare la richiesta;
- la richiesta può essere inviata ad un server diverso;
- Il server non è in grado di capire la richiesta;
422 Unprocessable Entity
Un errore 422 Unprocessable Entity è un errore del client e indica che il server non è riuscito a gestire la richiesta per alcune ragioni non ben definite. Di solito è relativa ad una richiesta fatta in maniera errata.
423 Locked
Gli errori 423 Locked sono un sottoinsieme degli errori 400. Significa che il client ha inviato una richiesta sintatticamente errata al server.
425 Too Early
Il codice di stato 425 viene mostrato quando il server non è ancora pronto ad esaudire la richiesta.
426 Upgrade Required (RFC 2817)
Se si verifica un errore 426 significa che il server si rifiuta di gestire la richiesta in base al tipo di protocollo selezionato. In questi casi un aggiornamento ad un altro protocollo dovrà essere approvato ed utilizzato.
429 Too many requests
Il client ha effettuato troppe richieste in un lasso di tempo ridotto.
431 Request Header Fields Too Large
Il server si rifiuta di elaborare la richiesta, perché le intestazioni HTTP, chiamate headers, sono troppo grandi.
451 Unavailable For Legal Reasons
Il codice di stato HTTP 451 si verifica quando il contenuto non è disponibile a causa di problemi legali. Se ricevi questo codice di errore, dovresti contattare l’amministratore del server che può fornire maggiori informazioni su cosa ha causato il problema e come può essere risolto.
Gli errori 400 per migliorare il tuo sito (conclusioni)
La prossima volta che ti imbatterai in un messaggio di errore, non temere! Dai un’occhiata al codice di stato HTTP associato e avrai una migliore comprensione di ciò che sta accadendo dietro le quinte del tuo sito.
Gli errori 400 ti possono far capire cosa devi migliorare lato client, aiutandoti a migliorare il tuo progetto.