Annons
Har du någonsin känt dig frustrerad av en webbs långsamma laddningstid eller varit bekymrad över dess säkerhet (eller brist på den)? Google utvecklar något just nu som borde lösa några av dessa problem. Det heter SPDY, och det kommer att fungera tillsammans med HTTP för att göra internet mycket snabbare.
Först, vad är HTTP?
Förkortning för HyperText Transfer Protocol, HTTP fungerar som det underliggande protokollet för Internet. Det är ett protokoll på applikationsnivå, en uppsättning regler som definierar hur två enheter kommunicerar och delar data med varandra. Tyvärr, på grund av hur det har utformats, är webbsidens latens eller långsamma laddningstider ett betydande problem som HTTP står inför. Självklart, om du använder HTTPS HTTPS överallt: Använd HTTPS istället för HTTP när det är möjligt Läs mer , kan något av detta vara mindre problem.
HTTP gav ursprungligen krav på att kommunikationen till servern skulle stängas efter varje begäran / svarcykel, där en enhet skickar en begäran om data till en annan enhet och sedan tar emot den från den andra enhet. Detta resulterade i en fullständig installation och nedbrytning av en TCP-kanal för varje begäran, vilket var dyrt med avseende på bandbredd och satte mycket onödig belastning på datorerna och servrarna. TCP är, liksom HTTP, ett webbprotokoll som specifikt ger garanterad leverans, duplikatundertryckning, leverans i ordning, flödeskontroll, undvikande av trängsel och andra transportfunktioner.
Ett annat problem med det var att det innehöll FIFO-semantik. FIFO, eller "First In, First Out" semantik dikterar i huvudsak att den första begäran om att komma in på servern har det första svaret. Men detta kan vara ett problem. När det finns en långsam förfrågan framför kön måste förfrågningarna bakom den vänta längre och det finns ett bakflöde av förfrågningar.
Sedan kom HTTP 1.1 med några större förändringar som syftar till att lösa problemet. För det första tillät HTTP 1.1 för nya typer av TCP-anslutningar som gjorde det möjligt för kanalerna att hålla sig öppna mellan begäran / svarcykler. Dessa kallades "håll vid liv" -anslutningar. HTTP 1.1 tillät också något som heter pipelining, som lovade att bli av med det enstaka systemet för att hantera förfrågningar. Fortsätt att hålla vida förbindelser antogs i stor utsträckning, medan pipelining bara någonsin använts av Opera, som är känt för att använda mer innovativ teknik 5 Ideologiska skäl till varför du bör prova operaInte många människor har provat Opera eller till och med hört mycket om Opera eftersom webbläsaren alltid har sett långt ifrån Internet Explorer, sedan Firefox, och nu tar Google Chrome ... Läs mer i sin webbläsare.
Vad sägs om SPDY?
Eftersom pipelining inte antogs i stor utsträckning förblev webbsidens försening fortfarande ett problem. Sedan tillkännagav Google 2009 att det hade börjat utveckla arbetet SPDY med målet att det skulle hjälpa till att påskynda Internet.
SPDY är ett öppet nätverksprotokoll som är avsett att användas utöver HTTP för att transportera webbdata. Som ett öppet nätverksprotokoll upprättar det regler för hur data delas över nätverk.
Det fungerar genom att manipulera HTTP-trafik för att skära ned på webbsidans latens. Det gör detta genom att tilldela en specifik identifierare som kallas ett ström-ID till varje begäran. Därifrån kan den kringgå HTTP: s FIFO-system med bara en TCP-kanal. Flera förfrågningar kan besvaras på samma gång, frigöra köer och minska långsamma laddningstider. Men ingenting kommer att gå förlorat eller trasslat tack vare ström-ID.
SPDY minskar också laddningstiden för webbsidor genom att komprimera rubrikerna som medföljer förfrågningar. Okomprimerade, när de kommer via HTTP, kan de variera i storlek från cirka 200 byte till över 2 kB. Det är inte ovanligt att begärhuvudena är så stora som 700 kB heller. När dessa kommer in på servern, okomprimerade, äter de bandbredd och fördröjningen kan ta sin avgift på en anslutning.
Redundanta rubriker tas också bort under förfrågningar. När en rubrik har skapats en gång behöver den inte skickas om och om igen, och den är inte, tack vare SPDY.
SPDY kräver SSL för säkerhet, vilket gör det mycket säkrare än HTTP. Inte bara det, det har visat sig i head-to-head-tester att vara 64% snabbare än HTTP, även om efterföljande test som körts av ett fåtal lag har visat att detta verkligen gör inte för mycket skillnad totalt sett, eftersom webbplatser har mycket olika källmaterial som det fortfarande skulle vara lite latens i användning.
Från och med november 2014 stöds SPDY av 2,3% av alla webbplatser, inklusive Twitter och många av Googles tjänster.
Hur kan jag använda det?
Om du använder Googles tjänster eller Twitter använder du redan SPDY. Men eftersom endast ett fåtal webbplatser stöder SPDY, är chansen stor att du inte kommer att använda det mer än HTTP eller HTTPS under en lång tid.
För användare med webbservrar kan du vanligtvis implementera SPDY utan att behöva ändra något webbinnehåll. För Apache-användare Hur man ställer in en Apache-webbserver i tre enkla stegOavsett orsaken är det att du vid någon tidpunkt vill få en webbserver igång. Oavsett om du vill ge dig själv fjärråtkomst till vissa sidor eller tjänster, vill du få en gemenskap ... Läs mer , det finns en SPDY-förlängning som kan installeras mod_SPDY. Om du använder Nginx kan du tillämpa SPDY-lapp. Även om mod_SPDY och SPDY-patch för Nginx verkligen är nya och förmodligen förvirrande, är de inte oerhört svåra att installera. Du kommer dock fortfarande att kräva ett SSL-certifikat. Den här artikeln av Mohan Ramkumar visar dig hur du gör få ditt helt eget SSL-certifikat Hur du får ditt helt eget gratis SSL-certifikat Läs mer , gratis.
Om du är i en webbläsare och är nyfiken på vilka webbplatser som stöder SPDY finns det appar och tillägg tillgängliga som visar om det är aktiverat eller inte, till exempel SPDY-indikator tillgänglig för Krom och Mozilla Firefox. Den visar en liten grön blixtikon om den är aktiverad för en specifik webbplats och en valfri grå ikon om den inte är aktiverad.
Slutsats
Även om SPDY kanske inte är snabbare än HTTP i verklig användning, kommer den dit och stöds redan av flera webbläsare, inklusive Chrome / Chromium, Mozilla Firefox, Opera, Amazon Silk och Safari. Även om att aktivera stöd för SPDY på din egen server kan vara lite komplicerat till en början, så banar du vägen för en ny världswebb.
Har du någon erfarenhet av SPDY? Lämna en kommentar nedan så ska vi chatta!
Bildkredit: Server rum via Flickr, Unplugged via Flickr, SPDY aktiverad på Firefox 12.0 via Flickr
Taylor Bolduc är en teknikentusiast och student för kommunikationsstudier från södra Kalifornien. Du kan hitta henne på Twitter som @Taylor_Bolduc.