Kliens–szerver modell
Kliens és szerver szerepe a weben: kérés, válasz, állapot, API és bizalmi határ egyszerű példával.
Röviden
A kliens szolgáltatást kér, a szerver pedig a kérés alapján választ ad. Weben a kliens gyakran böngésző, de mobilapp, CLI vagy más szerver is lehet. A modell ereje az, hogy a feladatokat és bizalmi szinteket szétválasztja.
Mit jelent a kliens–szerver modell?
A kliens szolgáltatást kér, a szerver pedig a kérés alapján választ ad. Weben a kliens gyakran böngésző, de mobilapp, CLI vagy más szerver is lehet. A modell ereje az, hogy a feladatokat és bizalmi szinteket szétválasztja.
Rakj össze egy HTTP-kérést
HTTP kérés
GET /academy HTTP/1.1 Host: bybence.co Accept: text/html
Lehetséges válasz
HTTP/1.1 200 OK Content-Type: text/html Cache-Control: private
Hogyan működik a gyakorlatban?
A böngésző HTTP-kérést küld URL-lel, metódussal, headerekkel és esetleg bodyval. A szerver autentikálhat, validálhat, adatbázist kérdezhet, majd státuszkóddal, headerekkel és bodyval válaszol.
- A kliens által küldött adat nem megbízható csak azért, mert a saját UI-d állította elő.
- A szervernek stateless és stateful részei is lehetnek.
- Cache és CDN köztes szereplőként megváltoztathatja az adat útját.
- A hálózati határ késleltetést és hibalehetőséget jelent.
Gyakorlati fejlesztői szemlélet
Feature-nél kezeld a request/response szerződést explicit API contractként: bemenet, sikeres válasz, hibák, auth követelmény és idempotencia. Ez frontend-backend együttműködésnél rengeteg bizonytalanságot kivesz.
Gyakori hibák és félreértések
- A kliens inputját automatikusan érvényesnek tekinteni.
- Hálózati hibát ugyanúgy kezelni, mint üzleti validációs hibát.
- Minden UI-komponensből közvetlenül adatbázist elérni trust boundary nélkül.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy