Nesten alt du besøker på nettet på et eller annet tidspunkt, bruker en spesiell protokoll som kalles Hyptertext Transfer Protocol (HTTP). Helt siden år 1999 har du brukt HTTP versjon 1.1. Dette har vært den kontinuerlige standarden i mange år til Google gjorde en kunngjøring den 10. februar 2015 at nettleseren sin vil legge til full støtte for det som nå er kjent som HTTP / 2. Dette høres ut som en fullstendig gibberish til noen, men det er fordi det ikke er noen beskrivelse av hva HTTP / 2 gjør annerledes. For å forstå dette, må vi utforske nøyaktig hva denne nye protokollversjonen gjør, og hvordan den ligner på versjonen av HTTP vi har brukt i nesten to tiår.

Hva oppnår HTTP / 2?

Når en ny protokollversjon er utviklet, trenger den konkrete konkrete mål. Det mest åpenbare målet er bakoverkompatibel med sin forgjenger, HTTP 1.1. Uten den muligheten, vil hver server i verden måtte bytte til HTTP / 2 for at du skal kunne bla gjennom sine nettsteder.

Ved å opprettholde kompatibilitet med den eldre versjonen, vil denne nye protokollen gjøre bruk av avanserte teknikker som tiltak mot latens, slik at sidene lastes raskere. Dette er det primære målet, det problemet som HTTP / 2 planlegger å møte mest aggressivt.

Andre forbedringer inkluderer ekstra sikkerhet og kompatibilitet med omvendte proxyer.

I den store ordningen av ting, vil HTTP / 2 ikke være så mye forskjellig fra HTTP 1.1. Når du surfer på internett, er den sterkeste effekten du vil føle at nettsidene lastes betydelig raskere så lenge de støtter den nye versjonen.

Hvordan gjør HTTP / 2 nettet raskere?

Å si at "HTTP / 2 gjør alt raskere" er en dårlig tjeneste for den mengden arbeid som faktisk foregår bak kulissene for å oppnå dette. HTTP 1.1-protokollen er opptatt av en rekke problemer som var akseptable i de tidligste årene av det 21. århundre, men ikke lenger fornuftig å fortsette å leve med i en tid hvor båndbredden er billigere og servere forventes å laste sider med mye raskere priser .

Den viktigste måten HTTP / 2 planlegger å adressere sidetilpasningstider på, er å komprimere toppteksten (et stykke data sendt av klienten din for å be om at en server gir deg dataene på en nettside du besøker). Dette minimerer mengden tid som datamaskinen "rister på hendene" med målserveren ved å redusere mengden data som må sendes. I dag er prosessorer kraftige nok til å håndtere millioner av dekomprimeringer på kort tid. Det er mer fornuftig å gjøre dette nå.

Mens det ovenfor bare vil ta vare på latens i den første forespørselen, er det også måter HTTP / 2 planlegger å ta vare på hele samspillet med et nettsted. Det vil direkte implementere server push teknologier, som tillater servere å være mer aktive i kommunikasjonsprosessen. Inntil nylig måtte du sende forespørsler regelmessig til serveren, slik at det tolker overskriftene du slår ut hver gang du ber om informasjon. Med HTTP / 2 sender serveren deg nye data når den vises.

Til slutt vil HTTP / 2 gjøre noe som heter "multiplexing" når du sender forespørsler. I HTTP 1.1 var det et problem: Hver ny pakke tok forrang over den siste. Alle av dem ble behandlet på en lineær måte, noe som førte til et problem som heter "head-of-block blocking". I utgangspunktet var en servers ytelse begrenset av det faktum at det måtte behandle den første pakken som kommer til det mens du forlater resten i en kø. Hvis pakken tok lang tid å behandle, måtte alle andre pakker vente i kø for å slå seg. Med HTTP / 2 blir flere pakker behandlet samtidig.

Med denne kombinasjonen av forskjellige "botemidler", vil HTTP / 2 gjøre alt for å unngå nedgang på grunn av HTTP-spesifikke problemer. Dette vil være spesielt fordelaktig for nettsteder med mindre servere som ikke er koblet til så mye båndbredde som de som kjører Facebook og Google.

Hvis du har spørsmål eller ideer, vær sikker på å legge igjen en kommentar med dine tanker!