Pre godinu dana smo, prvo na Kupindu a zatim i na Limundu, pustili podršku za SPDY protokol. Pre jedno mesec dana smo, tiho, opet prvo na Kupindu a zatim i na Limundu tu podršku ukinuli i zamenili je HTTP/2 protokolom.
Razlog je jednostavan: SPDY vise nije podržan. Čak i Google Chrome ga više ne podržava, jer je Google, zajedno sa ostalim proizvođačima browser-a, odustao od sopstvenog SPDY protokola i prešao na novi HTTP/2 standard. Samim tim, podrška je postala bespredmetna, a podrška za HTTP/2 je, čini nam se, postala nešto što je i nama i korisnicima neophodno. Kažem, čini nam se, jer iz nekog razloga, Kupindo i Limundo su prvi, a moguće još uvek i jedini domaći sajtovi koji ovo podržavaju!
Razloga za prelazak ima više, ali pre svega je u pitanju drastičan tehnološki napredak. Originalni HTTP/1.1 standard koji većina sajtova još uvek koristi, definisan je davne 1999. godine i bio je aktuelan preko 16 godina – večnost za IT industriju. Novi standard donosi više promena i dosta se oslanja na SPDY neformalni standard, ali uz ključnu razliku da je u pitanu jasno definisan i otvoren standard.
Glavna prednost HTTP/2 je u mogućnosti da se kroz jednu konekciju (tcp socket) simultano i non-blocking prenosi više podataka paralelno u oba smera. HTTP/1.1 je ovo delimično rešavao korišćenjem više konekcija, ali te konekcije su i dalje bile blokirajuće, plus im je broj bio ograničen. Sada sve ide kroz jednu konekciju sto rasterećuje i server i klijenta, a sama konekcija je većeg kapaciteta i omogućava da se paralelno radi više stvari – što tcp podržava sve vreme.
Glavna prednost ovakvog pristupa vidi se na klijentima sa slabijim propusnim opsegom i, posebno, na klijentima koji imaju spore veze visoke latencije – slične onima na 3G/4G mobilnim telefonima ili zagušenim javnim WiFi access point-ima. U nekim slučajevima ubrzanje je drastično, što se lepo vidi kada se proba demo za HTTP/2 na akamai CDN-u sa lošeg javnog WiFi-a na telefonu – što sam za potrebe ovog teksta i dokumentovao.
Dodatno, prednost je i manji broj konekcija, što vodi i manjem korišćenju resursa, što opet dodatno rasterećuje i klijentske računare i servere – a što se najviše vidi na slabim klijentima sa malo memorije – kao što su mobilni telefoni. Konačno, HTTP/2 ne propisuje TLS konekciju kao obaveznu, ali sve implementacije u browserima podržavaju HTTP/2 samo kroz bezbedne konekcije, pa ovime dižemo i bezbednost sistema još jednu stepenicu više.
Ako vam od sredine februara sajtovi rade bolje, posebno na mobilnim uređajima – sada znate i zašto.