Protocollo HTTP
Un protocollo è un insieme di regole e norme che vengono applicate per guidare un'azione o un processo. Se ci concentriamo nel campo dei computer, la nozione è legata alle linee guida utilizzate per stabilire un processo di comunicazione tra vari dispositivi o sistemi.
HTTP, in breve, è un acronimo per Hypertext Transfer Protocol: in altre parole, Protocollo di Trasferimento Ipertestuale. È un protocollo di comunicazione utilizzato per trasferire informazioni attraverso il World Wide Web.
Prima di spiegare in dettaglio cos'è il file del protocollo HTTP, è importante ricordare la struttura proposta dal modello di interconnessione dei sistemi aperti, noto come Modello OSI. Questo modello riconosce otto livelli separati: il più basso è il livello fisico, mentre il più alto è il livello applicativo.
Il protocollo HTTP agisce, infatti, a livello applicativo. La sua funzione è la definizione della semantica e della sintassi utilizzate dai programmi informatici per comunicare sul Web (la rete di informazioni formata dall'interconnessione di documenti ipertestuali, a cui si può accedere via Internet).
Si può dire che il file del protocollo HTTP indica come il browser di file (Software) con il server (computer o computer) che ospita le informazioni. Quello che l'utente fa è inserire l'indice del sito nel browser e quest'ultimo, dopo aver completato diversi passaggi, richiede le risorse al server per visualizzare finalmente i dati (testo, video, immagini, ecc.) sul web.
La velocità e la sicurezza nel trasferimento dei dati stanno diventando sempre più importanti, sia per i fornitori di servizi Internet che per gli utenti di ogni tipo. Nel 2015, è emerso il protocollo HTTP / 2, una nuova versione che prometteva un aumento significativo in questi aspetti, tra gli altri vantaggi.
È importante ricordare che la sua adozione da parte dei siti non è stata immediata, anche se tra i miglioramenti è stato un posizionamento più efficace (in altre parole, rende i siti più visibili nei risultati di ricerca). Di fatto, la semantica rimane invariata rispetto alla versione precedente (il protocollo HTTP 1.1), cioè i suoi codici di stato e le loro interpretazioni, tra le altre cose, rimangono invariati. La differenza principale sta nel modo in cui l'informazione viene trasferita.
Vedremo in seguito alcuni dei vantaggi che il protocollo HTTP / 2 ha rispetto all'1.1 in termini di ottimizzazione dei motori di ricerca, grazie ai quali il costo è significativamente ridotto:
* è un protocollo binario: la versione precedente era tessenziale; questo rendeva i processi più complicati perché richiedeva la traduzione in binario. Inoltre, gli errori di trasferimento erano più frequenti;
* multiplexing: mentre con il protocollo HTTP 1.1 il client doveva inviare un file richiesto al server e aspettare la risposta prima di poter inviare il successivo, il multiplexing della versione 2 permette l'invio di più file allo stesso tempo (il numero supera i sei);
* le richieste sono compresse con HPACK: questa compressione aumenta la velocità e l'efficienza perché elimina alcuni campi che sono stati duplicati;
* server push: il server ha la possibilità di inviare più risposte anche se l'utente non le ha ancora richieste, a condizione che non vari né il protocollo né l'host degli URL;
* ALPN Stretch: nella connessione iniziale, sia il client che il server possono utilizzare il protocollo di loro scelta, in ogni caso in modo sicuro. Se il browser non supporta HTTP / 2, le risorse saranno servite nella versione precedente.