Ce este HTTP / 2 și ce face?



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

În ultimii 20 de ani, World Wide Web a evoluat dramatic. Toate tehnologiile web îmbunătățite necesită soluții și protocoale mai bune și mai rapide pentru comunicare și transfer de fișiere decât cele actuale (HTTP) care își ating limitele tehnologice.





Ce este HTTP / 2?

HTTP / 2 este cea mai nouă versiune de Hypertext Protocol de transport (HTTP) - protocolul de bază utilizat de World Wide Web . A fost aprobat inițial în februarie 2015. Aceasta este la aproape 20 de ani de la HTTP original. HTTP / 2 reduce timpul de încărcare și aduce îmbunătățiri enorme în comunicarea dintre servere și browsere. Majoritatea browserelor au adăugat deja HTTP / 2 și nu au schimbat multe lucruri din perspectiva utilizatorilor. Acesta este principalul motiv pentru care mulți dintre noi nu am citit sau auzit încă de asta.



Ce face HTTP / 2?

Ca succesor al HTTP, HTTP / 2 se concentrează pe îmbunătățirea tuturor caracteristicilor HTTP . Pentru a menține compatibilitatea înapoi cu protocolul mai vechi, acesta păstrează cea mai mare parte a funcționalității HTTP. Cu toate acestea, introduce câteva îmbunătățiri drastice.

Ambele HTTP sau HTTP / 2 definesc:

  • Ce acțiuni trebuie să ia browserele web și serverele ca răspuns la diferite comenzi.
  • Modul în care fiecare informație este transferată de la un computer la altul prin web.
  • Cum sunt create, formatate și transmise mesajele.

Cu alte cuvinte, HTTP și HTTP / 2 stabilesc standardele pentru modul în care conținutul web este livrat computerului dvs., cu diferența că HTTP / 2 face toate lucrurile mai rapide decât predecesorul său. Aici puteți vedea ce face HTTP / 2 în detalii.



Fluxuri multiplexate

Seriile bidirecționale de cadre de format text trimise prin protocolul HTTP / 2 între un server și client sunt numite „fluxuri”. HTTP este capabil să transmită doar unul dintre aceste „fluxuri” la un moment dat. După ce fluxul este trimis, există o întârziere între următoarea transmisie a fluxului.

HTTP / 2 stabilește un nou strat binar de încadrare care rezolvă direct problema cu transmiterea „fluxurilor” unul câte unul. Permite clienților și serverelor să dezintegreze sarcina utilă HTTP / 2 în secvențe de cadre intercalate mici, independente și ușor de gestionat. Toate aceste informații sunt reasamblate odată primite la celălalt capăt. Acest protocol permite schimbul de secvențe bidirecționale multiple, simultan deschise și independente, fără latență între fluxurile succesive.

Beneficii:

  • Solicitările și răspunsurile multiplexate paralele nu se blochează reciproc.
  • O singură conexiune TCP poate asigura utilizarea eficientă a resurselor de rețea chiar și atunci când se transmit mai multe fluxuri de date.
  • Performanță web mai rapidă, latență redusă și rezultate mai bune în motoarele de căutare.
  • CapEx și OpEx reduse în rețea și resurse IT rulate.

HTTP / 2 Server Push și Cache Push

Acest este o capacitate care permite serverelor să trimită informații suplimentare cache pentru clienți . Aceste informații nu sunt solicitate, dar sunt anticipate pentru solicitări viitoare. Dacă clientul solicită o resursă A și se știe că o altă resursă B este menționată cu cea solicitată, serverul poate împinge B împreună cu A în loc să aștepte o altă cerere de client. Apoi, clientul salvează resursa B împinsă în cache pentru o utilizare viitoare. Această caracteristică economisește un întreg proces de călătorie dus-întors și reduce latența rețelei. Google a introdus inițial Server Push în protocolul SPDY.

O altă îmbunătățire în HTTP / 2 este Cache Push. Aceasta actualizează proactiv sau invalidează memoria cache a clientului. Acest lucru oferă serverelor posibilitatea de a identifica resursele care pot fi împinse pe care clienții nu le doresc.

Beneficii:

  • Clienții pot refuza resursele împinse pentru a menține un depozit eficient de resurse stocate în cache (sau chiar dezactiva complet Server Push).
  • Clienții pot limita numărul de fluxuri împinse simultan.
  • Serverele pot acorda prioritate resurselor împinse. Aceasta este o cheie în diferența de performanță dintre HTTP / 2 și HTTP.
  • Serverele pot multiplexa resursele împinse împreună cu informațiile solicitate de client în cadrul aceleiași conexiuni TCP.
  • Clienții pot utiliza resursele memorate în cache pe diferite pagini.
  • Clienții salvează resursele împinse în memoria cache.

Protocoale binare

HTTP / 2 a îmbunătățit semnificativ capacitățile atunci când transformă protocolul text într-un protocol binar . În timp ce HTTP a fost folosit pentru a procesa comenzi text pentru a executa cicluri de solicitare-răspuns, HTTP / 2 se bazează pe comenzi binare. Aceasta scurtează timpul (la 1s și 0s) pentru executarea acelorași sarcini.

Browserele cu suport HTTP / 2 vor converti comenzile text în cod binar înainte de a le transmite prin rețea. Cu toate acestea, stratul de încadrare binar nu este compatibil cu serverele și clienții HTTP.

Beneficii:

  • Prevenirea problemelor de securitate asociate cu natura textuală a HTTP (ex. Atacuri de împărțire a răspunsului).
  • Permite capabilități HTTP / 2 precum compresie, prioritizare, multiplexare, gestionarea eficientă a TLS și controlul fluxului.
  • Reprezentare compactă a comenzilor care permite implementarea și procesarea mai ușoară.
  • Prelucrare robustă și eficientă a datelor între clienți și servere.
  • Debit îmbunătățit și latență redusă a rețelei.
  • Mai puține șanse de erori în comparație cu HTTP.
  • Utilizarea foarte eficientă a resurselor de rețea.
  • Cheltuieli reduse la analizarea datelor.
  • Amprentă de rețea mai ușoară.

Prioritizarea fluxului

HTTP / 2 permite clienților să ofere preferințe anumitor fluxuri de date. Serverele nu sunt obligate să respecte instrucțiunile acestor clienți, dar acest mecanism permite serverelor să optimizeze alocarea resurselor de rețea pe baza cerințelor utilizatorilor .

Prioritizarea fluxului funcționează cu greutatea și dependențele atribuite fiecărui flux. În ciuda faptului că toate fluxurile sunt inerent dependente unul de celălalt, cu excepția faptului că au o pondere alocată între 1 și 256. Mecanismele de prioritizare a fluxurilor sunt încă un subiect de dezbatere. Cu toate acestea, atunci când Prioritizarea fluxului este combinată cu capacitatea HTTP / 2 de a procesa mai multe fluxuri de date într-o singură conexiune TCP, poate duce la o sosire simultană de cereri de server cu prioritate diferită.

Beneficii:

  • Efecte negative reduse ale problemelor de latență a rețelei.
  • Experiență îmbunătățită a utilizatorului și viteză de încărcare a paginii.
  • Optimizare în comunicarea datelor între servere și clienți.
  • Utilizarea foarte eficientă a resurselor de rețea.
  • Timp de livrare redus pentru solicitările de conținut principal.

Compresie antet de stat

Când utilizatorii navighează pe site-uri web cu conținut bogat în media, utilizând HTTP, clienții împing mai multe cadre de antet aproape identice. Acesta este cazul, deoarece fiecare solicitare a clientului trebuie să includă atâtea informații pe cât le cere serverul pentru a efectua operația solicitată. Acest proces duce la latență și consum de resurse inutile.

HTTP / 2 include capacitatea de a comprima un număr mare de cadre de antet redundante. Se bazează pe specificațiile HPACK ca o abordare simplă și sigură a compresiei antetului . Clienții și serverele mențin o listă de anteturi utilizate în solicitările anterioare client-server. Aceasta abordează direct preocupările legate de cadrele de antet redundante.

Beneficii:

  • Codifică anteturile utilizate în mod obișnuit și anteturile mari. Aceasta elimină necesitatea de a trimite cadre întregi de antet. Dimensiunea individuală a fiecărui flux se micșorează semnificativ.
  • Prevenirea atacurilor de securitate, cum ar fi explorarea CRIME a fluxurilor de date cu anteturi comprimate.
  • Utilizarea eficientă a mecanismelor de multiplexare.
  • Prioritizarea eficientă a fluxului.
  • Reducerea cheltuielilor generale a resurselor.

Avantajele lumii reale ale HTTP / 2

HTTP / 2 este axat pe maximizarea potențialului tehnologiei , pentru a satisface nevoile și așteptările viitoare. Iată avantajele din lumea reală ale utilizării HTTP / 2.

Performanță web și performanță web mobilă - HTTP / 2 are abilități de a trimite și primi mai multe date într-un singur ciclu de comunicare client-server. Funcționează bine pentru a reduce latența în accesarea serviciilor de internet pe rețelele de date mobile și rețelele cu lățime de bandă limitată per utilizator.

Internet de mare viteză mai ieftin - HTTP / 2 crește eficiența comunicării datelor. Acest lucru permite furnizorilor de internet să micșoreze cheltuielile generale, menținând în același timp standardele internetului de mare viteză.

Securitate - HTTP / 2 nu este vulnerabil la amenințările care vizează protocoalele de nivel ale aplicațiilor bazate pe text. În plus, folosește abordarea „Securitate prin obscuritate” pentru a proteja transmisia de date sensibile între clienți și servere.

Acoperire extinsă - Avantajele HTTP / 2 reduc rezultatele internetului pentru furnizori. Acest lucru va duce la o acoperire mai largă a internetului la nivel mondial.

Experiență web bogată în media - Caracteristicile și avantajele tehnologice pe care HTTP / 2 le aduce în World Wide Web oferă o infrastructură capabilă să furnizeze conținut bogat în media la viteze mai mari de încărcare a paginii.

Învelire

HTTP / 2 este un protocol relativ nou, dar suportul pentru acesta crește continuu. În zilele noastre, majoritatea browserelor de internet acceptă HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome pentru Android). Multe servere web includ suport nativ HTTP / 2 (Apache HTTP Server, Tomcat, NGINX). Fără îndoială, HTTP / 2 este protocolul WWW al viitorului.

5 minute citite