Che cosa significano gli errori comuni del codice di stato HTTP?
Che cos’è lo stato HTTP?
Lo stato HTTP è un messaggio di stato che il server del sito che invia al browser per indicare se soddisferà una richiesta. I codici e gli attributi dello stato sono determinati dal W3C. I codici di stato vengono inviati anche nell’intestazione HTTP per notificare al browser il risultato della richiesta.
Finché non ci sono problemi con la richiesta, restituisce un codice di stato HTTP 200 riuscito dal lato server. Sfortunatamente, non tutte le richieste vengono restituite con un codice di stato corretto e mentre il server sta tentando di soddisfare una richiesta, potrebbero verificarsi alcune situazioni errate.
HTTP è un semplice protocollo di comunicazione basato su TCP / IP ed è il substrato assoluto per la consegna dei dati sul World Wide Web. Per molti anni, HTTP funge da potente protocollo in cui miliardi di dati vengono inviati tramite HTTP tra client e server.
Essenzialmente HTTP si basa su un’architettura client-server in cui i browser Web e i motori di ricerca agiscono come un client HTTP. Questa richiesta / risposta da client e server viene comunicata tramite una connessione TCP / IP. Il client del browser avvia una richiesta a un server web sotto forma di URL e il server web risponde con le risorse richieste insieme ai codici di stato HTTPS presenti nell’intestazione HTTP del browser. In altre parole, il server web risponde alla richiesta con successo o codici di errore.
Codici di stato HTTP
Il codice di stato HTTPS è una breve nota inviata dal server che viene visualizzata sulla pagina web quando il client avvia una richiesta al server. Il codice di stato HTTPS è fondamentale per i proprietari di siti Web o per qualsiasi sviluppatore poiché svolgono un ruolo importante nella diagnosi degli errori lato client / server e nella risoluzione dei problemi di configurazione. In altre parole, il codice di stato HTTPS è il modo in cui un server dice che qualcosa non va. L’elemento codice di stato è un numero di 3 cifre in cui la prima cifra del codice di stato specifica le classi delle risposte. All’interno della classe, esiste una varietà di codici server che vengono restituiti dal server. Le ultime due cifre del codice di stato HTTPS non hanno alcun ruolo di classificazione. Esistono cinque classi standard per i codici di stato HTTP che discuteremo in dettaglio e discuteremo di alcuni codici di stato HTTPS che potremmo incontrare regolarmente.
I codici di stato HTTPS sono classificati in 5 classi:
1xx:
Questa classe indica risposte informative che indicano che le richieste avviate dal client vengono ricevute dal server Web ed è in fase di elaborazione.
All’interno di questa classe, esistono diversi codici server che vengono restituiti dal server.
Di seguito sono riportati alcuni elenchi di codici di stato nella classe 1xx.
- HTTP 100: L’intestazione della richiesta effettuata dal client è stata ricevuta e il browser indica che dovrebbe continuare la richiesta ed è pronto a ricevere il corpo della richiesta.
- HTTP 101: Capisce che il protocollo HTTP deve essere modificato sul lato client e avvia l’applicazione. Ad esempio: può essere definito come il passaggio dal protocollo HTTP/1.1 al protocollo HTTP/2.
- HTTP 102: Il server indica che la richiesta effettuata dal browser è stata ricevuta ed è in elaborazione. Usato per indicare che la risposta non è ancora chiara.
- HTTP 103: contiene un’intestazione di risposta che indica che alcune richieste, ad esempio risorse, sono precaricate sul lato server.
2xx:
Questa classe è un codice di successo restituito dal server. Significa che la richiesta avviata dal client è stata ricevuta dal server, così come l’azione è stata compresa ed elaborata.
Di seguito sono riportati alcuni elenchi di codici di stato nella classe 2xx.
- HTTP 200: il codice di stato di successo indica al messaggio che tutto è a posto. Indica che la richiesta dal browser è stata ricevuta dal server e trasferita con successo al browser.
- HTTP 201: indica che la richiesta è stata soddisfatta e che la nuova risorsa è stata creata dopo le operazioni di post.
- HTTP 202: utilizzato per indicare che l’azione intrapresa dal browser è stata accettata. Ma il risultato può essere positivo o negativo.
- HTTP 203: definito come informazione non autorevole. La richiesta afferma che, sebbene il server riceva un codice di stato 200, l’origine modifica la risposta.
- HTTP 204: utilizzato sul lato server per indicare che la richiesta è stata elaborata ma il contenuto restituito no.
- HTTP 205: significa ripristinare il contenuto da zero. La risposta del codice di stato 205 (Ripristina contenuto) indica al browser di reimpostare la visualizzazione del documento. In questo modo la richiesta viene visualizzata come è stata ricevuta dal server.
- HTTP 206: il contenuto parziale viene espresso come codice di stato riuscito. Se il tuo browser utilizza una “intestazione di intervallo”, questo codice ti informerà che verrà mostrata solo una parte della risorsa.
- HTTP 226: indica che viene eseguita un’operazione GET dal server e viene utilizzato il messaggio istantaneo.
3xx:
Questa classe è un codice di reindirizzamento che suggerisce al client di intraprendere l’azione aggiuntiva per completare la richiesta avviata. Indica che il client deve intraprendere un’azione aggiuntiva per completare la richiesta.
Di seguito sono riportati alcuni degli elenchi di codici di stato nella classe 3xx.
- HTTP 300: la richiesta è un’origine a scelta multipla, il browser dovrebbe sceglierne una poiché ci sono più origini di risposta come risultato della richiesta.
- HTTP 301: indica che la pagina Web o la risorsa è stata spostata in modo permanente a un altro indirizzo (URL). Il nuovo URL del contenuto richiesto è chiaramente indicato nella risposta.
- HTTP 302: indica che la pagina Web o la risorsa è stata spostata temporaneamente a un altro indirizzo (URL). Questo notifica ai bot dei motori di ricerca che l’URL verrà modificato in futuro.
- HTTP 303: il server ha inviato questa risposta per indirizzare il client a recuperare la risorsa richiesta su un altro URL con una richiesta GET. Richiede la conoscenza dei quattro metodi di richiesta HTTP primari.
- HTTP 304: il codice di stato 304 viene utilizzato per scopi di memorizzazione nella cache e controllo. Indica che la risorsa/il contenuto memorizzato nella cache del browser non è cambiato. La risposta dello stato 304 velocizza le prestazioni della tua pagina web e il tempo di caricamento.
- HTTP 307: indica che la pagina Web o la risorsa viene temporaneamente reindirizzata a un altro URL. A differenza del codice di stato 302, il metodo HTTP non deve essere modificato. Se il POST è terminato, è necessario utilizzare nuovamente il metodo POST.
- HTTP 308: indica che la pagina Web o la risorsa è stata spostata in modo permanente su un altro URL. A differenza del codice di stato 301, il metodo HTTP non deve essere modificato. Risiede permanentemente in un altro URL specificato dall’intestazione della risposta HTTP.
4xx:
L’errore lato client indica che si è verificato un problema con la richiesta del client. Il codice viene restituito se la richiesta del client può contenere una sintassi errata.
Di seguito sono riportati alcuni elenchi di codici di stato nella classe 4xx.
- HTTP 400: questo è il codice di stato che indica che il server non ha potuto rispondere alla richiesta a causa di un errore lato browser (client).
- HTTP 401: indica che gli utenti devono eseguire l’autenticazione temporanea per accedere alla pagina Web. Indica lo stato della richiesta non autorizzata.
- HTTP 402: codice di stato di errore utilizzato per indicare che è necessario il pagamento per accedere alla pagina web. È usato raramente e significa che è riservato per un uso futuro.
- HTTP 403: un codice di stato di errore che indica che l’accesso alla pagina Web o al suo contenuto è vietato. Ad esempio, significa che è richiesta una password o un’autorizzazione di accesso.
- HTTP 404: il codice di stato di errore più comune su Internet. Indica che la risorsa specificata non è più disponibile sul lato server.
- HTTP 405: codice di stato di errore che indica che la risorsa di destinazione è disabilitata o il metodo di richiesta non è supportato.
- HTTP 406: questo è il codice di stato dell’errore utilizzato per indicare che le funzionalità fornite nella sezione “Accetta intestazione” del browser non sono accettabili.
- HTTP 407: se il sito Web utilizza un server proxy, è necessario eseguire l’autenticazione proxy per accedere alla risorsa.
- HTTP 408: viene rilevata una fase temporale in cui il browser è in attesa della richiesta, mentre il server è in attesa della richiesta. Il server tenta di chiudere una richiesta inattiva e non viene completata completamente prima del timeout. In questi casi, il server non invia alcun messaggio di errore prima di terminare la connessione.
- HTTP 409: questo è il codice di stato dell’errore che indica che la richiesta è in conflitto con l’origine/server (conflitto) a causa di un’incompatibilità o di un conflitto.
- HTTP 410: la richiesta/risorsa effettuata dal browser indica che è stata eliminata definitivamente dal server e non può essere ripristinata.
- HTTP 411: lunghezza richiesta, il server può accettare o meno contenuto senza un’intestazione Content-Length, se lo si desidera. Viene inviato come risposta quando il server per qualche motivo si rifiuta di accettare un messaggio senza un’intestazione della lunghezza del contenuto.
- HTTP 412: quando il browser effettua la richiesta, viene rilevato il codice di stato di errore prerequisito non riuscito quando le condizioni dell’intestazione HTTP non sono soddisfatte dal server.
- HTTP 413: Il carico è codice di stato di errore troppo grande quando la richiesta effettuata dal browser è maggiore del limite definito dal server. Il server può chiudere la connessione o restituire un campo di intestazione riprova e poi, se lo desidera.
- HTTP 414: se la richiesta del browser è più lunga della lunghezza definita dal server, incontreremo il codice di stato di errore dell’URL troppo lungo. Ciò può verificarsi per diversi motivi. Riceviamo un codice di stato di errore quando il server è sotto attacco per vulnerabilità di sicurezza o se l’URL è in un ciclo di reindirizzamento.
- HTTP 415: il server rifiuta la richiesta quando il supporto generato dalla richiesta genera un codice di stato di errore del tipo di supporto non supportato a causa del formato dei dati della richiesta.
- HTTP 416: il server non può restituire la richiesta perché l’intestazione dell’intervallo specificato è fuori dall’intervallo dei dati dell’URL.
- HTTP 417: la risposta all’errore della richiesta fornisce il codice di stato previsto non riuscito. I requisiti previsti per il campo di intestazione della richiesta non possono essere soddisfatti dal server.
- HTTP 418 : Hyper Text Coffee Pot Control Protocol è uno scherzo pesce d’aprile utilizzato dal 1998 al 2014 come riferimento. In I’m a teapot status code, alcuni siti Web restituiscono questo codice di risposta per le query automatizzate che non desiderano elaborare.
- HTTP 421: viene rilevato un codice di stato di errore della richiesta indirizzato in modo errato quando la richiesta viene inoltrata a un server che non può produrre una risposta non strutturata.
- HTTP 451: lato server, potrebbe esserci una pagina Web ufficialmente censurata a cui è vietato accedere alla risorsa richiesta.
5xx:
Questa classe è un errore lato server e viene restituita se il server non è riuscito a soddisfare la richiesta del client: l’errore nel server potrebbe essere uno dei motivi che impediscono l’adempimento della richiesta.
Di seguito sono riportati alcuni elenchi di codici di stato nella classe 5xx.
- HTTP 500: questo è un codice di stato che appare quando il server non può completare la richiesta.
- HTTP 501: un codice di stato che indica che il server non è stato in grado di gestire o supportare la richiesta.
- HTTP 502: rappresenta gli errori che possono verificarsi nello scambio di dati tra gateway o server proxy.
- HTTP 503: indica che il server è temporaneamente non disponibile.
- HTTP 504: la richiesta effettuata indica che la richiesta è scaduta mentre un server era in attesa della risposta dell’altro server.
- HTTP 505: indica che la versione del protocollo non è supportata nelle richieste HTTP.
- HTTP 511: indica che è necessario eseguire un’autenticazione prima che la richiesta venga inoltrata al server.
Come correggere HTTP 503
A differenza dei codici di stato di errore HTTP 404, non è possibile intervenire direttamente per correggere il codice di stato di errore HTTP 503. I codici di stato 5XX indicano errori lato server. Considera tre fattori quando gestisci questo codice di stato di errore:
1. Il tuo sito web con questo errore riceve troppo traffico? Assicurati che il traffico verso il tuo sito web sia traffico reale, non traffico bot. Il tuo server potrebbe non gestire il carico di traffico intenso. La migliore linea d’azione è cambiare il tuo provider di hosting o pacchetto.
2. Se la pagina Web fornisce un errore 503, non è possibile accedere al server per un breve periodo. È probabile che il server sia in fase di manutenzione (backup) o si sia bloccato. a volte il tuo server potrebbe essere in manutenzione o potrebbe essere inattivo.
3. Scopri se ci sono attacchi DoS o DDoS sul tuo sito web.
Come correggere errori 404
Un errore 404 o un errore “Pagina non trovata” può verificarsi sulle pagine Web per molte ragioni. Questi codici di stato sono un errore lato server. Per trovare la causa di 404 errori, poniti queste domande:
- La struttura dell’URL è cambiata? Se sì, esegui un reindirizzamento 301 dalla vecchia struttura dell’URL alla nuova struttura dell’URL. I plugin CMS (WordPress, Shopify ecc.) reindirizzano automaticamente quando modifichi la struttura dell’URL. Non dovresti rimuovere i reindirizzamenti 301 dal tuo sito per 1 anno. Google consiglia di mantenere le modifiche apportate in modo che siano permanenti.
- Aggiorna la pagina, a volte non puoi accedere alla pagina web. La prima cosa da fare è aggiornare la pagina o fare una richiesta da altri dispositivi.
- Cancella cache e cookie: in alcuni casi, cache e cookie possono causare una situazione fastidiosa per l’accesso ai contenuti. La cancellazione della cache del browser e l’eliminazione dei cookie potrebbero consentire di accedere nuovamente alla pagina.