18. dia HTTP/2 Flashcards

1
Q

(Bevált gyakorlat a késleltetési idő csökkentésére) beágyazás

A

Képek közvetlen beágyazása CSS stíluslapokba.
{
background: url(data:image/png; base64,)
no-repeat;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

(Bevált gyakorlat a késleltetési idő csökkentésére) Spriting

A

Több kép kombinálása egyetlen képállományban.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

(Bevált gyakorlat a késleltetési idő csökkentésére) Sharding

A

A tartalom elosztása több szerveren.
- Érdemes lehet például képeket egy olyan külön webszerverről szolgáltatni, amely nem használ sütiket.
- Kapcsolódó fogalom: tartalomszállító hálózat, CDN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

(Bevált gyakorlat a késleltetési idő csökkentésére) Összefűzés

A

Több CSS stíluslap és JavaScript állomány összefűzése

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(Bevált gyakorlat a késleltetési idő csökkentésére) Kicsinyítés

A

Felesleges karakterek eltávolítása CSS stíluslapokból és JavaScript állományokból anélkül, hogy az erőforrás a bongésző általi feldolgozása módosuljon. Például a whitespace karakterek és megjegyzések eltávolítása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mi a HTTP/2?

A

A HTTP szemantikájának egy optimalizált kifejezésmódja.
- Cél a hálózati erőforrások hatékonyabb használata és a végfelhasználó által megfigyelhető késleltetési idő csökkentése.
- Az egyik fő cél, hogy a klienseknek csak egy kapcsolatot kelljen fenntartaniuk egy szerverrel.
Ugyan azokat a metódusokat, állapotkódokat, fejléceket és URI sémákat használják, mint a HTTP/1.1
- Csak az üzenet formálása és átvitele történik eltérő módon.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

(HTTP/2 újdonságai) Multiplexelés

A

Megvlósítás adatfolyamok használatával.
- Ezek túlnyomórészt egymástól függetlenek, így egy blokkolt vagy beragadt adatfolyam nem akadályozza az előrehaladást más adatfolyamoknak.
Kliens Szerver
Stream 7 -> Stream 9 -> Stream 7 -> Stream 7 -> Stream 5
Data ——-> Headers -> Data ——-> Headers -> Headers
< ————Stream 3 <———Stream 3 <———— Stream 3 <——
<————–Headers <———- Data <——————-Data <———

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(HTTP/2 újdonságai) Forgalomvezérlés és rangsorolás

A

A multiplexelt adatfolyamok hatékony használatát biztosító mechanizmusok.
- A forgalomvezérlés biztosítja, hogy a fogadónak annyi adat kerül továbbításra, amennyit az kezelni tud.
- A rangsorolás biztosítja, hogy a kortlátozottan rendelkezésre álló erőforrások először a legfontosabb adatfolyamokhoz rendelhetők hozzá.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

(HTTP/2 újdonságai) Szerver push

A

Lehetővé teszi a szervernek, hogy spekulatív módon küldjön olyan adatokat egy kliensnek, amelyekre annak előreláthatólag szüksége lesz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(HTTP/2 újdonságai) Bináris protokoll

A

Az üzenetek hatékonyabb feldolgozását teszi lehetővé az üzenetek bináris formálása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

(HTTP/2 újdonságai) Fejlécmezők tömörítése

A

Fejlécmezők tömörítése

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Keretek felépítése grafikon és leírás

A

Hossz 24bit
Típus 8bit | Jelzők 8bit
R | Adatfolyam azonosító 31bit
Adatrész

Hossz - Az adatrész hosszát szolgálja 24-bites előjel nélküli egész
Típus - A keret 8 biten ábrázolt típusa, amely meghatározza a keret felépítését és szemantikáját.
Jelzők - 8 biten ábrázolt logikai jelzők, amelyek jelentése a keret típusától függ
R - Fentartott célú 0 értékű bit, amelynek nincs definiált jelentése
Adatfolyam azonosító - Egy adatfolyamot azonosító 31-bites előjel nélküli egész.
Adatrész - Felépítése és típusa a keret típusától függ.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Keretek fajtái

A

0x0 DATA - Üzenet payload átvitele
0x1 HEADERS - Adatfolyam megnyitása és egy fejléc blokk töredék továbbítása
0x2 PRIORITY - Adatfolyam priotitásának előírása
0x3 RST_SYSTEM - Adatfolyam azonnali megszüntetése
0x4 SETTINGS - Konfigurációs paraméterektovábbítása, vétel nyugtázása
0x5 PUSH_PROMISE - Előzetes értesítés a küldő által létrehozni kívánt adatfolyamról
0x6 PING - Minimális körbefordulási idő
0x7 GOAWAY - Kapcsolat lezárásának kedvezményezése
0x8 WINDW_UPDATE - Forgalomvezérlés megvalósítása
0x9 CONTINUATION - Fejléc blokk töredékek sorozatának folytatása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Adatfolyamok jellemzői

A

Egyetlen HTTP/2 kapcsolat több egyidejű adatfolyamból áll.
Egyoldalúan lehet létrehoznia a kliensnek vagy szervernek (a másik megkérdezése nélkül) ezt persze mind a ketten használhatják.
Mind a két végpont lezárhatja.
A fogadó a keretek feldolgozását abban a sorrendben csinálja ahogy azokat kapja.
Egy előjel nélküli egész szám azonosítja az egyes adatfolyamokat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Adatfolyamok azonosítása

A

32-bites előjel nélküli egész szám, amelyet a létrehozója rendel hozzá.
- Kliens páratlan számot, míg a szerver párosat rendel hozzá.
Új adatfolyam létrehozásakor annak azonosítója nagyobb kell, hogy legyen a kedvezményező fél összes létrehozott vagy fenntartott azonosítójánál.
Nem újrafelhasználhatóak.
Hosszan tartó kapcsolatok esetében elfogyhat a lehetséges azonosító, ekkor új kapcsolatot kell létrehozni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

HTTP/2 kérés/válasz váltás

A

A kliens minden HTTP kérést egy új adatfolyamon küld el a szervernek, amelyhez egy előzőleg nem használt adatfolyam azonosítót használ.
A válasza szervertől ezen az adatfolyamon fog visszamenni.
Ennek során az adatfolyam ‘elhasználódik’ és a választ záró keret lezárja a folyamot.

17
Q

Fejléc mezők, pszeudo-fejlécmezők

A

A fejlécmezők nevét kisbetűssé kell alakítani a HTTP/2 szerinti kódolásuk előtt.
A HTTP/1.x üzenetekkel ellentétben a HTTP/2 ‘:’ karaktert használ a kezdősorában ábrázolt információknál, ez a pszeudo-fejlécmező. Ezek nem HTTP fejlécmezők, meg kell, hogy előzzék azt.
Kérés :
method - A HTTP metódust tartalmazza.
scheme - A cél URI séma részét tartalmazza.
authority - Host megfelelője, a cél URI autoritását tartalmazza.
path - A cél URI útvonalát és lekérdezés részét tartalmazza.
Válasz :
status - A HTTP állapotkódot hordozza, minden válasznak tartalmaznia kell.
CONNECT kévételével a :method, :scheme és :path mezőket minden kérésnek tartalmaznia kell.