Ti sei mai sentito frustrato dal tempo di caricamento lento di una pagina web o ti sei preoccupato della sua sicurezza (o della sua mancanza)? Google sta sviluppando qualcosa in questo momento che dovrebbe risolvere alcuni di questi problemi. Si chiama SPDY e funzionerà in combinazione con HTTP per rendere Internet molto più veloce.
Innanzitutto, cos'è HTTP?
Abbreviazione di HyperText Transfer Protocol, HTTP funge da protocollo sottostante per Internet. È un protocollo a livello di applicazione, un insieme di regole che definiscono il modo in cui due dispositivi comunicano e condividono i dati tra loro. Sfortunatamente, a causa di come è stato progettato, la latenza delle pagine Web o i tempi di caricamento lenti è un problema significativo affrontato da HTTP. Ovviamente, se utilizzi HTTPS HTTPS ovunque: utilizza HTTPS anziché HTTP quando possibile HTTPS ovunque: usa HTTPS anziché HTTP, se possibile Leggi di più, alcuni di questi potrebbero essere meno di un problema.
Inizialmente, HTTP richiedeva che la comunicazione al server venisse chiusa dopo ogni ciclo di richiesta / risposta, in cui un dispositivo invia una richiesta di dati a un altro dispositivo e quindi riceve i dati dall'altro dispositivo. Ciò ha comportato la completa configurazione e interruzione di un canale TCP per ogni richiesta, che era costosa in termini di larghezza di banda e sovraccarico di computer e server. TCP, come HTTP, è un protocollo Web che fornisce in modo specifico consegne garantite, soppressione dei duplicati, consegna in-order, controllo del flusso, prevenzione della congestione e altre funzionalità di trasporto.
Un altro problema era che conteneva semantica FIFO. La semantica FIFO, o "First In, First Out" richiede essenzialmente che la prima richiesta di entrare nel server abbia la prima risposta. Ma questo può essere un problema. Quando c'è una richiesta lenta nella parte anteriore della coda, le richieste dietro di essa dovranno aspettare più a lungo e vi sarà un back-flusso di richieste.
Quindi, è arrivato HTTP 1.1 con alcune importanti modifiche volte a risolvere questo problema. Per uno, HTTP 1.1 consentito per i nuovi tipi di connessioni TCP che ha permesso ai canali di rimanere aperti tra cicli di richiesta / risposta. Queste erano chiamate connessioni "keep alive". HTTP 1.1 consentiva anche qualcosa chiamato pipelining, che prometteva di sbarazzarsi del sistema "una volta per volta" per gestire le richieste. Le connessioni keep alive sono state ampiamente adottate, mentre il pipelining è stato utilizzato sempre da Opera, che è noto per l'utilizzo di una tecnologia più innovativa 5 Motivi ideologici Perché dovresti provare Opera 5 Ragioni ideologiche Perché dovresti provare Opera Non molte persone hanno provato Opera o addirittura Ho sentito parlare molto di Opera visto che il browser ha sempre guardato da lontano come Internet Explorer, poi Firefox, e ora Google Chrome sta prendendo il ... Leggi altro nel suo browser.
Che dire di SPDY?
Poiché il pipelining non è stato ampiamente adottato, la latenza delle pagine Web è rimasta un problema. Poi, nel 2009, Google ha annunciato di aver iniziato a lavorare sullo sviluppo di SPDY con l'obiettivo di velocizzare Internet.
SPDY è un protocollo di rete aperto destinato ad essere utilizzato in aggiunta a HTTP per il trasporto di dati Web. Essendo un protocollo di rete aperto, stabilisce le regole per il modo in cui i dati sono condivisi tra le reti.
Funziona manipolando il traffico HTTP per ridurre la latenza di caricamento della pagina web. Lo fa assegnando un identificatore specifico chiamato ID di flusso per ogni richiesta. Da lì, è in grado di bypassare il sistema FIFO di HTTP utilizzando un solo canale TCP. Allo stesso tempo è possibile rispondere a più richieste, liberando code e riducendo i tempi di caricamento lenti. Tuttavia, nulla andrà perso o incasinato grazie a quell'ID stream.
SPDY riduce anche i tempi di caricamento della pagina web comprimendo le intestazioni fornite con le richieste. Non compressi, poiché arrivano tramite HTTP, possono variare di dimensioni da circa 200 byte a oltre 2 KB. Non è insolito che le intestazioni delle richieste siano grandi come 700 KB. Quando questi entrano nel server, non compressi, consumano la larghezza di banda e la latenza può incidere su una connessione.
Anche le intestazioni ridondanti vengono rimosse durante le richieste. Dopo che un'intestazione è stata stabilita una volta, non è necessario inviarla più e più volte, e non lo è, grazie a SPDY.
SPDY richiede SSL per la sicurezza, rendendolo molto più sicuro di HTTP. Non solo, nei test testa a testa è stato mostrato il 64% più veloce di HTTP, anche se i test successivi condotti da alcuni team hanno dimostrato che questo non fa davvero molta differenza, perché i siti web hanno un sacco di materiale sorgente diverso che ci sarebbe ancora un po 'di latenza in uso.
Tuttavia, a partire da novembre 2014, SPDY è supportato dal 2, 3% di tutti i siti Web, compresi Twitter e molti dei servizi di Google.
Come posso usarlo?
Se utilizzi i servizi Google o Twitter, stai già utilizzando SPDY. Tuttavia, poiché solo alcuni siti Web supportano SPDY, è probabile che non lo utilizzerai più di HTTP o HTTPS per un lungo periodo di tempo.
Per gli utenti con server Web, in genere è possibile implementare SPDY senza dover modificare alcun contenuto Web. Per gli utenti Apache Come configurare un server Web Apache in 3 semplici passaggi Come configurare un server Web Apache in 3 semplici passaggi Qualunque sia il motivo, è possibile che a un certo punto si desideri avviare un server web. Se vuoi concederti l'accesso remoto a determinate pagine o servizi, vuoi ottenere una community ... Leggi di più, c'è un'estensione SPDY che può essere installata chiamata mod_SPDY. Se si utilizza Nginx, è possibile applicare la patch SPDY. Mentre mod_SPDY e la patch SPDY per Nginx sono sicuramente nuovi e probabilmente confusi, non sono incredibilmente difficili da installare. Tuttavia, sarà comunque necessario un certificato SSL. Questo articolo di Mohan Ramkumar ti mostrerà come ottenere il tuo certificato SSL personale Come ottenere il tuo certificato SSL gratuito Come ottenere il tuo certificato SSL gratuito Leggi di più, gratuitamente.
Se sei su un browser e sei curioso di sapere quali siti supportano SPDY, sono disponibili app e componenti aggiuntivi che mostrano se è abilitato o meno, come SPDY Indicator disponibile per Chrome e Mozilla Firefox. Visualizza una piccola icona verde lampo se è abilitata per un sito Web specifico e un'icona grigia opzionale se non è abilitata.
Conclusione
Anche se SPDY potrebbe non essere più veloce di HTTP nell'uso del mondo reale, ci sta arrivando ed è già supportato da diversi browser Web, tra cui Chrome / Chromium, Mozilla Firefox, Opera, Amazon Silk e Safari. Mentre abilitare il supporto per SPDY sul tuo server può essere un po 'complicato all'inizio, stai aprendo la strada a un nuovo world wide web.
Hai qualche esperienza con SPDY? Lascia un commento qui sotto e chattiamo!
Credito immagine: Server Room tramite Flickr, Unplugged via Flickr, SPDY abilitato su Firefox 12.0 via Flickr