Mikä on HTTP/2 ja kuinka se otetaan käyttöön?
Ohjelmistot käyttävät viestintään yhteisesti sovittuja tapoja, eli protokollia. Verkkopalveluiden ja selainten yhteydessä ylivoimaisesti yleisin näistä on HTTP. Tätä protokollaa on käytetty 90-luvulta lähtien ja sen yleisesti käytössä oleva versio (HTTP/1.1) tuli käyttöön vuonna 1999.
Kuten arvata saattaa tekniikka on vuosituhannen vaihteen jälkeen kehittynyt huimasti. Kaiken alla toimii kuitenkin yhä tämä, nyt yli viisitoista vuotta vanha tapa viestiä. Sitä on hieman viritelty, väärinkäytetty ja kierretty erilaisin kikoin.
HTTP/2 on käytännönläheinen ratkaisu
Pohjimmiltaan HTTP (HyperText Transfer Protocol) on yhä tapa lähettää tekstiä palvelimelta selaimelle. Kuvien, videon ja muun lähettäminen on rakennettu tämän päälle. Teknisesti järkevin tapa tehostaa tätä viestintää olisi varmaankin kehittää kokonaan uusi tapa viestiä.
HTTP on käytössä miljardeilla ihmisillä, joten kokonaan uuden tavan rakentaminen ei ole kovinkaan käytännöllistä. Vuonna 2015 julkaistiinkin uusi versio (HTTP/2), joka on parannettu versio - ei täysin uusi asia.
Pellin alla on paljon uutta (ja monimutkaista), mutta käyttäjille ja kehittäjille nämä eivät muuta paljoakaan. Käytännön parannuksia ovat esimerkiksi:
- Tehokkaampi viestien siirto: Sisältö siirretään binäärimuodossa ja ns. header tiedot pakataan
- Useiden viestien tehokkaampi siirto: Useat viestit siirretään "samassa putkessa" erillisten yhteyksien avaamisen sijaan
- Palvelin voi lähettää sisältöä selaimelle tämän sitä pyytämättä: Perinteisesti selaimen pitää pyytää jokaista asiaa (tyylitiedostot, kuvat, jne.) erikseen, mutta HTTP/2:n Server Push mahdollistaa esimerkiksi tyylitiedostojen lähettämisen heti ensimmäisen kyselyn yhteydessä
Nämä parannukset eivät mahdollista mitään mullistavia uusia toimintoja, mutta tehostavat alemman tason perustehtäviä. Lopputuloksena esimerkiksi verkkosivujen lataaminen ruuhkaisessa mobiiliverkossa on kokonaisuutena tehokkaampaa.
Salaus on normaalisti ollut käytössä verkkopankeissa ja muissa palveluissa. Salatussa palvelussa liikkuessasi ainoastaan sinä ja palvelin pystyvät lukemaan välitettyjä viestejä. HTTP/2:ssa on paljon muutoksia ja nämä muutokset voisivat salaamattomana johtaa ongelmiin, kun esimerkiksi palomuuri estäisi liikenteen epäilyttävänä. Salausta käyttämällä saadaan vältettyä tämä vaara.
HTTP/2 ei ole suoraan riippuvainen käytetystä julkaisujärjestelmästä, käyttöjärjestelmästä tai ohjelmointikielistä. Se toimii näiden alapuolella ja sen edut tulevat parhaiten esiin isolla skaalalla tai kun yksittäisen käyttäjän tietoliikennekaista on hidas (katso vertailu).
HTTP/2:n käyttöönotto
Uusi versio korvaa siis läpinäkyvästi vanhan version. Esimerkiksi tämä sivusto käyttää HTTP/2:sta, mutta itse et sitä välttämättä huomaa mitenkään. Selvin indikaatio on että sivusto on salattu. Salaus ei ole pakollinen osa HTTP/2:sta, mutta se on käytännön vaatimus sillä nykyselaimet eivät tue salaamatonta HTTP/2 liikennettä.
HTTP/2:n käyttöönotto edellyttää siis kolmea asiaa:
- Selain tukee HTTP/2:sta
- Verkkopalvelin tukee HTTP/2:sta
- Palvelimen ja selaimen välillä on SSL-suojattu yhteys
Suuri osa verkkopalveluista tulee siirtymään HTTP/2:een luontaisesti ohjelmistopäivitysten mukana. Useimmat selaimet tukevat jo HTTP/2:sta ja päivittyvät automaattisesti tuoreisiin versioihin. Esimerkiksi Microsoft Edge, Google Chrome ja Mozilla Firefox päivittyvät siis jatkuvasti huomaamattomasti.
Suosittujen web-palvelimien Apache ja Nginx tulevat versiot tulevat käyttämään HTTP/2:sta oletuksena. Tällä hetkellä suurin osa esimerkiksi Linux-jakelujen palvelimista tulee erikseen päivittää ja konfiguroida tukemaan HTTP/2:sta. SSL-salauksen purkuun esimerkiksi vanhemman web-kiihdyttimen edessä voi käyttää myös H2O-palvelinta.
Salaamisen lisääminen ei itsessään ole hankalaa tai kallista, mutta se ei ole ollut normaalikäytäntö sisältövetoisilla sivustoilla. Tästä on kuitenkin nykyään hyötyä myös hakukoneoptimoinnissa. Pian saatavilla olevat ilmaiset SSL-sertifikaatit laskevat kynnystä entisestään.
HTTP/2 on siis evoluutio, ei revoluutio. Kaikkia koskettava muutos, jota vain harvan tarvitsee miettiä.