HTTP/2 – det nya svarta

HTTP2 hos Oderland

Vid första anblick erbjuder HTTP/2 inte speciellt mycket ny funktionalitet vilket inte heller var syftet, istället har fokus legat på effektivitet, prestanda och säkerhet och där har de lyckats med råge.

HTTP/2 är en vidareutveckling på googles SPDY som under 2014 antogs som utgångspunkt för HTTP/2. Tanken är att det ska ersätta nuvarande HTTP/1.1 under de kommande åren. Det mesta av högnivåspråket är samma som i HTTP/1.1 – skillnaderna ligger istället i den underliggande arkitekturen där det skett väsentliga förbättringar inom alla områden. Framför allt har fokus lagts vid att åtgärda de brister som HTTP fram till idag har dragits med.

Av dessa är server push den teknik som användare direkt kommer i kontakt med.

Du kan läsa den fulla specifkationen för HTTP/2 på https://tools.ietf.org/html/rfc7540/

En TCP-anslutning

Då HTTP/2 stödjer Multiplexing räcker det med att använda en enda TCP-anslutning för att kommunicera mellan server och webbläsare. Traditionellt öppnade webläsaren mellan 4 och 12 TCP-anslutningar och spred ut resursanropen på dessa. Då det traditionellt bara har gått att skicka en fil åt gången per anslutning ledde detta till försämrad prestanda då viktiga filer inte alltid kunde laddas i den ordning de krävdes.

Multiplexing

HTTP/2 gör det möjligt att skicka multipla förfrågningar och svar över samma anknytning vilket innebär en dramatisk ökning av effektiviteten. Det finns också stöd för prioritering vilket säkerställer att kritiska resurser hanteras snabbare.

Komprimerade HTTP-huvuden

HTTP-huvuden är meta-informationen som medföljer resursen du skickar eller tar emot. I HTTP/2 är dessa komprimerade och tar därför mindre bandvidd i anspråk vilket i de absolut flesta fall ökar prestandan. Viktigt att komma ihåg är dock att komprimeringen i sig kan ta resurser i anspråk också.

Prioritering

Genom att skicka med prioriteringsinformation i förfrågan säkerställs att resurser hämtas hem i rätt ordning vilket i sin tur resulterar i att sidan kan visas snabbare. Prioriteringsinformationen kan bestå av ett värde mellan 1 (låg) och 255 (hög) eller vara en beskrivning av beroenden till andra resurser.

Kryptering

Kryptering är egentligen inget krav för HTTP/2 men många servrar och webbläsare kräver kryptering för att över huvud taget använda HTTP/2. Genom att bara använda en enda TCP-anslutning ökas prestandan också här då det är tids- och resurskrävande att öppna nya SSL-anslutningar. En viktig sak att tänka på är att HTTP/2 ställer höga krav på hur din webbserver är konfigurerad – exempelvis fungerar HTTP/2 inte om du har gamla eller osäkra kryptoalternativ aktiverade på din server. Ett bra sätt att kontrollera dina inställningar och din kompatibilitet är att använda dig av Qualsys SSL Server Test.

Server-push

Ytterligare en finess som möjliggörs tack vare multiplexing är att man kan får servern att automatiskt skicka resurser som man vet behövs för att rendera sidan. I normala fall skickas sidan till webbläsaren som då avgör vilka ytterligare filer (css, js, bilder etc) som krävs och frågar servern efter dessa. Med server-push kan man ange vilka filer som behövs i HTTP-huvudet. Webbservern tolkar huvudet och skickar automatiskt med dessa filer utan att ha fått en förfrågan från webbläsaren vilket kan öka prestandan.

Finns som standard hos oss!

HTTP/2 finns som standard hos oss på ODERLAND och det är aktiverat på samtliga webbhotellkonton samt Managed Servers.

Hur vet jag ifall min hemsida svarar via http/2?

Det finns lite olika sätt. Till webbläsarna Chrome och Firefox finns i skrivande stund en plugin som heter ”http2 and spdy indicator” som man kan installera för att få en indikator till höger om adressfältet.
Man kan också aktivera utvecklingsläget i sin webbläsare och utläsa response headers, vilket bör visa protocol h2 istället för http1.1

HTTP/2 endast för https skyddade sajter

Webbläsare har endast stöd för http/2 om sajten är krypterad dvs att webbadressen börjar med https://
Hos oss på ODERLAND kan du aktivera https kostnadsfritt genom att följa guiden här: https://www.oderland.se/support/artikel/hur-kommer-jag-igang-med-lets-encrypt-ssl/