webszerver
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
| webszerver [2026/02/16 05:35] – riba.zoltan | webszerver [2026/02/16 06:05] (aktuális) – riba.zoltan | ||
|---|---|---|---|
| Sor 31: | Sor 31: | ||
| Jellemzői: | Jellemzői: | ||
| - | Rendkívül egyszerű | + | * Rendkívül egyszerű |
| + | * Csak egyetlen metódus létezett: GET | ||
| + | * Nem léteztek HTTP fejlécek | ||
| + | * Nem volt státuszkód | ||
| + | * Nem volt verziószám a kérésben | ||
| - | Csak egyetlen metódus létezett: GET | + | A válasz kizárólag HTML tartalom |
| - | + | ||
| - | Nem léteztek HTTP headerek | + | |
| - | + | ||
| - | Nem volt státuszkód | + | |
| - | + | ||
| - | Nem volt verziószám a kérésben | + | |
| - | + | ||
| - | A válasz kizárólag HTML tartalom | + | |
| === Kérés === | === Kérés === | ||
| Sor 60: | Sor 56: | ||
| </ | </ | ||
| - | Nincs: | + | A válaszban nincs: |
| - | státuszsor | + | * állapot sor |
| - | header | + | * fejléc |
| - | Content-Type | + | |
| - | Content-Length | + | |
| === Korlátok === | === Korlátok === | ||
| - | Nem támogatta a képeket, CSS-t, külön erőforrásokat | + | * Nem támogatta a képeket, CSS-t, külön erőforrásokat |
| - | Nem volt hibakezelési mechanizmus | + | |
| - | Nem alkalmas komplex webalkalmazásokhoz | + | |
| === Összegzés === | === Összegzés === | ||
| - | A HTTP/0.9 egy rendkívül egyszerű, csak GET-et támogató, | + | A HTTP/0.9 egy rendkívül egyszerű, csak GET-et támogató, |
| ==== HTTP/1.0 (1996) ==== | ==== HTTP/1.0 (1996) ==== | ||
| Sor 81: | Sor 77: | ||
| === Jellemzők: === | === Jellemzők: === | ||
| - | Minden kérés külön TCP kapcsolat | + | * Minden kérés külön TCP kapcsolat |
| - | Nincs alapértelmezett persistent connection | + | |
| - | Egyszerű szöveges protokoll | + | |
| - | Nincs Host header | + | |
| === Problémák: | === Problémák: | ||
| - | Sok TCP handshake | + | * Sok TCP handshake |
| - | Magas latency | + | * Hosszú késleltetés |
| - | Nem hatékony párhuzamos erőforrás-letöltés | + | |
| Példa kommunikáció: | Példa kommunikáció: | ||
| Sor 181: | Sor 177: | ||
| Probléma: | Probléma: | ||
| - | Head-of-line | + | HOL (Head-of-line) blokkolás (több kérés esetén). Mivel a kérések sorrendjében válaszol a szerver, ezért egy lassú feldolgozási művelet blokkolja a többi kérés kiszolgálását. |
| ==== HTTP/2 (2015) ==== | ==== HTTP/2 (2015) ==== | ||
| Sor 305: | Sor 301: | ||
| | HTTP/3 | QUIC (UDP) | Bináris | Igen | Nem | | | HTTP/3 | QUIC (UDP) | Bináris | Igen | Nem | | ||
| - | ===== HTTP állapot kódok ===== | + | ===== HTTP kérés metódusok ===== |
| + | |||
| + | === HTTP metódusok összefoglaló táblázat === | ||
| + | |||
| + | A metódus biztonságos (safe), ha nem változtatja meg a szerver állapotát. Ilyen metódusok | ||
| + | |||
| + | Egy metódus idempotens, ha ugyanazt a kérést többször elküldve a szerver állapota az első végrehajtás után már nem változik tovább. | ||
| + | |||
| + | ^ Metódus ^ Safe ^ Idempotens ^ Van body? ^ Tipikus használat ^ | ||
| + | | GET | Igen | Igen | Nem | Erőforrás lekérdezése | | ||
| + | | HEAD | Igen | Igen | Nem | Csak header lekérdezése | | ||
| + | | POST | Nem | Nem | Igen | Adatküldés, | ||
| + | | PUT | Nem | Igen | Igen | Erőforrás létrehozása/ | ||
| + | | DELETE | Nem | Igen | Nem | Erőforrás törlése | | ||
| + | | OPTIONS | Igen | Igen | Nem | Támogatott metódusok lekérdezése | | ||
| + | | PATCH | Nem | Nem | Igen | Részleges módosítás | | ||
| + | | TRACE | Igen | Igen | Nem | Diagnosztika | | ||
| + | |||
| + | Példák: | ||
| + | |||
| + | Kapcsolódás minden esetben: | ||
| + | < | ||
| + | telnet server 80 | ||
| + | </ | ||
| + | |||
| + | Fontos: | ||
| + | |||
| + | * HTTP/1.1 esetén kötelező a '' | ||
| + | * A header részt üres sor zárja le | ||
| + | * Body esetén kötelező a '' | ||
| + | |||
| + | === GET === | ||
| + | |||
| + | < | ||
| + | GET / HTTP/1.1 | ||
| + | Host: server | ||
| + | Connection: close | ||
| + | </ | ||
| + | |||
| + | === HEAD === | ||
| + | |||
| + | < | ||
| + | HEAD / HTTP/1.1 | ||
| + | Host: server | ||
| + | Connection: close | ||
| + | </ | ||
| + | |||
| + | === POST === | ||
| + | |||
| + | < | ||
| + | POST /login HTTP/1.1 | ||
| + | Host: server | ||
| + | Content-Type: | ||
| + | Content-Length: | ||
| + | Connection: close | ||
| + | |||
| + | username=test& | ||
| + | </ | ||
| + | |||
| + | === PUT === | ||
| + | |||
| + | < | ||
| + | PUT /file.txt HTTP/1.1 | ||
| + | Host: server | ||
| + | Content-Type: | ||
| + | Content-Length: | ||
| + | Connection: close | ||
| + | |||
| + | Hello World | ||
| + | </ | ||
| + | |||
| + | === DELETE === | ||
| + | |||
| + | < | ||
| + | DELETE /file.txt HTTP/1.1 | ||
| + | Host: server | ||
| + | Connection: close | ||
| + | </ | ||
| + | |||
| + | === OPTIONS === | ||
| + | |||
| + | < | ||
| + | OPTIONS / HTTP/1.1 | ||
| + | Host: server | ||
| + | Connection: close | ||
| + | </ | ||
| + | |||
| + | Ez utóbbi kérésre a válasz: | ||
| + | |||
| + | < | ||
| + | ... | ||
| + | Allow: GET, POST, HEAD | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | === PATCH === | ||
| + | |||
| + | < | ||
| + | Host: server | ||
| + | Content-Type: | ||
| + | Content-Length: | ||
| + | Connection: close | ||
| + | |||
| + | {" | ||
| + | </ | ||
| + | |||
| + | === TRACE === | ||
| + | |||
| + | < | ||
| + | Host: server | ||
| + | Connection: close | ||
| + | </ | ||
| + | |||
| + | Fontos a sorrend! | ||
| + | |||
| + | * A metódus az első szó a kérésben | ||
| + | * A státuszkód a válasz első sorában jelenik meg | ||
| + | * A header és a body között üres sor található | ||
| + | * A kapcsolat lezárását a '' | ||
| + | |||
| + | |||
| + | ===== HTTP válasz (állapot) kódok ===== | ||
| ^ Tartomány ^ Jelentés ^ | ^ Tartomány ^ Jelentés ^ | ||
| Sor 318: | Sor 435: | ||
| | 101 | Switching Protocols | Protokollváltás (pl. WebSocket) | | | 101 | Switching Protocols | Protokollváltás (pl. WebSocket) | | ||
| | 102 | Processing | A kérés feldolgozás alatt | | | 102 | Processing | A kérés feldolgozás alatt | | ||
| - | |||
| | 200 | OK | Sikeres kérés | | | 200 | OK | Sikeres kérés | | ||
| | 201 | Created | Erőforrás létrejött | | | 201 | Created | Erőforrás létrejött | | ||
| Sor 326: | Sor 442: | ||
| | 205 | Reset Content | Kliens nézetének visszaállítása | | | 205 | Reset Content | Kliens nézetének visszaállítása | | ||
| | 206 | Partial Content | Részleges tartalom (Range kérés) | | | 206 | Partial Content | Részleges tartalom (Range kérés) | | ||
| - | |||
| | 300 | Multiple Choices | Több válaszlehetőség | | | 300 | Multiple Choices | Több válaszlehetőség | | ||
| | 301 | Moved Permanently | Végleges átirányítás | | | 301 | Moved Permanently | Végleges átirányítás | | ||
| Sor 334: | Sor 449: | ||
| | 307 | Temporary Redirect | Ideiglenes, metódust megőrzi | | | 307 | Temporary Redirect | Ideiglenes, metódust megőrzi | | ||
| | 308 | Permanent Redirect | Végleges, metódust megőrzi | | | 308 | Permanent Redirect | Végleges, metódust megőrzi | | ||
| - | |||
| | 400 | Bad Request | Hibás kérés | | | 400 | Bad Request | Hibás kérés | | ||
| | 401 | Unauthorized | Hitelesítés szükséges | | | 401 | Unauthorized | Hitelesítés szükséges | | ||
| - | | 402 | Payment Required | Fenntartott | + | | 402 | Payment Required | Fizetés szükséges (fenntartott) |
| | 403 | Forbidden | Tiltott hozzáférés | | | 403 | Forbidden | Tiltott hozzáférés | | ||
| | 404 | Not Found | Nem található | | | 404 | Not Found | Nem található | | ||
| Sor 355: | Sor 469: | ||
| | 418 | I'm a teapot | RFC humoros státuszkód | | | 418 | I'm a teapot | RFC humoros státuszkód | | ||
| | 429 | Too Many Requests | Túl sok kérés (rate limit) | | | 429 | Too Many Requests | Túl sok kérés (rate limit) | | ||
| - | |||
| | 500 | Internal Server Error | Belső szerverhiba | | | 500 | Internal Server Error | Belső szerverhiba | | ||
| | 501 | Not Implemented | Nem implementált | | | 501 | Not Implemented | Nem implementált | | ||
| Sor 363: | Sor 476: | ||
| | 505 | HTTP Version Not Supported | HTTP verzió nem támogatott | | | 505 | HTTP Version Not Supported | HTTP verzió nem támogatott | | ||
| - | Példák: | ||
| - | |||
| - | 200 OK | ||
| - | |||
| - | 301 Moved Permanently | ||
| - | |||
| - | 400 Bad Request | ||
| - | |||
| - | 404 Not Found | ||
| - | |||
| - | 500 Internal Server Error | ||
| - | |||
| - | ===== HTTPS ===== | ||
| - | |||
| - | A HTTPS nem külön protokoll, hanem: | ||
| - | |||
| - | HTTP + TLS titkosítás | ||
| - | |||
| - | Alapértelmezett port: | ||
| - | |||
| - | 80 → HTTP | ||
| - | |||
| - | 443 → HTTPS | ||
| - | |||
| - | Telnet helyett HTTPS teszteléshez: | ||
| - | |||
| - | < | ||
| - | |||
| - | ===== Összegzés ===== | ||
| - | |||
| - | HTTP/1.x: egyszerű, szöveges, TCP-alapú | ||
| - | |||
| - | HTTP/2: bináris, multiplexelt, | ||
| - | |||
| - | HTTP/3: QUIC-alapú, | ||
| - | |||
| - | Telnet kiváló eszköz a HTTP/1.x működés szemléltetésére | ||
webszerver.1771220131.txt.gz · Utolsó módosítás: szerkesztette: riba.zoltan
