Vizsgatémák 5 HTTP alapok Flashcards
HTTP alapok
Mi a HTTP?
Állapotnélküli alkalmazásszintű kérés/válasz protokollok egy családja.
Ki fejleszti a HTTP-t?
Kezdetben az IETF és W3C közösen, ma már csak az IETF.
Mi az egységes interfész?
Egységes interfész van biztosítva erőforrásokkal való interakciókhoz.
Mi az állapotnélküli protokoll?
Minden egyes kérés jelentése a többiétől külön értelmezhető.
Mit jelent a kiterjeszthetőség?
Olyan pontok melyek új verzió kiadása nélkül fejleszthetők és bővíthetők.
Melyek az általános kiterjesztési pontok?
Metódusok
Állapotkódok
Mezők
Hitelesítési sémák
Tartomány egységek
Tartalomkódolás
Milyen URI sémákat definiál a HTTP?
http és https.
Mi határozza meg egy http vagy https URI eredet szerverét?
A hoszt azonosító és az opcionális portszám.
Mi azonosít egy lehetséges cél erőforrást?
Az útvonal komponens és az opcionális lekérdezés komponens.
Mi a http és https URI séma szintaxisa?
“http:://” host [”:” port] [útvonal] [”?” lekérdezés]
alapértelmezett a 80as portszám
“https://” host [”:” port] [útvonal] [”?” lekérdezés]
alapértelmezett a 443as portszám
Mit jelent az üzenet absztrakció?
RFC 9110 alapján egy üzenet a következőkből áll:
Vezérlő adatok
Fejléc szakasz
Tartalom
Lezáró szakasz
Mit jelent az önleíró tulajdonság?
Mindent amit az üzenetről tudni kell, megállapítható az üzenet vizsgálatával.
Mit tartalmaznak a vezérlő adatok mező?
Kérésben: metódust, kérés célt és protokoll verziót
Válaszban: állapotkódot, opcionális indok frázist és a protokoll verziót
Mi a fejléc szakasz?
A tartalom előtt küldött mezők a fejléc szakasz részei
Mit tartalmaz a tartalom?
Egy teljes vagy részleges reprezentációt hordozhatnak a HTTP üzenetek.
A Content-Type és Content-Encoding általt meghatározott formátumban és kódolásban van.
Mi határozza meg a tartalom célját?
Kérésben a metódus szemantika
Válaszban a kérés metódus, az állapotkód és a tartalmat leíró mezők.
Mi és mit tartalmaz a lezáró szakasz?
A tartalmat követő mezőket lezáró szakasznak nevezzük.
Ellenőrző összegek, digitális aláírások, kézbesítési metrikák stb tartalmazhat
Milyen formában küld a HTTP adatot mezőkben?
Név és érték párok formájában adatokat.
Mit tartalmaznak a mezőK?
Üzenetet leíró metaadatok (pl Date)
Reprezentáció metaadatok (pl Content-Type)
Információk a kliensről a kérésben (pl User-Agent)
Információk a szerverről a válaszban (pl server)
Erőforrás metaadatok a válaszban (pl Last-Modified)
Ki adminisztrálja a HTTP mezőket?
IANA.
Milyen mező tartalmaz a felhasználói ágensről információkat?
A User-Agent fejlécmező, ahonnan a kérés származik.
Mire valók a metódusok?
Jelzik a kérések célját.
Milyen szabványos metódusok léteznek?
GET
HEAD
CONNECT
DELETE
PUT
POST
OPTIONS
TRACE
Jellemezd a GET metódust!
Az erőforrás kiválasztott reprezentációjának átvitelét kérelmezi.
Fejléc mezőben Range küldésével a kiválasztott reprezentáció bizonyos részeit küldi el.
Jellemezd a HEAD metódust!
Azonos a GET metódussal, csak a szerver nem küldhet tartalmat a válaszban. Metaadatok szerzésére használják, úgy, hogy a reprezentáció nem kerül átvitelre.
Jellemezd a POST metódust!
Azt kérelmezi, hogy a cél dolgozza fel a kérelemben mellékelt reprezentációt.
Jellemezd a PUT metódust!
Azt kérelmezi, hogy a cél erőforrás reprezentációja legyen helyettesítve a kérelemben mellékelt reprezentációban meghatározott állapottal.
Melyek a PUT és a POST közötti különbségek?
A POST a mellékelt reprezentációt hivatott kezelni, míg a PUT helyettesíteni hivatott.
Jellemezd a DELETE metódust!
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.
Jellemezd az OPTIONS metódust!
A cél erőforrás a kommunikációs opcióiról rendelkezésre álló információkat kér.
Jellemezd a TRACE metódust!
A kérés visszaküldését kérelmezi. A végső fogadó kell visszaküldje 200-as állapotú tartalommal rendelkező üzenetet.
Sorold fel az állapotkódok fajtáit első számjegyük alapján!
1xx informáló - kapcsolat állapotát
2xx siker - sikeresen fogadta a cél, értelmezte
3xx átirányítás - a felhasználói ágens további műveletet kell végrehajtson a kérés elvégzéséhez, automatikusan elvégzendő
4xx kliens hiba - a kérés rossz szintaxisú vagy nem teljesíthető
5xx szerver hiba - a szerver nem teljesített egy érvényes kérést
Mit jelent a tartalomegyeztetés?
A felhasználói ágensek befolyásolhatják, hogy melyik reprezentáció lenne számukra a legalkalmasabb (nyelv, kódolás, formátum stb.) és az eredet szerver azt ábrázolja számukra.
Milyen tartalomegyeztetési minták léteznek?
Proaktív egyeztetés - szerver választja ki a felhasználói ágens kifejezett preferenciái alapján
Reaktív egyeztetés - szerver választásra kínálja a felhasználói ágensnek a reprezentációk listáját
Jellemezd a proaktív egyeztetést!
Algoritmus választja ki a felhasználói ágens preferenciái alapján. A kérésben szereplő információk alapján is dönt (pl. kliens hálózati címe stb.). Gyakran Vary fejlécmezőt küld vissza, hogy jelezze melyik változat került elküldésre.
Melyek az előnyei és a hátrányai a proaktív egyeztetésnek?
Előnye az, hogy további kérés nélkül első válaszban küldi a legjobbnak vélt reprezentációt és megkönnyíti a felhasználói ágens feladatát ha nem tudja az leírni a reprezentációk közötti választás algoritmusát.
Hátránya, hogy lehetettlen a legjobb reprezentációt első kézből kínálni, mivel nem ismeri a felhasználói ágenst. Nehéz a felhasználói ágens adatait minden kérésben leírni és kockázatos.
Jellemezd a reaktív egyeztetést!
A reprezentáció kiválasztását a felhasználói ágens végzi, miután kapott egy kezdetleges listát.
Melyek a reaktív egyeztetés előnyei illetve hátrányai?
Előnyös ha az eredet szerver nem tudja felmérni a felhasználói ágens képességeit.
Hátránya az, hogy legalább két kérés szükséges a megfelelő reprezentáció küldéséhez.
Mire való az Accept fejlécmező?
A válasz médiatípus preferenciák megadására szolgál.
Értéke média tartományok egy vesszővel elválasztott listája valamint egy opcionális relatív súly.
Milyen média tartományok léteznek?
/ összes médiatípus
type/* adott típus összes altípusa
type/subtype adott médiatípus
Mi a HTTP/1.1 üzenet szintaxisa?
Kezdősor
CRLF
Fejlécsor (lehet 0 vagy több)
Üres sor (fejléc szakasz végét jelöli)
Üzenettörzs (opcionális)
Hogyan épül fel a kezdősor?
Kérés esetén:
metódus kérés-cél “HTTP/1.1”
Válasz esetén
“HTTP/1.1” állapotkód indok_frázis