HTTP alapok Flashcards
A http és https URI-séma
- 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 eredet szerverét a hoszt azonosító és az
- 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.
http URI séma
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
https URI séma
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
Üzenet keretezés
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.
Üzenet absztrakció
- 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.
Üzenet absztrakció: vezérlő adatok
Az üzenetek az elsődleges céljukat leíró vezérlő adatokkal kezdődnek.
Üzenet absztrakció: fejléc szakasz
- 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.
Üzenet absztrakció: tartalom
- 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
Üzenet absztrakció: lezáró szakasz
- 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
Mezők
- 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.
miket tovabbitanak a mezok?
- magát az üzenetet leíró metaadatok kérésekben és válaszokban (például Date),
- reprezentáció metaadatok kérésekben és válaszokban (például Content-Type),
- információk a kliensről kérésekben (például User-Agent),
- információk a szerverről válaszokban (például Server),
- erőforrás metaadatok válaszokban (például Last-Modified).
Mezőnevek
- 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.
Mezőértékek
- 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.
Mezőszakaszok
- 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.
A User-Agent fejlécmező
- 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.
Melyik metodusokat kell tamogatnia minden szervernek?
Minden általános célú szervernek támogatnia kell a GET és a HEAD metódusokat, az összes többi metódus opcionális.
GET metódus
- 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.
HEAD metódus
- 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.
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.
- 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.