5. dia HTTP Flashcards
http és https URI sémák
A HTTP definiálja a http és https URI sémákat.
Az URI eredetszerverét a host és a port határozza meg.
Az útvonal és a lekérdezés komponensek határozzák meg egy lehetséges cél erőforrást az eredet szerver névterében.
Az, hogy ezek az URI-ban előfordulnak nem jelenti aztm, hogy mindig egy HTTP szerver figyel az URI eredet szerverében.
A https sémán keresztül elérhető erőforrásoknak nincs közös identitása a http sémával.
http URI séma
Célja, hogy lehetővé tegye erőforrások azonosítását egy olyan potenciális erdet szerveren, amely egy adott porton vár TCP kapcsolatokra.
Szintaxis:
“http://” …
https URI séma
Célja, hogy lehetővé tegye erőforrások azonosítását egy olyan potenciális eredet szerveren, amely egy adott porton vár TCP kapcsolatokra és amely HTTP kommunikációshoz biztonságossá tett TLS kapcsolat létrehozására.
Szintaxis:
“https://”
Üzenet absztrakció
Az RFC 9110 szerint az üzenetek absztrakciójának ezekből kell állnia:
- Vezérlő adatok: Az üzenetek elsődleges célját írja le.
- Fejléc szakasz: A tartalom előtt küldött vagy fogadott mezők.
- Tartalom: A HTTP üzenetek egy teljes vagy részleges reprezentációt hordozhatna az üzenet tartalmaként.
- Lezáró szakasz: A tartalom után küldött vagy fogadott mezőket lezáró mezőknek nevezzük.
Mezők
A HTTP mezőket használ adatok név/érték párok formájában történő szolgáltatásához.
Felelős az üzenetet leíró, reprezentációs és erőforrás metadatokért valamint információkért a klien és a szerver felől. A fejlécben vagy a lezáró szakaszban van.
Mezőnév: Csak US-ASCII karakterek használhatók benne.
Mezőérték: +szóköz, vizszintes tabulátor, nyomtatható
Mezőszakasz: Tetszőleges számú mezősorból áll, ahol egy mezőnév és egy mezősor érték van.
User-Agent fejlécmező
A felhasználói ágensről tartalmaz információkat, ahonnan a kérés származik. Használható testreszabásra, böngésző vagy OP rendszer használatára vonatkozó elemzésre. Minden kérésnél érdemes elküldeni a fejlécmezőt.
Metódusok
Elsődlegesen a metódusok jelzik a kérések célját.
GET metódus
A célerőforrás egy aktuális kiválasztott reprezentációjának átvitelét kérelmezi.
Az információ-visszakérés elsődleges mechanizmusa.
HEAD metódus
Azonos a GET-el azzal a különbséggel, hogy a szerver nem küldhet tartalmat a válaszban.
Metadatok szerzésére alkalmas, hiszen nem küld reprezentációt.
POST metódus
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.
Felhasználható:
Adatok küldése egy adatfeldolgozónak.
Egy üzenet POST-olása egy blogra, hírcsoportba.
Egy új erőforrás létrehozása.
Adatok hozzáfűzése egy erőforrás létező reprezentációjához.
PUT metódus
Azt kérelmezi, hogy 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.
DELETE metódus
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. Kéves erőforrás engedi meg a DELETE metódust.
Állapotkódok, állapotkódok fajtái
Egy válasz állapotkódja egy olyan háromjegyű decimális egész szám, amely segítségével a kérés eredményét és a válasz jelentését írja le, beleértve azt, hogy sikeres volt-e a kérés és hogy milyen tartalom van benne mellékelve.
Tartománya:
100 és 599 között
Első számjegy alapján a fajtái:
1xx: (informáló) : kapcsolat állapot, előrejelzés..
2xx (siker) : azt jelzi, hogy a kérés sikeresen el lett fogadva.
3xx (átirányítás) : azt jelzi, hogy a felhasználói ágensnek valami további műveletet kell elvégeznie
4xx (kliens hiba) : a kérés rossz szintaxisú vagy nem teljesíthető
5xx (szerver hiba) : a szerver nem teljesített egy nyilvávalóan érvényes kérést
Átirányítás, a Location fejlécmező
A Location HTTP fejlécmzeő az átirányítás célpontját adja meg (URI). Általában a 3xx-as állapotkóddal használatos. Tartalmazhat abszolút és relatív URL-t. A kliens autómatikusan új kérést indít az URI-nak.
Tartalom egyeztetés, proaktiv egyeztetés
A tartalom ábrázolására a szervereknek gyakran többféle módja. A felhasznóli ágenseknek pedig eltérő képességeik, jellemzőik és preferenciáik lehetnek. A számukra legjobb reprezentációt kell biztosítaniuk a szervernek, erre jó a Tartalom egyeztetés.
Proaktív egyeztetés: A szerver választja ki a reprezentációt a felhasználói ágens kifejezett preferenciái alapján. Ezeket a User-Agent mezőből nyeri ki.
Reaktív egyeztetés: A szerver választásra kínálja fel a felhasználói ágensnek a reprezentációk listáját.