Arhiva za ‘brži web’ tag
Šta je Google-ov SPDY protokol i kako on pomaže u ubrzavanju Web-a
Google-ov SPDY (“speedy”, brzi) protokol ulazi u sve veću upotrebu. Ovaj Google protokol, koji je modifikacija HTTP protokola, dizajniran je s ciljem da pomogne u smanjenju kašnjenja i da pojača bezbednost. Čak i ako ne vi lično ne upravljate nekim Web serverom ipak bi trebali da znate šta je SPDY protokol i šta je to što on donosi.
SPDY protokol nalazi se u fazi razvoja već nekoliko godina a njegovo usvajanje će se sada znatno ubrzati s obzirom da je Google pokrenuo SPDY modul za Apache. Nginx očekuje se da će ga implementirati do kraja maja što već pokriva ogroman udio na tržištu servera.
Drugo, SPDY protokol bi treba da bude podrazumevan u Firefox 13 a Chrome i Chromium ga već podržavaju.
Šta SPDY protokol i šta on nudi
SPDY je dvoslojni HTTP-kompatibilni protokol. Prosto govoreći, radi se o modifikaciji HTTP protokola kome su dodate nove karakteristikama dizajnire za Web današnjice. “Gornji” sloj obezbeđuje HTTP zahtev i semantički odgovor, dok “Donji” sloj upravlja kodiranje i šalje podatke.
Donji sloj SPDI omogućava niz prednosti u poređenju sa standardnim HTTP protokolom. Naime, on šalje manje pakete, manje koristi TCP konekciju i koristi TCP konekcije mnogo efikasnije.
Jedan SPDY sesija dozvoljava da se istovremeni HTTP zahtevi odvijaju preko jedne TCP/IP sesije. SPDY protokol je odličan za visok-latentna okruženja jer se resursi nikada ne moraju biti na čekanju ni kod klijenta ni kod servera iz bilo kog drugog razloga osim ograničenja same mreže.
SPDY donosi paralelizam koji samim tim što je na jednom TCP streamu, koristi jedan prometan kontrolni blok umesto da se bavi sa 36 nezavisnih sitnih blokova. S obzirom da je stream prometan retko da ima potrebu da pretpostavljati koliko da pošalje (potrebno je samo da pretpostavite kada ste neaktivni, a SPDY će dobijati aktivne povratne informacije), a ako treba da odustane od paketa, na taj gubitak reaguje mnogo bolje od TCP protokola zahvaljujući različitim mehanizmima za brzi oporavak. Takođe, u slučaju zagušenje propusnog opsega mnogo bolje reaguje na signale drugih tokova, redukujući problem preopterećenja.
Trenutno postoji mnogo redundandosti i rasipanja propusnog opsega u HTTP zaglavlju. SPDY protokol kompresuje HTTP zaglavlje, što znači da mnogo manje bajtova mora da se prenosi između klijenta i servera.
Sve ovo rezultira sa veoma dobrim poboljšanjem performansi. Google navodi da korišćenje SPDY protokola u odnosu na HTTP donosi ubrzanje od 27% do 60% u vremenu učitavanja web stranice preko TCP (bez SSL), i 39% do 55% preko SSL.
Pored boljih performansi, SPDY protokol je i sigurniji. Trenutna implementacija SPDY protokola koristi SSL kao najbolji način za kripovanje većine Web prometa. Što će reći da vam je za korišćenje SPDY web sajta potreban SSL serifikat.
Konačno, SPDY dodaje dva nova mehanizma koji će takođe pomoći da se ubrza Web. Server Push i Server Hints.
Server Push će bez traženja poslati resurse klijentima. Ako na primer zatražite URL adresu Web stranice, SPDY takođe može odlučiti da pošalje i slike povezane sa stranicom čak i ako njih niste zatražili.
Server Hints ne šalje sadržaj, ali šalje URL tako da klijent može odlučiti da li mu je potrebna ili ne. Ako sadržaj nije keširan, preglednik ili neki drugi SPDY klijent može napraviti zahtev malo brže nego što bi to inače mogao.
Šta je problem sa SPDY protokolom?
SPDY mora biti podržan na oba kraja da bi radio. Potreban vam je preglednik koji podržava SPDY protokol i Web server koji isporučujemo sadržaj korišćenjem SPDY protokola. Ako koristite Chrome onda već imate SPDY podršku. Ako koristite Firefox, SPDY podrška će biti podrazumevana sa verzijom Firefox 13. Da ne bude zabune, Firefox 11 podržava SPDY protokol ali ga je potrebno uključiti.
Trenutno, veoma mali broj web sajtova podržava SPDY protokol. Google, naravno koristi SPDY kao i Twitter ali će sigurno trebati jjoš neko vreme da većina ostalih počnu da ga koriste.