Mit jelent a HTTP/2? Hogyan tudok átállni rá?

A Hypertext Transfer Protocol (HTTP) az a protokoll, amely a szerver és a böngészők közötti kapcsolatot szabályozza. A protokoll 1991-ben jött létre, melynek az első javított verziója, a HTTP/1.1 1999-ben látott napvilágot. Az akkori webhelyek nagyon különböztek a most fejlesztett webhelyektől. Egy átlagos webhely betöltéséhez jelenleg 1.9MB adatmennyiség szükséges, ahol az oldal megjelenéséhez átlagosan több, mint 100 egyedi forrást töltünk be. Ilyen forrás lehet egy kép, betűtípus , JavaScript vagy CSS stílus sablon fájl betöltése. A HTTP/1.1 nem működik már olyan hatékonyan, ha egy modern webhely megjelenítéséhez szükséges nagy mennyiségű forrást szükséges lekérdeznie.

SPDY

2009.ben a Google két mérnöke közzétett egy kutatási projektet, amely a SPDY nevet viselte.
A SPDY céljai az alábbiak voltak:

  • egyidejű kérések engedélyezése egyetlen TCP Kapcsolatban, amit úgy ismerhetünk, hogy multiplexing
  • böngészők priorizálhatják, hogy mi az, amit a legfontosabbnak tartanak egy weboldal megjelenítésénél
  • csökkenti a HTTP header méretét és azok számát
  • server push megvalósítása: a szerverek a legfontosabb elemeket már azelőtt elküldik a böngészőnek, hogy az lekérné őket

Fontos megjegyezni, hogy ehhez HTTPS kapcsolat szükséges a böngésző és a szerver között.
A SPDY nem helyettesíti a HTTP-t; inkább egy protokoll csatornája, és módosítja a meglévő HTTP kérések és válaszok küldésének módját. Támogatnia szükséges ezt a protokollt mind a szerver, mind a böngésző részéről, hogy elérhetővé váljon a SPDY. Az NGINX-ben valamint a Google-tól elérhető csomagokkal az Apache-támogatása is elérhetővé vált. Sőt, az összes mai , modern böngésző is támogatja már!

Az alábbi táblázat bemutatja az SPDY böngésző támogatottságát:

HTTP/2

Ez a protokoll-verzió tulajdonképpen azt viszi tovább, amit az SPDY már tudott. Habár a HTTPS kapcsolat , mint követelmény megszűnt, a böngészők csak TLS (HTTPS) esetében támogatják a HTTP/2-t. Ez pedig azt jelenti, hogy csak akkor kezdhetsz gondolkodni a HTTP/2-re való átálláson, ha már HTTPS kapcsolattal használod a weboldalad. Ha ügyfelünk vagy, nálunk ezt Let’s Encrypt tanúsítvánnyal ingyenesen is megteheted!

A HTTP/2 szabányt 2015 februárjában véglegesítették, így egy év elteltével a támogatás a legfrissebb verziójú böngészőkben már adott, ahogy a szervereknél is fokozatosan megtörténik a bevezetés. A W3Techs 2015 júliusában már közölt egy statisztikát a bevezetés arányairól, amely azt mutatja, hogy gyors az elterjedése, ahhoz viszonyítva, mennyire új technológia is ez.

A sikerét annak is köszönheti, hogy a HTTP/2 kompatibilis a HTTP/1-el, így nem jelent problémát az átállás és a weboldalunk az átállást követően is működni fog. Valószínűleg már Ön is évek óta a SPDY vagy HTTP/2 technológiát használja a legnépszerűbb szolgáltatásoknál anélkül, hogy bármit is sejtett volna erről.

Milyen érvek szólnak a HTTP/2 mellett?

  • HTTP/2 bináris a szöveges formula helyett
  • Teljesen multiplexelt. Ez azt jelenti, hogy a HTTP/2 több adatkérést küldhet párhuzamosan egyetlen TCP kapcsolaton keresztül. Ez a HTTP/2 protokoll legfejlettebb szolgáltatása, mivel lehetővé teszi a webes fájlok letöltését ASync móddal egy szerverről. A legtöbb modern böngésző egy szerverre korlátozza a TCP kapcsolatokat. Összességében tehát a HTTP/2 gyorsabban működik, mert folyamatosan nyitva tartja a kapcsolatot és egyszerre nagyobb adatáramlást biztosít. Ez fontos szempont már a SEO kapcsán is, hiszen a weboldalsebesség fontos tényező már évek óta a Google rangsorolásánál.
  • HPACK tömörítést használ a fejlécben, hogy csökkentse a terhelést
  • Lehetővé teszi a kiszolgáló szerverek számára, hogy proaktív módon “tolják” – alias “server push” – a válaszokat az ügyfél böngésző gyorsítótárába, ahelyett, hogy minden alkalommal új kérést indítana. Tehát egy kéréssel indul a folyamat, utána külön kérés nélkül küldi a szükséges adatokat.
  • Az új ALPN kiterjesztést használja, amely lehetővé teszi a gyorsabb titkosított kapcsolatokat, amivel az alkalmazás protokollját a kezdeti kapcsolatnyitás során meghatározzák
  • Csökkenti az oda -vissza út idejét (RTT), ezzel növelve az oldalának a betöltési sebességét, külön optimalizáció nélkül
  • A böngészők már széles körben támogatják.

Forrás: smashingmagazine.com, upwork.com