HTTP / 2 er en ny måde at gør din hjemmeside belastning meget hurtigere ved at eliminere mange ineffektiviteter forbundet med den aktuelle version af HTTP. Den største ting om det? Du behøver ikke at gå meget for at få det i gang.

Eller gør du?

Hvad er HTTP / 2?

Da HTTP1 og HTTP1.1 oprindeligt blev udviklet, var internettet meget forskelligt fra det, det er i dag. Websites havde færre ressourcer (JavaScript-filer, CSS-filer, billeder) end i dag. Forbindelser til internettet var ikke meget hurtige, og brugerne var ikke meget kræsne med websidernes indlæsningshastighed.

Brugere begynder at få kløende fingre, når et websted tager længere tid end 3 sekunder for at vise et svar.

Du var glad for at et websted lastet fuld stop. Du har måske hemmeligt klaget over, at lastningen var langsom. Men du kunne ikke rigtig gøre meget ved det. Det skyldes, at den langsomme indlæsningstid typisk kommer fra faktorer, der var uafhængige af den webserver og teknologi, du brugte. For det meste var det den egentlige internetforbindelse, som var den største begrænsende faktor.

Hurtig frem til i dag. Great website loading gange måles i millisekunder snarere end sekunder. Brugere begynder at få kløende fingre, når et websted tager længere tid end 3 sekunder for at vise et svar. I denne slags situation begynder ineffektiviteten i millisekunder forbundet med de oprindelige versioner af HTTP at gøre en reel forskel. Det er derfor, du får så mange artikler at diskutere hvordan man laver dit websted hurtigere . Fordi millisekunder betyder noget.

Den nye version af HTTP, kendt som HTTP / 2 adresserer specifikke kendte problemer med HTTP. Dens mål er at løse en række problemer, der er blevet mere udtalt, da internettet har udviklet sig til større og større websites med mange flere CSS, JS og billedfiler end oprindeligt forventet.

Men hvad er der galt med HTTP1.x, og hvorfor bruger vi så meget arbejde på at gøre det hurtigere?

Problemerne med HTTP1.x

HTTP1.x har en række iboende problemer. Faktisk lad os afstå fra at kalde dem problemer. HTTP1.x har en række måder, hvorpå det kan være mere effektivt.

  1. HTTP 1.x er tekstbaseret: oprindeligt var ideen om, at HTTP1.x skulle være menneskeligt læsbar, så den var helt tekstbaseret. Pr. Definition har alle tekstbaserede protokoller ineffektivitet forbundet med dem som f.eks. Hvide rum, linkbrud, aktivering osv.
  2. Kun én fil er i overførsel på et tidspunkt: Dette er et af de største problemer med 1.x-versioner af HTTP. Bare forestil dig at være en leverandør, der kun kan levere en pakke ad gangen. De skal gå tilbage til base hver gang de skal levere den næste pakke.
  3. Hundredvis af anmodninger er påkrævet for dagens hjemmesider: At have mere sofistikerede temaer betyder, at størrelsen af ​​webstederne og antallet af ressourcer vokser. Og det gør det også nødvendigt at indlæse hver ressource. Husk, at vores "deliveryman" skal gå tilbage til base hver gang, de kan ikke overføre mere end en fil ad gangen.
  4. Hver forbindelse er en teknisk teknisk drift: Da der kræves hundredvis af forbindelser, begynder det at akkumulere alvorlige overhead. Med indlæsningstid målt i millisekunder begynder den samlede tid, der kræves for at oprette forbindelse til hundredvis af ressourcer, meget stor betydning.

Mange gange måtte webdesignere gennemføre specifikke foranstaltninger for at reducere disse ineffektiviteter. Opløsninger som CSS sprites, minification og combining af filer er ment at overvinde problemer med indlæsning af websteder.

Disse er - i det væsentlige - løsninger snarere end rettelser.

Hvordan HTTP / 2 løser problemerne med HTTP1.x

HTTP / 2 er designet og udviklet fra SPDY , en protokol designet til Google med det formål at gøre nettet 2x hurtigere. Det løser HTTP-problemer på følgende måde

  1. HTTP / 2 er beregnet til forbrug af maskiner (din webbrowser og dit websteds webserver) i stedet for mennesker. Det er binært snarere end tekstbaseret, hvilket gør det iboende mere effektivt. Overførsel og analyse af dataene sker hurtigere ved hjælp af binære protokoller.
  2. Flere filer kan overføres samtidigt i samme forbindelse . Rettelser blev implementeret, så du kan pipeline ressourcer på samme forbindelse. I stedet for at skulle åbne en ny forbindelse hver gang (vores leverandør går tilbage til basen), kan alle ressourcer transporteres i samme forbindelse (vores leveringsmand dumper alt i en vare og tager alt i en enkelt tur).
  3. Server skub til at sende filer, som kræves af browseren. I HTTP1.x er det webbrowseren, der spørger webserveren om de ressourcer, det kræver. HTTP Server Push (implementeret som en del af HTTP / 2) gør det muligt for serveren at sende ressourcer, som den ved, at webbrowseren skal bruge. Du kan f.eks. Instruere serveren om ikke at vente på, at browseren skal bede om CSS, JS og andre ressourcer, som browseren skal alligevel have brug for.
  4. HTTP-pakkeoverskrift og andre optimeringer - det drejer sig om tekniske forbedringer, som er designet til at forbedre effektiviteten af ​​overførsler

Hvad kræves for at aktivere HTTP2?

Ved ikke at understøtte HTTP / 2 over ukrypterede forbindelser, er websiteejere stærkt bevæbnet til at implementere HTTP'er til deres hjemmeside.

Tilbage i starten af ​​artiklen sagde vi, at der ikke kræves meget kræfter fra din ende for at aktivere HTTP / 2. Aktivering af HTTP / 2 er noget, der skal gøres på webserverniveau. De fleste webservere som Apache, Nginx, IIS og andre større webservere har allerede support til HTTP / 2.

Hvis du kører din egen webserver, skal du bare installere og aktivere HTTP / 2 biblioteker. Hvis dit websted er vært med et hostingfirma, skal du kontakte firmaet, om webserveren allerede er aktiveret til HTTP / 2.

Fangsten? Sikker Certifikater

Måske var det for godt at være sandt. Vi har netop diskuteret, hvordan webservere allerede understøtter HTTP / 2 fuldt ud.

De fleste større webbrowsere understøtter også HTTP / 2 fuldt ud. Men de har også valgt at kun støtte HTTP / 2 i krypteret tilstand. Årsagen til dette er, at der har været en stærk bevægelse for at muliggøre HTTPS (kryptering) over hele internettet. Sådanne initiativer som HTTPS overalt kraftigt skubbe behovet for HTTPS på alle hjemmesider.

Ved ikke at understøtte HTTP / 2 over ukrypterede forbindelser, er websiteejere stærkt bevæbnet til at implementere HTTP'er til deres hjemmeside.

Det er selvfølgelig ikke nødvendigvis en dårlig ting. Implementering af HTTPS har betydelige sikkerheds- og privatlivsfordele. Med virksomheder, der kommer sammen til at danne en certificeringsmyndighed kaldet Lad os kryptere For at tillade gratis sikre certifikater bliver den samlede pris til faktisk at erhverve et certifikat og implementerer HTTPS meget billigere. Det var relativt dyrt indtil for nogen tid siden.

Implementering af HTTPS er ikke noget, du burde gøre uden at give den den nødvendige grundtænkning. Du vil muligvis gerne diskutere dette med din betroede hjemmesideudvikler eller nogen med tilstrækkelig teknisk ekspertise. De fleste gange skal dit hostingfirma være i stand til at guide dig igennem dette.

Selvfølgelig anbefales det stærkt, at du implementerer HTTPS. Ud over den ekstra sikkerhed, får du mulighed for at aktivere HTTP / 2 og gøre din hjemmeside hurtigere. Det er det, vi kalder en win-win-situation.

Er andre optimeringsteknikker stadig nødvendige?

Ja og nej.

Visse optimeringer med henblik på at reducere webforespørgsler bliver overflødige. Hvis dit websted påregner beregningstiden til at "kombinere" JS, CSS og andre filer, er dette faktisk blevet en overheadomkostning. Ethvert tidspunkt, der er "spildt", der adresserer de ovennævnte ineffektiviteter, er ikke længere nødvendigt.

På den anden side skal sådanne optimeringer som caching, reduktion af ressourcernes størrelse, levering af indhold over en CDN, valg af en stor hosting-server og andre optimeringer, der adresserer forskellige typer ineffektivitet, forblive på plads.

Det gode ved HTTP / 2 er, at det ikke kun gør din hjemmeside hurtigere, men det presser dig også til at gøre din hjemmeside mere sikker. Der er ingen argumenter for, at der er fordele for begge disse. HTTP / 2 er det næste skridt i at gøre hele internettet hurtigere. Lad os alle være en del af det og få det til at ske.