Junior
Ako prebieha interakcia medzi klientom a serverom?
sobes.tech AI
Odpoveď od AI
Interakcia prebieha prostredníctvom protokolu HTTP/HTTPS, zvyčajne v modeli "klient-server":
- Klient (prehliadač) odošle požiadavku. Požiadavka obsahuje:
- Metódu (GET, POST, PUT, DELETE atď.)
- URL požadovaného zdroja
- Hlavičky (informácie o klientovi, typ dát, autorizácia atď.)
- Telo požiadavky (pre metódy ako POST, s dátami)
- Server spracová požiadavku.
- Prijme a analyzuje požiadavku.
- Určí zdroj a operáciu.
- Pristupuje k dátam (dátovábáza, súborový systém atď.), ak je to potrebné.
- Vytvorí odpoveď.
- Server odošle odpoveď. Odpoveď obsahuje:
- Stavový kód HTTP (200 OK, 404 Not Found, 500 Internal Server Error atď.)
- Hlavičky odpovede (typ obsahu, cacheovanie, cookies atď.)
- Telo odpovede (HTML, JSON, XML, obrázok atď.)
- Klient prijme a spracuje odpoveď.
- Analyzuje odpoveď.
- Zobrazuje obsah (napríklad, renderuje HTML stránku).
- Spúšťa JavaScript, spracováva údaje.
Príklad GET požiadavky:
GET /api/users HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (...)
Accept: application/json
Príklad odpovede na GET požiadavku:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 150
Cache-Control: max-age=3600
[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]
Používajú sa aj iné mechanizmy pre interaktívnejšiu komunikáciu:
- WebSocket: Trvalé obojsmerné spojenie na výmenu dát v reálnom čase (napríklad chaty).
- Server-Sent Events (SSE): Jednosmerné spojenie zo servera na klienta na príjem toku aktualizácií.
- Polling: Klient periodicky posiela požiadavky na server, aby skontroloval aktualizácie.
- Long Polling: Klient odošle požiadavku, server ju udrží otvorenú, kým neprídu dáta alebo nevyprší časový limit, potom odošle odpoveď.
V kontexte webových aplikácií načítava prehliadač aj zdroje (CSS, JS, obrázky) samostatnými HTTP požiadavkami po obdržaní počiatočného HTML. JavaScript môže tiež dynamicky odosielať ďalšie požiadavky na API (AJAX), aby získal alebo odoslal dáta bez obnovenia stránky.