7A. Tétel: Web
A web működésének alapjai.
Az erőforrások azonosítása URI-knak nevezett globális azonosítókkal történik. A web ágensek szabványos protokollok segítségével kommunikálnak, melyek üzenetcserén alapulnak. Egy üzenet tartalmazhat adatokat, valamint metaadatokat az erőforrásról, az üzenet adatokról és magáról az üzenetről A protokoll korlátozza az átvihető reprezentáció adatok és metaadatok formátumát. A Web maga nem korlátozza a tartalomszolgáltatók által használható adatformátumokat.
Web szabványok és szabványügyi szervezetek.
Szabványügyi szervezetek közzé tartozik például az ISO, IETF, az Ecma International, valamint a W3C is. IETF: Internet szabványokat fejlesztő nemzetközi szabványügyi szervezet Az IETF fejleszti például az Internet protokollkészletet Nincs formális tagság, sem tagsági díj, bárki számára nyílt a részvétel lehetősége.
URI-k és felépítésük.
URI jelentése: Egységes erőforrás-azonosító, Absztrakt vagy fizikai erőforrást azonosító tömör karaktersorozat. Egy erőforrás nem feltétlenül érhető el a Weben. Minden URI egy sémanévvel kezdődik, melyet egy kettőspont karakter választ el a séma-specifikus résztől. A séma-specifikus rész szintaxisát és jelentését sémaspecifikációk határozhatják meg bizonyos korlátok között. Az URI sémákat adminisztráló szerv az IANA, hierarchikus felépítésű. A komponensek felsorolása balról jobbra haladva fontosság szerint csökkenő sorrendben történik.
HTTP: kérések és válaszok felépítése, metódusok, állapotkódok, tartalomegyeztetés, sütik.
Kérések
Egy kérés kezdősora az alábbi felépítésű: metódus kérés-cél HTTP-verzió CRLF. A kérés-cél a cél erőforrást azonosítja, melyre a kérés vonatkozik. Kizárólag OPTIONS metódus esetén megadható '*' kérés-célként.
Válaszok
Válasz: Az üzenet első sorát állapotsornak nevezzük. HTTP-verzió állapotkód indok_frázis CRLF Az állapotkód egy háromjegyű decimális egész szám, melyet az állapotkód tömör szöveges leírása követ.
Metódusok
A http a GET, HEAD, POST, PUT, DELETE. CONNECT, OPTIONS, TRACE metódusokat definiálja. A metódusnevek kisbetű-nagybetű érzékenyek. A metódusok jelentését tovább finomíthatja fejlécmezők jelenléte a kérésben. Minden általános célú szervernek támogatnia kell a GET és a HEAD metódusokat, az összes többi metódus opcionális. A HTTP által definiáltokon túl további metódusok is szabványosításra kerültek. Az IANA adminisztrálja a HTTP metódusokat. 501 állapotkód azt jelzi egy válaszban, hogy az eredet szerver nem ismeri fel vagy nem implementálja a kérés metódusát. A 405 állapotkód azt jelzi egy válaszban, hogy az eredet szerver ismeri ugyan a metódust, de a cél erőforrás nem támogatja azt.
Állapotkódok
Az állapotkódok háromjegyű decimális egész számok. Az első számjegy az állapotkód fajtáját határozza meg. A klienseknek nem kell megérteniük minden regisztrált állapotkód jelentését. Állapotkódok fajtái: 1xx: (információs) A végső válasz küldését megelőző előzetes választ jelez. 2xx: A szerver sikeresen megkapta, megértette és elfogadta a kérést, 3xx: Átirányítás, 4xx kliens hiba, 5xx szerver hiba.
Tartalomegyeztetés
A tartalomegyeztetés (content negotiation) egy olyan mechanizmus, mely révén kiválasztható egy adott kéréshez legmegfelelőbb reprezentáció. A HTTP/1.1 az alábbi két tartalomegyeztetési mintát definiálja: – Proaktív a szerver választja ki a reprezentációt a felhasználói ágens kifejezett preferenciái alapján. Ezt hívják szerver-vezérelt tartalomegyeztetésnek is. Reaktív: a szerver választásra kínálja fel a felhasználói ágensnek a reprezentációk kizáróak. listáját. Ezt hívják ágens-vezérelt tartalomegyeztetésnek is. További minták is léteznek, a különböző minták nem kölcsönösen.
Sütik
Egy név-érték pár és kapcsolódó metaadatok, melyeket egy eredet szerver egy válasz Set-Cookie fejlécmezőjében küld a felhasználói ágensnek. Felhasználása: munkamentre, testre szabásra, felhasználó követésre. Amikor a felhasználói ágens egy Set-Cookie fejlécmezőt kap, eltárolja az attribútumaival együtt. A továbbiakban, amikor a felhasználói ágens egy HTTP kérést hajt végre, a Cookie fejlécmezőbe illeszti az alkalmazható, nem lejárt sütiket. Ha a felhasználói ágens egy olyan új sütit kap, melynek neve, valamint Domain és Path attribútuma megegyezik egy már tárolt sütiével, akkor az új sütire cseréli ki a korábbit. 6 attribútuma van: Az Expires süti lejáratának dátumát és idejét adja meg,a Max-age azt adja meg, hogy hány másodperc múlva jár le a süti, a Domain Meghatározza, hogy a süti mely szervereknek lesz elküldve , a PAth A süti hatáskörét adott útvonalakra korlátozza., a Secure A süti hatáskörének biztonságos csatornákra korlátozása., HttpOnly HTTP kérésekre korlátozza a süti hatáskörét.
A web jelölőnyelvei: XML és HTML dokumentumok felépítése.
HTML
A HTML: –Előre definiált címkekészlet használata. Célja információ megjelenítés. Tekinthető az XML egy speciális alkalmazásának (XHTML).
XML: Nincs előre definiált címkekészlet. Célja adatok leírása. Hátrányai: Bőbeszédű és nehézkesen használható szintaxis, Nagy tárigény, Bonyolultság Előnyei: Nyíltság, Gyártófüggetlenség, Platformfüggetlenség, Univerzális adatcsere formátum, Kiterjedt infrastruktúra, Az iparban de-facto szabvány.
XML
A dokumentum központú XML: A dokumentumokat jelölésekkel megtűzdelt folyó szöveg alkotja. A dokumentumok szerkezete nagy változatosságot mutat. Lényeges az elemek sorrendje. Az ilyen dokumentumok tartalma elsősorban emberi fogyasztásra szánt. Ilyen alkalmazás pl. az XHTML.
Adatközpontú XML: A dokumentumokat nagyszámú adatelem alkotja. Kevésbé véletlenszerű dokumentum-szerkezet. Az elemek sorrendje kevésbé lényeges. Az ilyen dokumentumok elsősorban gépi feldolgozásra szántak. Ilyen alkalmazás például az SVG.
Stíluslap nyelvek.
JSON.
Könnyűsúlyú szöveges nyelvfüggetlen adatcsere formátum. Strukturált adatok ábrázolására szolgál, esetükben jelenti az XML alternatíváját. Nagyjából ugyanazokat az előnyöket kínálja, mint az XML, azonban annak hátrányai nélkül.