Tananyag
1. lecke · Hogyan működik a web

1. modul · Alapozás · 1. lecke

Hogyan működik a web

Mielőtt leírnád az első <p> taget, értsd meg, hol fut az, amit írsz, és ki csinál belőle weboldalt. Enélkül a HTML csak értelmetlen kacskaringók sorozata — utána viszont minden a helyére kerül.

≈ 25 perc Nincs előfeltétel Elmélet · gyakorlat nélkül

Mit fogsz tudni a lecke végén

1Mi történik, amikor beírsz egy címet?

Képzeld el, hogy bemész egy könyvtárba, és odaszólsz a pultnál ülő könyvtárosnak: „Kérem a Kis herceget!” A könyvtáros hátramegy, megkeresi, és a kezedbe adja. Te nem tudod, hol volt a könyv, melyik polcon, milyen rendszer szerint — csak kértél, és kaptál.

A web pontosan így működik. Két szereplő van:

Szereplő Ki ez, és mit csinál?
Kliens
(te)
A böngésződ: Chrome, Firefox, Edge, Safari. Ez fut a te gépeden vagy telefonodon. Ő kér, és ő jeleníti meg, amit kapott.
Szerver
(a könyvtáros)
Egy másik számítógép, ami valahol a világban éjjel-nappal be van kapcsolva, és arra vár, hogy valaki kérjen tőle valamit. Ő küld.

A folyamat lépésről lépésre

  1. Beírod a böngészőbe: www.example.com, és leütöd az Enter-t.
  2. A böngésző kideríti, melyik gépet jelenti ez a név. (A nevekhez tartozó címeket egy világméretű „telefonkönyv”, a DNS tartja nyilván.)
  3. A böngésző kérést küld annak a gépnek: „add ide a kezdőlapot”.
  4. A szerver válaszol: visszaküld egy fájlt. Ez a fájl egy HTML-fájl — egyszerű szöveg.
  5. A böngésző elolvassa a szöveget, és kirajzolja belőle az oldalt: a címsorokat nagy betűvel, a képeket letölti, a linkeket kékre színezi, és így tovább.
KLIENS a böngésződ a te gépeden SZERVER egy másik gép valahol a világban 1. kérés: „kérem az oldalt” 2. válasz: a HTML-fájl 3. a böngésző a kapott szövegből kirajzolja az oldalt
Kérés–válasz: a böngésző kér, a szerver küld, a böngésző rajzol.
A LÉNYEG

A szerver nem képet küld az oldalról. Szöveget küld. Hogy abból mi lesz látható, azt teljes egészében a böngésző dönti el, a szöveg utasításai alapján. Ezeket az utasításokat fogod te írni.

2Egy weboldal = néhány fájl

Ez a lecke legfontosabb mondata: a weboldal nem valami misztikus dolog, hanem néhány fájl egy mappában. Ugyanolyan fájlok, mint a Word-dokumentumaid — csak más a kiterjesztésük, és a böngésző nyitja meg őket.

Egy tipikus kis weboldal mappája így néz ki:

a bemutatkozo-oldal mappa
bemutatkozo-oldal/
├── index.html          ← a kezdőlap (a tartalom)
├── style.css           ← a megjelenés (színek, méretek)
├── script.js           ← a viselkedés (nem kötelező)
└── kepek/
    ├── profil.jpg
    └── hatter.jpg
A négy fájltípus, amivel dolgozni fogsz
KiterjesztésMi ez?Mire való?
.htmlHTML-fájlA tartalom és a szerkezet: mi a címsor, mi a bekezdés, hol van kép, hol van link.
.cssStíluslapA megjelenés: színek, betűtípus, méret, elrendezés, térközök.
.jsSzkriptA viselkedés: mi történjen kattintásra. Ezzel most nem foglalkozunk.
.jpg .png .svgKépekAmiket az oldalon megjelenítesz.
TIPP

A .html és a .css fájlok sima szövegfájlok. Ki tudod nyitni őket Jegyzettömbbel is. Azért használunk mégis VS Code-ot, mert az színezi a kódot és szól, ha elrontottad — de a fájl attól még ugyanaz a sima szöveg.

Ezért van szükség egy szerverre… vagy mégsem?

Amíg tanulsz, egyáltalán nincs szükséged szerverre. Elkészíted a fájlt a gépeden, duplán rákattintasz, és a böngésző megnyitja. A címsorban ilyenkor nem https:// áll, hanem file:///C:/web/index.html — vagyis a saját merevlemezedről olvassa. Szerverre csak akkor lesz szükséged, ha az oldalt mások is el akarják érni az interneten.

3A három nyelv és a munkamegosztás

A weben három nyelv dolgozik együtt, és mindegyiknek pontosan meghatározott feladata van. A legjobb hasonlat egy ház:

NyelvA házban…A weboldalon…
HTML a szerkezet: falak, szobák, ajtók, ablakok a tartalom és a váz: „ez itt egy főcím”, „ez egy bekezdés”, „itt van egy kép”, „ide kattintva máshova jutsz”
CSS a burkolat: festés, csempe, bútor, világítás a megjelenés: milyen színű, mekkora, hol helyezkedik el, mennyi körülötte a hely
JavaScript a gépészet: villanykapcsoló, riasztó, garázskapu a viselkedés: gombnyomásra változik valami, adat érkezik, animáció indul
FONTOS SORREND

Ház nem épül falak nélkül. Ha a HTML rossz — hiányos, kusza, nincsenek benne megnevezhető részek —, akkor a CSS-sel csak szenvedni fogsz. Előbb mindig a tartalom, utána a megjelenés. Ezért tanuljuk ebben a sorrendben.

Nézd meg ugyanazt a tartalmat CSS nélkül és CSS-sel

Az alábbi két doboz ugyanazt a HTML-t tartalmazza. Az egyetlen különbség, hogy a másodikhoz tartozik egy stíluslap is. Figyeld meg: a szöveg mindkettőben azonos — csak a külseje más.

CSS nélkül — a böngésző alapértelmezett megjelenítése
index.html
<h1>Kovács Anna</h1>
<p>Szoftverfejlesztő tanuló vagyok.</p>
<a href="#">Írj nekem</a>
Eredmény a böngészőben
Nem „semmilyen” a megjelenés: a böngészőnek van saját alapértelmezett stílusa. A címsor ettől nagy és vastag, a link kék és aláhúzott. Ezt nem te csináltad — ez jár hozzá.
Ugyanaz a HTML + egy stíluslap
index.html (változatlan)
<h1>Kovács Anna</h1>
<p>Szoftverfejlesztő tanuló vagyok.</p>
<a href="#">Írj nekem</a>
style.css
body {
  font-family: "Segoe UI", Arial, sans-serif;
  background-color: #fdf2f5;
  padding: 20px;
}
h1 {
  color: #be123c;
  border-bottom: 3px solid #fb7185;
  padding-bottom: 6px;
}
p { color: #52434b; }
a {
  display: inline-block;
  margin-top: 8px;
  background-color: #be123c;
  color: white;
  text-decoration: none;
  padding: 8px 18px;
  border-radius: 6px;
}
Eredmény a böngészőben
A HTML-hez egy betűt sem nyúltunk. Minden változás a CSS-ből jön. Ez a munkamegosztás lényege — és ezért éri meg a kettőt külön fájlban tartani.
EZ MÉG NEM A TE DOLGOD

A fenti CSS-t most nem kell értened. A 12. leckétől kezdve minden sorát megtanulod. Most csak azt lásd, hogy ugyanaz a tartalom kétféleképpen is kinézhet.

4Miért nem elég a sima szöveg?

Jogos a kérdés: ha a HTML csak szöveg, miért kellenek bele azok a furcsa <kacskaringók>? Miért nem írjuk le simán, amit akarunk?

Azért, mert a böngésző nem tud olvasni. Nem érti, hogy az első sor egy cím és a második egy bekezdés. Neked kell megjelölnöd — innen a HTML neve is: HyperText Markup Language, vagyis jelölőnyelv.

Nézd meg, mi történik, ha jelölés nélkül írunk le egy szöveget:

Jelölés nélkül — a böngésző egy nagy szövegfolyamot lát
index.html
Kovács Anna

Szoftverfejlesztő tanuló vagyok.
Szeretek weboldalakat készíteni.

Elérhetőség: anna@example.com
Eredmény a böngészőben
Hol tűntek el a sortörések? A HTML az egymás utáni szóközöket, tabokat és sortöréseket egyetlen szóközzé vonja össze. Ha új sort akarsz, azt jelölnöd kell. Ez az egyik leggyakoribb kezdő meglepetés.
Jelöléssel — most már látja a szerkezetet
index.html
<h1>Kovács Anna</h1>

<p>Szoftverfejlesztő tanuló vagyok.
Szeretek weboldalakat készíteni.</p>

<p>Elérhetőség: anna@example.com</p>
Eredmény a böngészőben
Ugyanaz a szöveg, de most megmondtuk: ez egy főcím, ezek pedig bekezdések. A böngésző ennek megfelelően rajzolja ki — nagy betűvel, külön blokkokban. A bekezdésen belüli sortörés továbbra sem számít.
GONDOLJ ERRE ÍGY

A jelölés nem díszítés, hanem jelentés. Amikor azt írod, <h1>, nem azt mondod, hogy „legyen nagy betű” — hanem azt, hogy „ez az oldal főcíme”. Hogy ettől nagy lesz, az csak következmény. Ez a különbség fontossá válik, amikor CSS-t írsz.

5Nézz bele bármelyik oldalba

Mivel a szerver szöveget küld, ezt a szöveget bármikor megnézheted — bármelyik weboldalon a világon. Nincs titkolnivaló: ez a webes tanulás egyik legjobb eszköze.

BillentyűMit csinál?
Ctrl + UMegmutatja a nyers HTML-forrást, pontosan úgy, ahogy a szervertől érkezett.
F12Megnyitja a fejlesztői eszközöket — itt már az élő oldalt vizsgálod, és a CSS-t is látod.
Ctrl + Shift + CElemválasztó: rámutatsz valamire az oldalon, és megmutatja, melyik kódrészlet az.
CSINÁLD MEG MOST

Nyiss meg egy kedvenc oldalt, és nyomj Ctrl+U-t. Ijesztően sok lesz benne — ez normális, egy nagy oldal több ezer sor. De keresd meg benne a <title> szót, vagy egy <img kezdetű részt. Ezeket a lecke végére már felismered.

AMIT NEM LÁTSZ

A forrásban nincs benne a szerver kódja, az adatbázis vagy a jelszavak. Azok a szerveren maradnak. Csak azt látod, amit a szerver elküldött neked — ez pedig már csak a kész HTML.

6Amit a HTML nem tud

Sokan „programozásnak” hívják a HTML-írást. Nem az — és ezt érdemes tisztázni, mert megkönnyíti a tanulást.

A HTML……de nem
leírja, mi van az oldalon és milyen szerepben nem számol, nem dönt, nem ismétel
fentről lefelé, sorban végrehajtódik nincs benne if, for, változó, függvény
hibás kódnál is megpróbál valamit megjeleníteni nem dob hibaüzenetet — némán furcsán fog kinézni
EZ A LEGNAGYOBB CSAPDA

Egy programozási nyelv szól, ha hibázol. A HTML nem szól. Ha lefelejtesz egy záró taget, a böngésző kitalál valamit, és megjelenít egy oldalt — csak épp nem azt, amit szerettél volna. Ezért tanulunk majd külön ellenőrzést és hibakeresést (25. lecke), és ezért lesz fontos a rendezett, behúzott kód.

Önellenőrző kérdések

Előbb válaszolj magadban (vagy írd le!), csak utána nézd meg a megoldást.

1. Mi a különbség a kliens és a szerver között?

A kliens a te böngésződ: ő kér és ő jelenít meg. A szerver egy másik gép, ami várja a kéréseket, és elküldi a kért fájlokat. A kliens kér, a szerver ad.

2. A szerver képet küld az oldalról, vagy szöveget?

Szöveget — egy HTML-fájlt. Hogy abból milyen lesz a látvány, azt a böngésző dönti el, a szövegben lévő jelölések alapján.

3. Melyik nyelv dolga, hogy egy gomb piros legyen? És hogy egyáltalán legyen ott gomb?

Hogy legyen ott gomb: HTML (szerkezet, tartalom). Hogy piros legyen: CSS (megjelenés). Hogy kattintásra történjen valami: JavaScript (viselkedés).

4. Leírsz három sort egymás alá egy HTML-fájlban, jelölés nélkül. Hány sorban jelenik meg?

Egyben — a böngésző az egymás utáni szóközöket és sortöréseket egyetlen szóközzé vonja össze. Ha külön sorokat akarsz, jelölni kell (például <p> bekezdésekkel).

5. Miért veszélyesebb egy HTML-hiba, mint egy programozási hiba?

Mert nem kapsz hibaüzenetet. A böngésző megpróbálja „megjavítani”, amit írtál, és megjelenít valamit. Így a hiba észrevétlen maradhat — csak az látszik, hogy furcsa az eredmény.

7Összefoglalás

  1. A web kérés–válasz elven működik: a böngésző (kliens) kér, a szerver küld.
  2. Amit a szerver küld, az szöveg. A látványt a böngésző készíti belőle.
  3. Egy weboldal néhány fájl egy mappában: .html, .css, képek.
  4. HTML = tartalom és szerkezet · CSS = megjelenés · JavaScript = viselkedés.
  5. A HTML jelölőnyelv: megmondod vele, hogy egy szövegrész milyen szerepet tölt be.
  6. Bármelyik oldal forrása megnézhető: Ctrl+U és F12.
  7. A HTML nem szól, ha hibázol — ezért kell rendezetten írni és ellenőrizni.