Što je HTTP / 2 i kako utječe na budućnost interneta?

  • William Charles
  • 0
  • 1973
  • 57
Oglas

Možda još niste čuli za HTTP / 2, ali to je najnovije ažuriranje HTTP-a. Novi standard protokola uvodi neke nove koncepte i komunikaciju između poslužitelja i aplikacija čini bržom i učinkovitijom.

Što je HTTP / 2?

HyperText Transfer Protocol, verzija 2, ili HTTP / 2, prvo je veće ažuriranje HTTP-a u 15 godina.

Prethodni standard protokola, HTTP / 1.1, koristi se od 1997. godine i koristi mješavinu nespretnih načina za poboljšanje ograničenja HTTP-a.

Temelji se na SPDY (“brz”), eksperiment otvorenog koda koji je pokrenuo Google za rješavanje nekih problema i ograničenja HTTP / 1.1

Radna grupa za Internet inženjering (IETF) specificira ove promjene u protokolu Hypertext Transfer Protocol, verzija 2, Nacrt 17:

“HTTP / 2 omogućava učinkovitiju upotrebu mrežnih resursa i smanjenu percepciju kašnjenja uvođenjem kompresije polja zaglavlja i omogućavanjem višestrukih istodobnih razmjena na istoj vezi […]

“Također omogućuje prioritizaciju zahtjeva, što brže ispunjava važnije zahtjeve i dodatno poboljšava performanse.”

“HTTP / 2 omogućava i učinkovitiju obradu poruka korištenjem binarnog uokvirivanja poruka.”

“Ova je specifikacija alternativa sintaksi HTTP / 1.1 poruke, ali je ne zastarjela. Postojeća semantika HTTP-a ostaje nepromijenjena.”

HTTP / 2 temelji se na SPDY

Do 2012. većina modernih preglednika i mnogih popularnih web mjesta (Google, Twitter, Facebook itd.) Već podržavaju SPDY. Kako je popularnost SPDY rasla, HTTP radna grupa (HTTP-WG) počela je raditi na ažuriranju HTTP standarda.

Od ovog trenutka nadalje, SPDY je postao temelj i eksperimentalna grana za nove značajke u HTTP / 2. Tada smo ispitali kako SPDY može poboljšati pregledavanje Što je SPDY i kako može povećati vaše iskustvo pregledavanja? Što je SPDY i kako može povećati vaše iskustvo pregledavanja? , Od tada je verzija 2 izrađena, odobrena i objavljena.

Mnoge značajke SPDY ugrađene su u HTTP / 2, a Google je na kraju prestao podržavati ovaj protokol početkom 2016. godine.

Većina je preglednika na kraju prestala podržavati SPDY, a kako nema alternative, HTTP / 2 postaje de facto standard.

Iako standard protokola HTTP / 2 nije strogo unatrag kompatibilan s HTTP / 1, kompatibilnost se može postići prijevodom. Klijent jedini HTTP / 1.1 neće razumjeti samo HTTP / 2 poslužitelj i obrnuto, zbog čega je nova verzija protokola HTTP / 2, a ne HTTP / 1.2.

U skladu s tim, važan dio posla koji pruža HTTP-WG je osigurati da se HTTP / 1 i HTTP / 2 mogu prevoditi naprijed i nazad bez gubitka podataka.

Svi novi mehanizmi ili značajke će također biti neovisno o verziji i unatrag kompatibilni s postojećim webom.

HTTP / 2 zapravo nije nešto što korisnik može implementirati, ali postoje stvari koje možemo učiniti kako bi utjecali na brzinu pretraživanja. Vjerujete li da je neki od ovih uobičajenih mitova o brzini vaše internetske brzine? 5 mitova o povećanju brzine interneta i zašto oni ne rade 5 mitova o pojačavanju brzine interneta i zašto ne rade internetska brzina kritično je mjerenje u 21. stoljeću. Međutim, na internetu postoji puno dezinformacija o tome kako brže uspostaviti vezu. Evo pet mitova u koje ne biste trebali vjerovati.

Prednosti i značajke HTTP / 2

HTTP / 2 dolazi s odličnim ažuriranjima HTTP standarda. Neki od važnijih su binarno uokvirivanje, multipleksiranje, prioritizacija struje, kontrola protoka i pokretanje poslužitelja.

Binarno uokvirivanje

HTTP poruke mfuji09 licencirane su pod CC-BY-SA 2.5.

Nakon ažuriranja na HTTP2 /, komunikacija HTTP protokola dijeli se na razmjenu binarno kodiranih okvira. Ti su okviri preslikani na poruke koje pripadaju određenom toku. Potoci su tada multipleksirani (u nekom smislu sjedinjeni) u jednoj TCP vezi.

Novi binarni sloj uokvirivanja uvodi novu terminologiju; Struje, poruke i okviri.

  • Struje su dvosmjerni tokovi bajtova koji nose jednu ili više poruka.
  • Svaki od tih tokova ima jedinstveni identifikator i može prenijeti dvosmjerne poruke koristeći neobavezne informacije o prioritetu.
  • Okviri su najmanja komunikacijska jedinica u HTTP / 2 koja sadrži određene skupove podataka (HTTP zaglavlja, opterećenje poruka itd.). Zaglavlje će u najmanju ruku identificirati stream koji okvir pripada.
  • Poruke su kompletan skup okvira koji se preslikavaju na logički zahtjev ili poruku odgovora.
  • Svaka je poruka logična HTTP poruka, poput zahtjeva ili odgovora, koja se sastoji od jednog ili više okvira.

To nam omogućuje uporabu jedne TCP veze za ono što je u prošlosti zahtijevalo više.

multipleksiranje

HTTP / 1.1 osigurava da se istovremeno može isporučiti samo jedan odgovor po vezi. A preglednik će otvoriti dodatne TCP veze ako klijent želi uputiti više paralelnih zahtjeva.

HTTP / 2 uklanja ovo ograničenje HTTP / 1.1 i omogućuje potpuno multipleksiranje zahtjeva i odgovora. To znači da klijent i poslužitelj mogu razbiti HTTP poruku na neovisne okvire, koji se zatim prepliću i ponovno sastavljaju na drugom kraju.

Sve u svemu, ovo je najvažnije poboljšanje HTTP / 2, jer će dijelom eliminirati potrebu za višestrukim povezivanjima. To će zauzvrat uvesti brojne prednosti performansi u svim web tehnologijama.

Smanjeni broj veza znači manje rukovanja sigurnosnim slojem transportnog sloja (TLS), bolju ponovnu uporabu sesije i ukupno smanjenje potreba klijenta i poslužitelja. To aplikacije čini bržim, jednostavnijim i jeftinijim za implementaciju.

Web stranice s mnogo vanjskih sredstava (slike ili skripte) vidjet će najveće povećanje performansi HTTP / 2 multipleksiranja.

Prednost i ovisnost struje

Daljnja poboljšanja multipleksiranih tokova provode se ovisno o težini i struji. HTTP / 2 omogućava nam da svaki potok damo težinu (vrijednost između 1 i 256) i da to izričito ovisi o drugom toku.

Ova kombinacija ovisnosti i težine dovodi do stvaranja stabla prioriteta koji poslužitelju govori na koji način bi klijent želio primati odgovore.

Poslužitelj će koristiti informacije u stablu prioriteta za kontrolu raspodjele CPU-a, memorije i drugih resursa, kao i dodjelu propusne širine kako bi klijent osigurao optimalnu isporuku odgovora visokog prioriteta..

Kontrola protoka

Problemi s kontrolom protoka u HTTP / 2 slični su HTTP / 1.1. No, budući da se HTTP / 2 tokovi multipleksiraju unutar jedne TCP veze, način rada protoka u HTTP / 1.1 djeluje više nije učinkovit.

Ukratko, kontrola protoka je potrebna kako bi se zaustavili potoci koji se međusobno interferirali i uzrokovali začepljenje. To omogućuje multipleksiranje. HTTP / 2 omogućava upotrebu različitih algoritama upravljanja protokom, bez traženja izmjena protokola.

Nijedan algoritam za kontrolu protoka nije naveden u HTTP / 2. Umjesto toga, postavljen je skup građevinskih blokova koji pomažu klijentima i poslužiteljima da primijene vlastitu kontrolu protoka.

Specifičnosti ovih građevnih blokova možete pronaći u odjeljku “Kontrola protoka” odjeljak HTTP / 2 internetskog nacrta.

Push poslužitelja

Vaš preglednik će obično zatražiti i primiti HTML dokument od poslužitelja prilikom prvog posjeta stranici. Poslužitelj tada mora pričekati da preglednik parsira HTML dokument i pošalje zahtjev za ugrađenim sredstvima (CSS, JavaScript, slike itd.).

U HTTP / 1.1, poslužitelj ne može poslati te resurse dok ih preglednik ne zatraži, a svaki je imovina potreban zaseban zahtjev (tj. Višestruki rukovanje i povezivanje).

Pritisak poslužitelja smanjit će kašnjenje dopuštajući poslužitelju da te resurse šalje bez promidžbe, jer već zna da će ih klijent zahtijevati. Dakle, u gornjem primjeru, poslužitelj će gurnuti CSS, JavaScript (uobičajeni skriptni jezik Što je JavaScript i kako radi? Što je JavaScript i kako to radi? Što je Javascript? To je programski jezik koji se koristi za poboljšanje web stranica. To uključuje dinamičko ažuriranje web stranica, korisničkih sučelja i još mnogo toga. Zavirimo u ono o čemu se radi u Javascriptu (na web stranicama) i slike u preglednik kako bi se stranica brže prikazala..

U osnovi, push server omogućuje poslužitelju da pošalje više odgovora na jedan zahtjev klijenta.

Iako ručno, ovo je efekt koji trenutno dobivamo uvrštavanjem CSS-a ili JS-a u naše HTML dokumente - inhibicijski resurs guramo klijentu ne čekajući da ga klijent zatraži..

Ovo je veliki korak dalje od trenutnog HTTP standarda strogog tijeka rada jedan na jedan odgovor.

Ograničenja HTTP / 2

SPDY imao je malo strožu politiku sigurnosti i zahtijevao je SSL enkripciju za sve veze. HTTPS / 2 ne zahtijeva šifriranje, ali mnoge usluge neće posluživati ​​HTTP / 2 bez SSL-a.

Svi glavni preglednici podržavaju HTTP / 2, ali nijedan od njih neće ga podržati bez šifriranja. Web-lokacija CanIUs ima sjajan pregled tablice nad trenutnom podrškom preglednika za HTTP / 2, kao što je gore prikazano.

Povratna kompatibilnost i prijevodi između HTTP / 1.1 i HTTP / 2 usporit će brzinu učitavanja stranice.

Ne postoji pravi razlog zašto šifriranje do sad ne bi trebalo biti zadana ili obvezna postava. Ako na svom web mjestu već imate SSL certifikat, možete poboljšati sigurnost svoje HTTPS web stranice omogućavanjem HSTS.

Je li HTTP / 2 sljedeća velika stvar?

HTTP / 2 predložen je kao standard sredinom 2015. godine, a većina preglednika dodala je potporu do kraja te godine. HTTP / 2 već utječe na način na koji funkcionira internet i kako aplikacije i poslužitelji razgovaraju zajedno.

Ne postoje zahtjevi za prisilnu upotrebu HTTP / 2, ali zasad on koristi samo koristi i nema nedostataka. To je također prilično mala promjena iz perspektive korisnika, ona koju ljudi neće stvarno primijetiti.

Prema W3Tech-u, 31,7% od 10 milijuna najboljih web lokacija trenutno podržava HTTP / 2. Najbrži način da većini od vas omogući HTTP / 2 na vašoj web stranici je korištenje Cloudflareovog CDN-a.

Sljedeći predloženi standard (HTTP / 3) već je u izradi i temelji se na QUIC-u, još jednom Googleovom eksperimentalnom projektu. U listopadu ove godine IETF-ov HTTP-WG i radna grupa QUIC službeno su zatražili da QUIC postane novi svjetski standard i preimenuje ga u HTTP / 3.

? .




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.