HTTP alapok Flashcards

1
Q

A http és https URI-séma

A
  • A HTTP definiálja a http és https URI sémákat.
    • Egy http vagy https URI eredet szerverét a hoszt azonosító és az
      opcionális portszám határozza meg.
    • Az útvonal komponens és az opcionális lekérdezés komponens egy
      lehetséges cél erőforrást azonosít az eredet szerver névterében.
  • Egy http vagy https URI előfordulása nem jelenti azt, hogy mindig
    egy HTTP szerver figyel az URI által meghatározott eredet szerveren.
  • A https sémán keresztül elérhető erőforrásoknak nincs közös
    identitása a http sémával.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

http URI séma

A

Célja, hogy lehetővé tegye erőforrások azonosítását egy olyan
potenciális eredet szerveren, mely egy adott porton vár TCP
kapcsolatokra.
- 80-as port

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

https URI séma

A

Célja, hogy lehetővé tegye erőforrások azonosítását egy olyan
potenciális eredet szerveren, mely egy adott porton vár TCP
kapcsolatokra és mely képes HTTP kommunikációhoz biztonságossá tett TLS kapcsolat létrehozására.
- 443-mas port

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

Üzenet keretezés

A

A HTTP minden egyes főverziója saját szintaxist határoz meg az
üzenetváltáshoz, melyet keretezési mechanizmusnak (framing
mechanism) is neveznek.

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

Üzenet absztrakció

A
  • Ez az üzenet absztrakció egy több HTTP verziót átfogó általánosítás, melynek vannak olyan lehetőségei, melyek bizonyos verziókban nem találhatók meg.
  • Az üzeneteket önleírónak szánják, azaz minden, amit egy fogadónak tudnia kell az üzenetről, megállapítható a (dekódolt) üzenet vizsgálatával.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Üzenet absztrakció: vezérlő adatok

A

Az üzenetek az elsődleges céljukat leíró vezérlő adatokkal kezdődnek.

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

Üzenet absztrakció: fejléc szakasz

A
  • A tartalom előtt küldött vagy fogadott mezőket fejlécmezőknek (vagy informálisan egyszerűen fejléceknek) nevezzük.
  • Egy üzenet fejléc szakasza fejléc mezősorok egy sorozatából áll.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Üzenet absztrakció: tartalom

A
  • A HTTP üzenetek egy teljes vagy részleges reprezentációt
    hordozhatnak az üzenet tartalmaként.
  • bytefolyamkent mukodik
  • a tartalom celjat egy keresben a metodus hatarozza meg, pl post
  • egy allapotkod is jon a valaszban
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Üzenet absztrakció: lezáró szakasz

A
  • A tartalom után küldött vagy fogadott mezőket lezáró mezőknek
    (vagy informálisan egyszerűen lezáróknak) nevezzük.
  • ellenorzo osszeg, digitalis alairas, kezbesitesi metrika vagy utofeldolgozas allapot infomacio lehet benne
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mezők

A
  • A HTTP mezőket használ adatok név/értek párok formájában történő szolgáltatásához.
  • A mezők küldése és fogadása az üzenetek fejléc és lezáró szakaszaiban történik.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

miket tovabbitanak a mezok?

A
  1. magát az üzenetet leíró metaadatok kérésekben és válaszokban (például Date),
  2. reprezentáció metaadatok kérésekben és válaszokban (például Content-Type),
  3. információk a kliensről kérésekben (például User-Agent),
  4. információk a szerverről válaszokban (például Server),
  5. erőforrás metaadatok válaszokban (például Last-Modified).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Mezőnevek

A
  • Egy mezőnév egy vagy több karakterből álló olyan sorozat, melyben az US-ASCII karakterkészlet egy részhalmaza használható csak.
  • A mezőnevek kisbetű-nagybetű érzéketlenek.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Mezőértékek

A
  • Egy mezőérték egy olyan karaktersorozat, mely egy vagy több nyomtatható US-ASCII karakterből, szóközből és vizszintes tabulátorból áll.
  • A vezető és záró whitespace karaktereket a felhasználás előtt el kell távolítani.
  • A mezőkhöz előírható, hogy egyetlen tagot vagy pedig egy vesszővel elválasztott taglistát hordozzanak.
  • Minden egyes mező korlátozhatja a megengedett értékek halmazát.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Mezőszakaszok

A
  • Tetszőleges számú olyan mezősorból állnak, melyek mindegyike egy mezőnevet és egy hozzá tartozó mezősor értéket tartalmaz.
  • Amikor egy mezőnév megismétlődik egy szakaszban, az értéke egy olyan lista, melyben a mező a szakaszbeli mezősor értékei az előfordulásuk sorrendjében kerülnek összefűzésre elválasztóként egy vessző karakterrel.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A User-Agent fejlécmező

A
  • A felhasználói ágensről tartalmaz információkat, ahonnan a kérés származik.
  • Felhasználható a válasz testreszabásához vagy pedig böngésző vagy operációs rendszer használatra vonatkozó elemzésekre.
  • A felhasználói ágens számára ajánlott minden egyes kérésben elküldeni a fejlécmezőt.
  • A mezőérték egy vagy több termékazonosítóból áll, melyek mindegyikét nulla vagy több megjegyzés követi.
    • A termékazonosítók felsorolása a fontosságuk szerinti csökkenő sorrendben történik.
    • Minden egyes termékazonosító egy névből és egy opcionális verziószámból áll.
    • A megjegyzéseket zárójelek határolják.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Melyik metodusokat kell tamogatnia minden szervernek?

A

Minden általános célú szervernek támogatnia kell a GET és a HEAD metódusokat, az összes többi metódus opcionális.

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

GET metódus

A
  • A cél erőforrás egy aktuális kiválasztott reprezentációjának átvitelét kérelmezi.
  • Az információ-visszakeresés elsődleges mechanizmusa.
  • Egy kliens úgy módosíthatja a GET jelentését a kérésben a Range fejlécmező küldésével, hogy az csak a kiválasztott reprezentáció bizonyos részeinek átvitelét kérelmezi.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

HEAD metódus

A
  • Azonos a GET metódussal, azzal a különbséggel, hogy a szerver nem küldhet tartalmat a válaszban.
  • Úgy használható metaadatok szerzésére a kiválasztott reprezentációról, hogy reprezentáció adatok nem kerülnek átvitelre.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

POST metódus

A
  • Azt kérelmezi, hogy a cél erőforrás dolgozza fel a kérésben mellékelt reprezentációt a saját szemantikájának megfelelően.
  • Tipikus felhasználások:
    • Adatok (például űrlap adatok) küldése egy adatfeldolgozó folyamat számára.
    • Egy üzenet postázása egy hírcsoportba, levelezési listára vagy blogba.
    • Egy új erőforrás létrehozása.
    • Adatok hozzáfűzése egy erőforrás létező reprezentációjához.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

PUT metódus

A
  • Azt kérelmezi, hogy a kerüljön létrehozásra vagy helyettesítésre a cél erőforrás állapota a kérésben mellékelt reprezentáció által meghatározott állapottal.
  • Egy adott reprezentációt tartalmazó sikeres PUT kérés arra enged következtetni, hogy egy következő GET kérés ugyanarra a cél erőforrásra egy 200 (OK) állapotkódú válaszban elküldött ekvivalens reprezentációt eredményez.
21
Q

DELETE metódus

A
  • Azt kérelmezi, hogy az eredet szerver törölje a cél erőforrás és aktuális funkcionalitása közötti kapcsolatot.
  • Ha a cél erőforrásnak egy vagy több aktuális reprezentációja van, akkor ezeket az eredet szerver vagy megsemmisíti, vagy nem, a kapcsolódó tárterület vagy felszabadításra kerül, vagy nem, teljes egészében az erőforrás természetétől és az eredet szerver általi implementációjól függően.
  • Viszonylag kevés erőforrás engedi meg a DELETE metódust.
22
Q

Állapotkódok, állapotkódok fajtái

A
  • 1xx (informáló): a kapcsolat állapotát vagy a kérés előrelhaladását
    közlő köztes választ jelez egy végső válasz küldése előtt.
  • 2xx (siker): azt jelzi, hogy a kérés sikeresen fogadásra, értelmezésre és
    elfogadásra került.
  • 3xx (átirányítás): azt jelzi, hogy a felhasználói ágens további
    műveletet kell, hogy végrehajtson a kérés teljesítéséhez, melyet
    automatikusan elvégezhet.
  • 4xx (kliens hiba): azt jelzi, hogy a kérés rossz szintaxisú vagy nem
    teljesíthető.
  • 5xx (szerver hiba): azt jelzi, hogy a szerver nem teljesített egy
    nyilvánvalóan érvényes kérést.
23
Q

100

A
  • Continue
  • A szerver megkapta a kérés bevezető részét és még nem utasította el. A szerver azután kíván egy végső
    választ küldeni, ha a teljes kérést megkapta és megfelelően járt el.
24
Q

101

A
  • Switching Protocols
  • A szerver készen áll a kapcsolaton használt alkalmazási
    protokoll lecserélésére.
25
Q

200

A
  • OK
  • A kérés sikeres volt. A válaszban küldött tartalom a metódustól függ. Például egy GET kérésre adott válasz tartalma a cél erőforrás egy
    reprezentációja.
26
Q

201

A
  • Created
  • A kérés teljesítésre került, eredményül egy vagy több új erőforrás került létrehozásra
27
Q

202

A
  • Accepted
  • A kérés elfogadásra került, de a feldolgozása nem fejeződött be.
28
Q

204

A
  • No Content
  • A szerver sikeresen teljesítette a kérést, de a válaszban nem kerül küldésre további tartalom.
29
Q

206

A
  • Partial Content
  • A szerver sikeresen teljesített egy tartományra vonatkozó kérést a kiválasztott reprezentáció
    egy vagy több részének átvitelével.
30
Q

300

A
  • Multiple Choices
  • A cél erőforrásnak egynél több reprezentációja van. HEAD kérés kivételével ajánlott a válaszban
    tartalomként egy reprezentáció metaadatokból és URI hivatkozásokból álló lista elhelyezése, melyből a felhasználói ágens kiválaszthatja a számára
    legmegfelelőbbet.
31
Q

301

A
  • Moved Permanently
  • A cél erőforrás URI-ja véglegesen megváltozott, a rá való további hivatkozásokhoz a mellékelt URI-k egyikét kellene használni.
32
Q

302

A
  • Found
  • A cél erőforrás ideiglenesen egy másik URI alatt található.
33
Q

303

A
  • See Other
  • A szerver a felhasználói ágenst egy másik erőforrásra irányítja át, melynek célja, hogy egy közvetett választ
    adjon az eredeti kérésre.
34
Q

304

A
  • Not Modified
  • A szerver egy feltételes GET vagy HEAD kérést kapott. Nincs szükség arra, hogy elküldje a cél erőforrás
    reprezentációját, mivel a kérés azt jelzi, hogy a kliens érvényes reprezentációval rendelkezik.
35
Q

400

A
  • Bad Request
  • A szerver nem tudja vagy nem fogja feldolgozni a kérést valamilyen kliens hiba miatt (például a kérés
    szintaktikailag hibás).
36
Q

401

A
  • Unauthorized
  • A kérés nem tartalmaz érvényes hitelesítő adatokat a cél erőforráshoz.
37
Q

403

A
  • Forbidden
  • A szerver ugyan megértette a kérést, de megtagadja a teljesítését. Ha a kérésben hitelesítő adatok vannak,
    akkor azokat nem megfelelőnek tekinti a szerver a hozzáféréshez.
38
Q

404

A
  • Not Found
  • Az eredet szervernek nincs a cél erőforráshoz aktuális reprezentációja vagy nem kívánja azt nyilvánosságra
    hozni.
39
Q

405

A
  • Method Not Allowed
  • Az eredet szerver ismeri ugyan a metódust, de a cél erőforrás nem támogatja azt
40
Q

500

A
  • Internal Server Error
  • Olyan váratlan körülmény lépett fel a szerveren, mely megakadályozza a kérés teljesítését.
41
Q

501

A
  • Not Implemented
  • A szerver nem támogatja a kérés teljesítéséhez szükséges funkcionalitást (például metódust).
42
Q

503

A
  • Service Unavailable
    A szerver jelenleg nem képes a kérés kezelésére például ideiglenes túlterhelés vagy menetrend szerinti karbantartás miatt.
43
Q

Átirányítás, a Location fejlécmező

A
  • Amikor pl egy http oldalt akarunk meglatogatni, de az atkerult https-re, es atiranyit minket.
  • Ez a 301-es kod lesz, es a location fejlec mezoben van az uj url
44
Q

Tartalomegyeztetés

A
  • Amikor a válaszok (akár sikert, akár hibát jelző) tartalmat hordoznak, az eredet szerver gyakran többféle módon is ábrázolhatja a tartalmat, például különböző formátumokban, nyelveken vagy kódolásokkal.
  • A különböző felhasználóknak vagy felhasználói ágenseknek ugyancsak eltérő képességei, jellemzői vagy preferenciái lehetnek, melyek befolyásolhatják, hogy a rendelkezésre álló reprezentációk közül melyik lenne számukra a legjobb.
  • Ezért biztosít a HTTP a tartalomegyeztetéshez mechanizmusokat.
45
Q

proaktív egyeztetés

A
  • Az előnyben részesített reprezentációt egy algoritmussal választja ki
    az eredet szerver a felhasználói ágens preferenciái alapján.
  • A választás a válaszhoz rendelkezésre álló reprezentációk és a
    kérésben szolgáltatott különféle információk – beleértve az explicit
    tartalomegyeztetési fejlécmezőket, a - User-Agent mező részeit és az
    olyan implicit jellemzőket, mint például a kliens hálózati címe –
    összehasonlítása alapján történik.
  • Proaktív egyeztetésnek alávetett válaszban gyakran kerül küldésre a
    Vary fejlécmező annak jelzésére, hogy a kérés mely részei kerültek
    felhasználásra a kiválasztási algoritmusban.
46
Q

proaktiv egyeztetes elonyok

A
  • Amikor nehéz egy felhasználói ágens számára leírni a rendelkezésre
    álló reprezentációk közüli választás algoritmusát, vagy
  • amikor a szerver az első válaszban el kívánja küldeni a felhasználói
    ágensnek az általa legjobbnak becsült reprezentációt, elkerülendő egy
    további kérést.
47
Q

proaktiv egyeztetes hatranyok

A
  • Lehetetlen a szerver számára annak pontos meghatározása, hogy mi
    lenne a legjobb egy tetszőleges felhasználónak, mivel ehhez kimerítő
    ismeretek lennének szükségesek a felhasználói ágens képességeiről és a
    válasz tervezett felhasználási módjáról.
  • Nagyon nem hatékony a felhasználói ágens képességeit minden
    kérésben leírni, ez egyben a felhasználó magánszférájára is egy
    lehetséges kockázatot jelenthet.
  • Bonyolítja az eredet szerver megvalósítását és a kérésekre válaszokat előállító algoritmusokat.
  • Korlátozza a válaszok újrafelhasználhatóságát megosztott
    gyorsítótárazáshoz.
48
Q

Az Accept fejlécmező

A
  • Értéke média tartományok egy vesszővel elválasztott listája, melyben
    minden egyes média tartományt 0 vagy több médiatípus paraméter
    (például charset) valamint egy opcionális relatív súly (azaz q
    paraméter) követhet.
  • Média tartomány:
    • /: az összes médiatípust jelenti
    • type/: az adott típus összes altípusát jelenti (például text/)
    • type/subtype: az adott médiatípust jelenti (például text/html)
49
Q

HTTP/1.1 üzenetformátum

A
  • Az üzenetek egy kezdősorral (start-line) kezdődnek, melyet CRLF
    követ.
  • A kezdősort nulla vagy több fejlécsor követi, melyeket együttesen
    fejléceknek vagy fejléc szakasznak neveznek.
  • Egy üres sor jelzi a fejléc szakasz végét.
  • Opcionálisan szerepelhet az üzenet végén egy üzenettörzs (message
    body).