Webprogramozás 1.
A tárgy a webet nyílt, elosztott információs rendszerként mutatja be, és az első hálózati kéréstől a modern webalkalmazásokig végigköveti a működését. Az alapfogalmak (URL, HTTP, DNS, TCP, TLS) után a böngészőre és a webes dokumentumra, a programok közötti adatcserére (API-k, JSON, XML, REST, GraphQL, RPC) és a renderelési stratégiákra tér ki. A tárgy ezután az állapot, az azonosítás és a hozzáférés kérdéseivel (cookie, munkamenet, token, OAuth 2.0, OpenID Connect), a webbiztonság alapjaival (same-origin policy, CORS, XSS, CSRF, injekció), a hozzáférhetőséggel, a teljesítménnyel és a megbízhatósággal foglalkozik.
A tárgy nem egy adott keretrendszert vagy programozási nyelvet tanít, hanem a szabványokra épülő, tartós fogalmakat és azok összefüggéseit. A tananyag elméleti jellegű; a kimenetek és mérések valódi, lefuttatott példákból származnak, amelyeket a hallgatónak nem kell újra futtatnia.
Mi a web?
Az első fejezet megmutatja, hogy a web az internet egyik szolgáltatása, és hogy miért érinti a legtöbb informatikai szakterületet. Bemutatja a web fejlődését a dokumentumoktól az alkalmazásokig, a fő szereplőket, a kliens–szerver modellt és a rétegezést, valamint a nyílt szabványokat, amelyek a világméretű együttműködést lehetővé teszik. Itt ismerkedünk meg a kurzus közös példájával, a Kurzuspont nevű egyetemi kurzuskatalógussal is.
Webcímek és HTTP-alapok
A második fejezet a web kommunikációjának nyelvét mutatja be. Az URL-ek megmondják, hol van egy erőforrás, a HTTP pedig azt, hogyan kérjük el és hogyan válaszol rá a szerver. Sorra vesszük a kérés és a válasz felépítését, a metódusokat, a státuszkódokat, a fejléceket és a tartalomtípusokat, és közben valódi, futtatással kapott üzeneteket olvasunk. Ez az alap kell az API-khoz, a bejelentkezéshez és a biztonsághoz is.
Böngésző és webes dokumentum
A harmadik fejezet a kliens oldalára vált. Megmutatja, hogyan osztozik a HTML, a CSS és a JavaScript a webes felület feladatain, hogyan lesz a szerver által küldött szövegből a böngésző dokumentummodellje, és hogyan jelenik meg belőle a képernyőn látható oldal. Szó lesz az erőforrások betöltéséről, a böngészők közötti eltérésekről és a fokozatos fejlesztésről, valamint arról, mit tud és mit nem tud a böngésző programozható környezetként.
Egy webes kérés teljes útja
A negyedik fejezet azt követi végig, mi történik a címsorba írt cím és a képernyőn megjelenő oldal között. Sorra vesszük a névfeloldást, a TCP- és TLS-kapcsolat felépítését, a HTTP-verziókat, a HTTPS védelmének határait, a közvetítőket és a CDN-eket, majd az egész utat egyetlen folyamatba fűzzük. A fejezet végén megnézzük, hol keletkezik késleltetés és hiba, és hogyan lehet a tünetből a megfelelő rétegre következtetni.
Webes adatok és API-k
Az ötödik fejezet azt vizsgálja, hogyan kommunikálnak programok egymással a weben. Bemutatja, mi az API és mit jelent a szerződés, hogyan írja le az adatot a JSON és az XML, és milyen szemléletekre épülhet az API: erőforrásokra (REST), mezőválasztásra (GraphQL) vagy műveletekre (RPC). Szó lesz a változó adatok frissítéséről (polling, SSE, WebSocket, webhook), valamint az API-k változásának kezeléséről és dokumentálásáról.
Webes alkalmazások és renderelési stratégiák
A hatodik fejezet azt vizsgálja, hogyan épül fel egy webalkalmazás, és hol áll elő a felhasználó által látott felület. Összehasonlítja a többoldalas és egyoldalas alkalmazásokat, valamint a kliensoldali, a szerveroldali és a statikus renderelést, ugyanazon a kurzuslistán mutatva meg a különbségeket. Szó lesz a navigáció és a kliensoldali állapot kezeléséről, a service worker szerepéről az offline működésben, végül az architektúraválasztás szempontjairól.
Állapot, identitás és hozzáférés
A hetedik fejezet azt mutatja be, hogyan teremt a web folytonosságot és azonosságot az állapotmentes HTTP fölött. Szó lesz az alkalmazásállapot helyéről, a cookie-król és a szerveroldali munkamenetekről, a böngészős tárolásról és a tokenekről, valamint a hitelesítés és a jogosultságkezelés különbségéről. A fejezet az OAuth 2.0-val, az OpenID Connecttel és az egyszeri bejelentkezéssel zárul, amelyek a bejelentkezést és a hozzáférés delegálását külső szolgáltatóra bízzák.
Webbiztonsági alapok
A nyolcadik fejezet a webes rendszerek védelmét a gondolkodásmóddal kezdi: mit védünk, kitől, és hol lép át az adat bizalmi határt. Bemutatja a böngésző elkülönítési szabályait (same-origin policy, CORS), majd a három legfontosabb támadáscsaládot, az XSS-t, a CSRF-et és az injekciót, valós, lefuttatott példákon. Szó lesz a jelszavak, a többfaktoros hitelesítés és a munkamenetek védelméről, a fejezet pedig az OWASP-szemléletű biztonsági áttekintéssel zárul.
A minőségi web
A kilencedik fejezet azt vizsgálja, mitől jó egy webes szolgáltatás a felhasználó szemszögéből. Sorra vesszük az akadálymentességet és a szemantikus HTML szerepét, a reszponzív és eszközfüggetlen megjelenést, a felhasználó által érzékelt teljesítményt és a Core Web Vitals mutatókat, a kereshetőséget és a tartalom minőségét, végül az adatvédelmet, a követést és a digitális etikát. A fejezetben egy hibás és egy javított kurzusoldalon valódi, lefuttatott méréseket is látunk.
Megbízható és nagy teljesítményű web
A tizedik fejezet azt vizsgálja, mitől marad használható egy webes szolgáltatás akkor is, ha hibák történnek vagy nagy a terhelés. Sorra vesszük a szolgáltatásminőség és a rendelkezésre állás fogalmait (SLI, SLO, SLA), a hibák kezelését és a felhasználóval való kommunikációt, a válaszidő és a kapacitás összefüggését, valamint a HTTP-gyorsítótárat és a CDN-t. A fejezet a terhelési csúcsok kezelésével, a megfigyelhetőséggel és a teljesítmény, a biztonság és a költség közötti kompromisszumokkal zárul.
Webprogramozás 1.
A tárgy a webet nyílt, elosztott információs rendszerként mutatja be, és az első hálózati kéréstől a modern webalkalmazásokig végigköveti a működését. Az alapfogalmak (URL, HTTP, DNS, TCP, TLS) után a böngészőre és a webes dokumentumra, a programok közötti adatcserére (API-k, JSON, XML, REST, GraphQL, RPC) és a renderelési stratégiákra tér ki. A tárgy ezután az állapot, az azonosítás és a hozzáférés kérdéseivel (cookie, munkamenet, token, OAuth 2.0, OpenID Connect), a webbiztonság alapjaival (same-origin policy, CORS, XSS, CSRF, injekció), a hozzáférhetőséggel, a teljesítménnyel és a megbízhatósággal foglalkozik.
A tárgy nem egy adott keretrendszert vagy programozási nyelvet tanít, hanem a szabványokra épülő, tartós fogalmakat és azok összefüggéseit. A tananyag elméleti jellegű; a kimenetek és mérések valódi, lefuttatott példákból származnak, amelyeket a hallgatónak nem kell újra futtatnia.
Mi a web?
Az első fejezet megmutatja, hogy a web az internet egyik szolgáltatása, és hogy miért érinti a legtöbb informatikai szakterületet. Bemutatja a web fejlődését a dokumentumoktól az alkalmazásokig, a fő szereplőket, a kliens–szerver modellt és a rétegezést, valamint a nyílt szabványokat, amelyek a világméretű együttműködést lehetővé teszik. Itt ismerkedünk meg a kurzus közös példájával, a Kurzuspont nevű egyetemi kurzuskatalógussal is.
Webcímek és HTTP-alapok
A második fejezet a web kommunikációjának nyelvét mutatja be. Az URL-ek megmondják, hol van egy erőforrás, a HTTP pedig azt, hogyan kérjük el és hogyan válaszol rá a szerver. Sorra vesszük a kérés és a válasz felépítését, a metódusokat, a státuszkódokat, a fejléceket és a tartalomtípusokat, és közben valódi, futtatással kapott üzeneteket olvasunk. Ez az alap kell az API-khoz, a bejelentkezéshez és a biztonsághoz is.
Böngésző és webes dokumentum
A harmadik fejezet a kliens oldalára vált. Megmutatja, hogyan osztozik a HTML, a CSS és a JavaScript a webes felület feladatain, hogyan lesz a szerver által küldött szövegből a böngésző dokumentummodellje, és hogyan jelenik meg belőle a képernyőn látható oldal. Szó lesz az erőforrások betöltéséről, a böngészők közötti eltérésekről és a fokozatos fejlesztésről, valamint arról, mit tud és mit nem tud a böngésző programozható környezetként.
Egy webes kérés teljes útja
A negyedik fejezet azt követi végig, mi történik a címsorba írt cím és a képernyőn megjelenő oldal között. Sorra vesszük a névfeloldást, a TCP- és TLS-kapcsolat felépítését, a HTTP-verziókat, a HTTPS védelmének határait, a közvetítőket és a CDN-eket, majd az egész utat egyetlen folyamatba fűzzük. A fejezet végén megnézzük, hol keletkezik késleltetés és hiba, és hogyan lehet a tünetből a megfelelő rétegre következtetni.
Webes adatok és API-k
Az ötödik fejezet azt vizsgálja, hogyan kommunikálnak programok egymással a weben. Bemutatja, mi az API és mit jelent a szerződés, hogyan írja le az adatot a JSON és az XML, és milyen szemléletekre épülhet az API: erőforrásokra (REST), mezőválasztásra (GraphQL) vagy műveletekre (RPC). Szó lesz a változó adatok frissítéséről (polling, SSE, WebSocket, webhook), valamint az API-k változásának kezeléséről és dokumentálásáról.
Webes alkalmazások és renderelési stratégiák
A hatodik fejezet azt vizsgálja, hogyan épül fel egy webalkalmazás, és hol áll elő a felhasználó által látott felület. Összehasonlítja a többoldalas és egyoldalas alkalmazásokat, valamint a kliensoldali, a szerveroldali és a statikus renderelést, ugyanazon a kurzuslistán mutatva meg a különbségeket. Szó lesz a navigáció és a kliensoldali állapot kezeléséről, a service worker szerepéről az offline működésben, végül az architektúraválasztás szempontjairól.
Állapot, identitás és hozzáférés
A hetedik fejezet azt mutatja be, hogyan teremt a web folytonosságot és azonosságot az állapotmentes HTTP fölött. Szó lesz az alkalmazásállapot helyéről, a cookie-król és a szerveroldali munkamenetekről, a böngészős tárolásról és a tokenekről, valamint a hitelesítés és a jogosultságkezelés különbségéről. A fejezet az OAuth 2.0-val, az OpenID Connecttel és az egyszeri bejelentkezéssel zárul, amelyek a bejelentkezést és a hozzáférés delegálását külső szolgáltatóra bízzák.
Webbiztonsági alapok
A nyolcadik fejezet a webes rendszerek védelmét a gondolkodásmóddal kezdi: mit védünk, kitől, és hol lép át az adat bizalmi határt. Bemutatja a böngésző elkülönítési szabályait (same-origin policy, CORS), majd a három legfontosabb támadáscsaládot, az XSS-t, a CSRF-et és az injekciót, valós, lefuttatott példákon. Szó lesz a jelszavak, a többfaktoros hitelesítés és a munkamenetek védelméről, a fejezet pedig az OWASP-szemléletű biztonsági áttekintéssel zárul.
A minőségi web
A kilencedik fejezet azt vizsgálja, mitől jó egy webes szolgáltatás a felhasználó szemszögéből. Sorra vesszük az akadálymentességet és a szemantikus HTML szerepét, a reszponzív és eszközfüggetlen megjelenést, a felhasználó által érzékelt teljesítményt és a Core Web Vitals mutatókat, a kereshetőséget és a tartalom minőségét, végül az adatvédelmet, a követést és a digitális etikát. A fejezetben egy hibás és egy javított kurzusoldalon valódi, lefuttatott méréseket is látunk.
Megbízható és nagy teljesítményű web
A tizedik fejezet azt vizsgálja, mitől marad használható egy webes szolgáltatás akkor is, ha hibák történnek vagy nagy a terhelés. Sorra vesszük a szolgáltatásminőség és a rendelkezésre állás fogalmait (SLI, SLO, SLA), a hibák kezelését és a felhasználóval való kommunikációt, a válaszidő és a kapacitás összefüggését, valamint a HTTP-gyorsítótárat és a CDN-t. A fejezet a terhelési csúcsok kezelésével, a megfigyelhetőséggel és a teljesítmény, a biztonság és a költség közötti kompromisszumokkal zárul.