Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Codici di stato HTTP: cosa sono e a cosa servono

Il check del funzionamento corretto di un sito, rispetto a browser (ovvero utenti) e motori di ricerca, è importantissimo per la parte SEO tecnica di qualsiasi blog o portale, passa spesso per la verifica dei codici HTTP (HTTP status o stato HTTP): essi sono la risposta che il server fornisce in termini di codice numerico, invisibile agli utenti di norma, ma considerato come parametro indicativo del corretto funzionamento di una pagina web qualsiasi.

Cosa sono le request HTTP(S)

Ogni chiamata HTTP(S) viene detta tecnicamente request, ovvero richiesta. Un esempio è l’apertura di questa pagina su un browser; avete chiesto al DNS una risorsa su trovalost.it, ed il server ha risposto inviando una request al vostro browser. Le request sono caratterizzate da un metodo di trasmissione o method, che in genere può essere di vari tipi:

  • GET: invio una richiesta con parametri nell’URL, in chiaro (sconsigliata per username e password, ad esempio)
  • POST: invio una richiesta con parametri incorporati nel body, questa volta
  • PUT: invio una richiesta di inserimento sul server
  • DELETE: invio una richiesta di cancellazione sul server (possibilmente autenticata)

Cosa sono i codici HTTP?

I codici HTTP sono numeri di tre cifre che vengono inviati in modo trasparente dai server web, e che servono ad identificare il tipo di risposta fornita. Bisogna partire dal fatto che quando proviamo ad aprire un sito ci verrà  restituito in modo più o meno evidente un codice di risposta, che è un numero di tre cifre secondo uno standard mondiale.

Se la risposta è corretta ed il caricamento può avvenire, ad esempio, viene fornito un codice 200 OK, altrimenti ci sono status diversi in base alle diverse diagnostiche.

Se la pagina è mancante o non è reperibile, ad esempio se è stata cancellata dal webmaster, viene restituito un 404.

Se poi c’è un errore a livello di codice PHP o un errore di sintassi nel file HTACCESS, il codice potrebbe essere il 500.

I codici sono codificati in modo universale secondo le specifiche RFC valide a livello mondiale, anche se alcuni servizi potrebbero usarli in modo differente o utilizzarne alcuni proprietari.

Come si usano gli status HTTP?

A livello pratico, gli status HTTP sono utili quando si programma un sito o un web service per poter effettuare diagnosi di alto livello sul corretto funzionamento del sito.

Cosa sono le redirect chains (catene di redirect)

In molti casi vengono sfruttati per verificare le cosiddette “catene di redirect” (redirect chains), che devono essere più brevi possibili e che servono a minimizzare i tempi di caricamento del sito, in certi casi. Per misurare le catene di redirect si possono sfruttare servizi online come ad esempio HTTPStatus.

Dove trovare gli status HTTP?

La verifica dello status di un URL può avvenire anche senza browser; si può infatti verificare lo status HTTP con un terminale del proprio computer sfruttando il comando curl:

curl -v https://nomesito.it

oppure si può usare il tool gratuito HTTPStatus.io. Basta inserire gli URL delle pagine, dello stesso sito o di siti web diversi, e si andrà  a vedere come si comporta il sito e dove risolva la pagina.

Vediamo quindi gli status più diffusi e come interpretarli, premesso che la prima cifra di solito rappresenta il codice identificativo della classe di risposta, ovvero:

  • 1xx Informational response: sono codici relativi a come la richiesta del server venga interpretata, ad esempio quando inviamo dati con un form via browser. Hanno uso interno, in genere e solitamente sono poco utilizzati.
  • 2xx Success: il più importante è il 200, a volte chiamato 200 OK, che indica che la chiamata ha avuto un inizio e si è conclusa in modo consistente.
  • 3xx Redirection: indica vari casi di redirezione di un URL, ovvero di passaggio da una URL ad un altro (ad esempio da www.sito.it a sito.it, oppure da /pagina_vecchia a /pagina_nuova).
  • 4xx Errori client: indica un errore a livello di client, quindi browser o crawler di Google, ad esempio.
  • 5xx Errori server: indica un errore a livello di server, quindi ad esempio Apache o NGINX.

HTTP status 200: cosa vuol dire?

Risposta standard che indica chiamate HTTP completate correttamente; le risposte possono essere di tipo GET oppure POST, la prima con parametri passati via URL e la seconda con parametri passati internamente.

In breve: tutto OK, la chiamata HTTP(S) funziona. Non ci sono bug gravi nel sito, anche se potrebbero esserci warning o errori di altro tipo.

Significato redirect 301 / status 301

Risposta standard per i redirect 301, che indicano chiamate HTTP che passano o switchano in modo trasparente, ed in questo caso in modo definitivo, su un’altra risorsa in modo definitivo; in genere sono ben interpretate da motori di ricerca, social network ed utenti via browser, anche se aggiungono un livello tra le chiamate HTTP (quindi valgono come chiamata HTTP ulteriore), ed in genere è opportuno non abusarne ed usarli lo stretto necessari.

In breve: tutto OK, la chiamata HTTP(S) redireziona definitivamente su un’altra pagina o dominio.

I redirect di questo tipo devono essere mantenuti sul server per un po’ di tempo, ad esempio qualche mese, perchè Google li riveli e li convalidi definitivamente.

Significato redirect 302

Risposta standard per i redirect temporanei, che indica chiamate HTTP che passano su un’altra risorsa in modo non definitivo; prima i server usavano solo i 302, ora tendono ad usare i codici più moderni 303 e 307, dal significato sostanzialmente identico.

In breve: tutto OK ciccio, solo che la chiamata HTTP(S) redireziona temporaneamente su un’altra pagina o dominio.

Significato redirect 303

Risposta standard per i redirect temporanei, che indica chiamate HTTP che passano su un’altra risorsa in modo non definitivo; prima i server usavano solo i 302, ora tendono ad usare 303, dal significato quasi identico.

In breve: tutto OK ciccio, la chiamata HTTP(S) redireziona temporaneamente su un’altra pagina o dominio.

Significato redirect 307

Il 307 è un tipo di 302 con migliore supporto da parte dei browser moderni: da un punto di vista comportamentale è quasi identico ad un 302, se non per un piccolo dettaglio: ovvero che il body della request non dovrà  essere cambiato. Con il 302 esisteva infatti un fallback, un comportamento di default che imponeva al client di passare al metodo GET, con possibilità  di errori imprevedibili. Se si usa il 307 con una POST, questi errori sono al sicuro e non avverranno.

Le richieste in GET vengono comunque trattate allo stesso modo.

In breve: tutto OK ciccio, la chiamata HTTP(S) redireziona temporaneamente su un’altra pagina o dominio.

HTTP status 404

Risposta standard per le pagine mancanti: ad esempio un articolo di giornale online cancellato, oppure un servizio rinominato o rimosso.

In breve: ehi, abbiamo un problemino – la pagina che hai richiesto non c’è.

HTTP status 500

Risposta standard per le pagine con errori lato server, tipicamente sul codice, sul DB o sulla configurazione del server.

In breve: ehi, abbiamo un problemino – la pagina che hai richiesto non funziona.

Come si usano nella pratica i codici HTTP?

Se il tuo sito funziona bene in questi termini, è fatto a regola d’arte: i codici HTTP ti serviranno a fare diagnostiche avanzate su qualsiasi sito per capire che problemi ci possano essere negli stessi, questo è il senso. Per usare operativamente gli HTTP status, il più delle volte, potete seguire il tutorial di configurazione di un dominio, in modo da verificare che un sito redirezioni in modo corretto.

Photo Credits: SEObility.net

👇 Da non perdere 👇



Questo portale esiste da 4468 giorni (12 anni), e contiene ad oggi 7432 articoli (circa 5.945.600 parole in tutto) e 13 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.