HTTP alapok Flashcards

(49 cards)

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
200
- 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
201
- 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
202
- Accepted - A kérés elfogadásra került, de a feldolgozása nem fejeződött be.
28
204
- 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
206
- 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
300
- 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
301
- 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
302
- Found - A cél erőforrás ideiglenesen egy másik URI alatt található.
33
303
- 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
304
- 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
400
- 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
401
- Unauthorized - A kérés nem tartalmaz érvényes hitelesítő adatokat a cél erőforráshoz.
37
403
- 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
404
- 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
405
- Method Not Allowed - Az eredet szerver ismeri ugyan a metódust, de a cél erőforrás nem támogatja azt
40
500
- 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
501
- 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
503
- 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
Átirányítás, a Location fejlécmező
- 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
Tartalomegyeztetés
- 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
proaktív egyeztetés
- 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
proaktiv egyeztetes elonyok
- 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
proaktiv egyeztetes hatranyok
- 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
Az Accept fejlécmező
- É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
HTTP/1.1 üzenetformátum
- 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).