Mikä on HTTP/2?

Kaikki Internetin verkkoliikenne käyttää tunnettua HTTP-protokollaa. Et ehkä tiedä, että HTTP-protokollasta on itse asiassa julkaistu useita versioita ja käytetty Internetissä. Ensimmäinen julkaistu versio oli HTTP V0.9 ja julkaistiin vuonna 1991, versio 1.0 julkaistiin vuonna 1996 ja korvattiin vuonna 1997 HTTP/1.1:llä.

HTTP/1.1 on ollut vakioverkkoviestintäprotokolla siitä lähtien. Vaikka protokollaan on tehty useita muutoksia ja selvennyksiä, jotka ovat vanhentaneet aiempia versioita, on käytetty nimeä HTTP/1.1. Viimeisimmät tarkistukset on tehty vuonna 2014.

HTTP/2 julkaistiin vuonna 2015, ja se oli suunniteltu tarjottavaksi aiemman HTTP/1.1-standardin rinnalla sen sijaan, että se korvaisi sen. Se perustuu Googlen kehittämään SPDY-protokollaan (lausutaan "speedy"), ja se on suunniteltu ylläpitämään mahdollisimman paljon yhteensopivuutta HTTP/1.1:n kanssa, kuten virhekoodien ja pyyntömenetelmien kanssa.

HTTP/2-protokolla on myös suunniteltu lisäämään verkkosivujen latautumisnopeutta useiden tehokkuusparannusten avulla. Jos HTTP/1.1:tä ei korvata, vanhemmat laitteet, jotka eivät tue HTTP/2:ta, voivat edelleen toimia, kun taas uudempaa protokollaa tukevat laitteet voivat saada edut.

HTTP/2 parannuksia

Yksi HTTP/2:n suurista muutoksista on, että kaikkia sivun resursseja voidaan pyytää ja palauttaa yhdessä yhteydessä. Aikaisemmin HTTP/1.1:ssä verkkoselaimen piti avata uusi yhteys jokaiselle pyydettävälle resurssille ja sitten sulkea se. Tämä aiheuttaa paljon ylimääräisiä kustannuksia, varsinkin jos sivulla on kymmeniä tai jopa satoja resursseja, mikä hidastaa sivun latausaikoja. Pyydämällä kaikki resurssit samassa yhteydessä, selaimen tarvitsee neuvotella vain yksi yhteys verkkopalvelimeen, mikä vähentää tiedonsiirtoa ja resurssien kuormitusta.

Vihje: Verkkoresurssi on mikä tahansa tiedosto, jota käytetään verkkosivun näyttämisessä. Tämä sisältää esimerkiksi HTML-koodin, kuvat, tyylitiedot ja skriptit.

Toinen parannus HTTP/2 tarkoittaa sitä, että verkkopyynnöt on nyt "putkitettu", mikä mahdollistaa useiden pyyntöjen lähettämisen ennen kuin vastauksia on vastaanotettu. Aikaisemmin HTTP/1.1:ssä jokainen pyyntö oli tehtävä järjestyksessä, mikä tarkoittaa, että aikaa kului odotellessa vastausta edelliseen pyyntöön seuraavan resurssin pyytämiseksi, mikä viivästytti sivun latausaikaa.

Toteutus selaimissa

Kaikki nykyaikaiset selaimet tukevat HTTP/2:ta. Valitettavasti verkkosivustojen toteutusaste ei ole yhtä yleinen. Siitä huolimatta käyttäjät voivat hyötyä HTTP/2:n eduista niillä verkkosivustoilla, jotka on määritetty käyttämään sitä.

Vaikka HTTP/2-protokolla itsessään ei vaadi salauksen käyttöä, kaikki sen selaimen toteutukset vaativat. Sellaisenaan HTTP/2-protokollaa voidaan käyttää vain HTTPS-yhteyksien kautta.