Felhasználói eszközök

Eszközök a webhelyen


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.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
webszerver [2026/02/15 04:13] – [HTTP/2 (2015)] riba.zoltanwebszerver [2026/02/16 06:05] (aktuális) riba.zoltan
Sor 17: Sor 17:
 A kommunikáció menete: A kommunikáció menete:
  
-Kliens kapcsolatot nyit a szerverhez +  - Kliens kapcsolatot nyit a szerverhez 
- +  Kliens HTTP kérést küld 
-Kliens HTTP kérést küld +  Szerver HTTP választ küld 
- +  Szerver lezárja a kapcsolatot (HTTP 0.9, HTTP 1.0) vagy nyitva marad ha szükséges (HTTP 1.1, HTTP 2)
-Szerver HTTP választ küld +
- +
-Szerver lezárja a kapcsolatot (HTTP 0.9, HTTP 1.0) vagy nyitva marad ha szükséges (HTTP 1.1, HTTP 2)+
  
 ===== HTTP protokol verziók ===== ===== HTTP protokol verziók =====
Sor 34: Sor 31:
 Jellemzői: Jellemzői:
  
-Rendkívül egyszerű +  * Rendkívül egyszerű 
- +  Csak egyetlen metódus létezett: GET 
-Csak egyetlen metódus létezett: GET +  Nem léteztek HTTP fejlécek 
- +  Nem volt státuszkód 
-Nem léteztek HTTP headerek +  Nem volt verziószám a kérésben
- +
-Nem volt státuszkód +
- +
-Nem volt verziószám a kérésben+
  
-A válasz kizárólag HTML tartalom volt+A válasz kizárólag HTML tartalom lehet.
  
 === Kérés === === Kérés ===
Sor 63: Sor 56:
 </code> </code>
  
-Nincs:+A válaszban nincs:
  
-státuszsor +  * állapot sor 
-header mező +  * fejléc mező 
-Content-Type +    Content-Type 
-Content-Length+    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 volt hibakezelési mechanizmus 
-Nem alkalmas komplex webalkalmazásokhoz+  Nem alkalmas komplex webalkalmazásokhoz
  
 === Összegzés === === Összegzés ===
  
-A HTTP/0.9 egy rendkívül egyszerű, csak GET-et támogató, header nélküli protokoll volt, amely kizárólag HTML dokumentum visszaküldésére szolgált. Ez tekinthető a modern webkommunikáció kiindulópontjának.+A HTTP/0.9 egy rendkívül egyszerű, csak GET-et támogató, fejléc nélküli protokoll volt, amely kizárólag HTML dokumentum visszaküldésére szolgált. Ez tekinthető a modern webkommunikáció kiindulópontjának.
  
 ==== HTTP/1.0 (1996) ==== ==== HTTP/1.0 (1996) ====
Sor 84: 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 +  Nincs alapértelmezett persistent connection 
-Egyszerű szöveges protokoll +  Egyszerű szöveges protokoll 
-Nincs Host header kötelezően+  Nincs kötelező Host fejléc
  
 === 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+  Nem hatékony párhuzamos erőforrás-letöltés
  
 Példa kommunikáció: Példa kommunikáció:
Sor 184: Sor 177:
 Probléma: Probléma:
  
-Head-of-line (HOL) 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.+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) ====
  
-Alapja: SPDY protokoll+Alapja: a Google 2009-ben fejlesztett SPDY (kiejtve: “speedy”) kísérleti alkalmazásrétegű protokoll a HTTP/1.1 teljesítmény korlátainak megszüntetésére.
  
 Fő jellemzők: Fő jellemzők:
Sor 275: Sor 268:
 </code> </code>
  
-===== HTTP/3 (2022) =====+Több tartalom lekérése:
  
-AlapjaQUIC (UDP felett)+<code> 
 +$ curl --http2 -s -o /dev/null https://server/index.html https://server/style.css https://server/app.js 
 +</code>
  
-Jellemzők:+==== HTTP/3 (2022) ====
  
-TCP helyett UDP+Alapja: A QUIC (Quick UDP Internet Connections) egy modern, titkosított, multiplexelt transzport protokoll, amely UDP felett működik, és amelyet eredetileg a Google fejlesztett ki. IETF szabvány (RFC 9000).
  
-TLS 1.3 integrált+A QUIC célja a TCP + TLS + HTTP/2 kombináció leváltása egy egyetlen, hatékonyabb protokollal, amely csökkenti a késleltetést és javítja a kapcsolat stabilitását.
  
-Nincs TCP head-of-line blocking+Jellemzők:
  
-Gyorsabb kapcsolatfelépítés (0-RTT)+  * TCP helyett UDP 
 +  * TLS 1.3 integrált 
 +  * Nincs TCP head-of-line blokkolódás 
 +  * Gyorsabb kapcsolatfelépítés 0-RTT (Round-Trip Time) 
 +  * Connection ID-t használ a TCP IP + port azonosítás helyett
  
 Előny: Előny:
  
-Jelentősen alacsonyabb latency +  * Jelentősen alacsonyabb késleltetés 
- +  Mobil hálózatokon stabilabb
-Mobil hálózatokon stabilabb+
  
 ===== HTTP verziók összehasonlítása ===== ===== HTTP verziók összehasonlítása =====
Sor 303: Sor 301:
 | HTTP/3 | QUIC (UDP) | Bináris | Igen | Nem | | HTTP/3 | QUIC (UDP) | Bináris | Igen | Nem |
  
-===== Telnet-es HTTP példa (HTTP/1.0) =====+===== HTTP kérés metódusok =====
  
-Kapcsolódás:+=== HTTP metódusok összefoglaló táblázat ===
  
-<code> telnet example.com 80 </code>+A metódus biztonságos (safe), ha nem változtatja meg a szerver állapotátIlyen metódusok
  
-Kérés kézi begépelése:+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.
  
-<code> GET / HTTP/1.0 </code>+^ 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, űrlap, API | 
 +| PUT | Nem | Igen | Igen | Erőforrás létrehozása/felülírá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 |
  
-(Fontosaz üres sor zárja a header részt.)+Példák:
  
-===== Telnet-es HTTP/1.1 példa =====+Kapcsolódás minden esetben: 
 +<code> 
 +telnet server 80 
 +</code>
  
-<code> telnet example.com 80 </code> <code> GET / HTTP/1.1 Hostexample.com Connection: close </code>+Fontos:
  
-Megfigyelhető:+  * HTTP/1.1 esetén kötelező a ''Host'' header 
 +  * A header részt üres sor zárja le 
 +  * Body esetén kötelező a ''Content-Length''
  
-Kötelező Host header+=== GET ===
  
-Válasz státuszkód+<code> 
 +GET / HTTP/1.1 
 +Host: server 
 +Connection: close 
 +</code>
  
-Header mezők+=== HEAD ===
  
-Üres sor+<code> 
 +HEAD / HTTP/1.1 
 +Host: server 
 +Connection: close 
 +</code>
  
-Body+=== POST ===
  
-===== HTTP státuszkódok =====+<code> 
 +POST /login HTTP/1.1 
 +Host: server 
 +Content-Type: application/x-www-form-urlencoded 
 +Content-Length: 27 
 +Connection: close
  
-^ Tartomány ^ Jelentés ^ +username=test&password=123 
-| 1xx | Információ | +</code>
-| 2xx | Siker | +
-| 3xx | Átirányítás | +
-| 4xx | Kliens hiba | +
-| 5xx | Szerver hiba |+
  
-Példák:+=== PUT ===
  
-200 OK+<code> 
 +PUT /file.txt HTTP/1.1 
 +Host: server 
 +Content-Type: text/plain 
 +Content-Length: 11 
 +Connection: close
  
-301 Moved Permanently+Hello World 
 +</code>
  
-400 Bad Request+=== DELETE ===
  
-404 Not Found+<code> 
 +DELETE /file.txt HTTP/1.1 
 +Host: server 
 +Connection: close 
 +</code>
  
-500 Internal Server Error+=== OPTIONS ===
  
-===== HTTPS =====+<code> 
 +OPTIONS / HTTP/1.1 
 +Host: server 
 +Connection: close 
 +</code>
  
-A HTTPS nem külön protokoll, hanem:+Ez utóbbi kérésre a válasz:
  
-HTTP + TLS titkosítás+<code> 
 +... 
 +Allow: GET, POST, HEAD 
 +... 
 +</code>
  
-Alapértelmezett port:+=== PATCH ===
  
-80 → HTTP+<code>PATCH /user/HTTP/1.1 
 +Host: server 
 +Content-Type: application/json 
 +Content-Length: 18 
 +Connection: close
  
-443 → HTTPS+{"name":"ujnev"
 +</code>
  
-Telnet helyett HTTPS teszteléshez:+=== TRACE ===
  
-<code> openssl s_client -connect example.com:443 </code>+<code>TRACE / HTTP/1.
 +Hostserver 
 +Connection: close 
 +</code>
  
-===== Összegzés =====+Fontos a sorrend!
  
-HTTP/1.xegyszerű, szöveges, TCP-alapú+  * 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 ''Connectionclose'' header vagy a szerver TCP bontása jelzi
  
-HTTP/2: bináris, multiplexelt, gyorsabb 
  
-HTTP/3: QUIC-alapúmodernalacsony latency+===== HTTP válasz (állapot) kódok ===== 
 + 
 +^ Tartomány ^ Jelentés ^ 
 +| 1xx | Információ | 
 +| 2xx | Siker | 
 +| 3xx | Átirányítás | 
 +| 4xx | Kliens hiba | 
 +| 5xx | Szerver hiba | 
 + 
 +^ Kód ^ Megnevezés ^ Jelentés ^ 
 +| 100 | Continue | A kliens folytathatja a kérést | 
 +| 101 | Switching Protocols | Protokollváltás (pl. WebSocket) | 
 +| 102 | Processing | A kérés feldolgozás alatt | 
 +| 200 | OK | Sikeres kérés | 
 +| 201 | Created | Erőforrás létrejött | 
 +| 202 | Accepted | Feldolgozás elfogadva | 
 +| 203 | Non-Authoritative Information | Nem hiteles forrásból származó válasz | 
 +| 204 | No Content | Sikeresde nincs válasz body | 
 +| 205 | Reset Content | Kliens nézetének visszaállítása | 
 +| 206 | Partial Content | Részleges tartalom (Range kérés) | 
 +| 300 | Multiple Choices | Több válaszlehetőség | 
 +| 301 | Moved Permanently | Végleges átirányítás | 
 +| 302 | Found | Ideiglenes átirányítás | 
 +| 303 | See Other | Más erőforrás GET-tel | 
 +| 304 | Not Modified | Nem változott (cache) | 
 +| 307 | Temporary Redirect | Ideiglenesmetódust megőrzi | 
 +| 308 | Permanent Redirect | Végleges, metódust megőrzi | 
 +| 400 | Bad Request | Hibás kérés | 
 +| 401 | Unauthorized | Hitelesítés szükséges | 
 +| 402 | Payment Required | Fizetés szükséges (fenntartott) | 
 +| 403 | Forbidden | Tiltott hozzáférés | 
 +| 404 | Not Found | Nem található | 
 +| 405 | Method Not Allowed | Metódus nem engedélyezett | 
 +| 406 | Not Acceptable | Nem elfogadható formátum | 
 +| 407 | Proxy Authentication Required | Proxy hitelesítés szükséges | 
 +| 408 | Request Timeout | Kérés időtúllépés | 
 +| 409 | Conflict | Ütközés | 
 +| 410 | Gone | Végleg eltűnt | 
 +| 411 | Length Required | Content-Length hiányzik | 
 +| 412 | Precondition Failed | Előfeltétel nem teljesült | 
 +| 413 | Payload Too Large | Túl nagy kérés | 
 +| 414 | URI Too Long | Túl hosszú URI | 
 +| 415 | Unsupported Media Type | Nem támogatott médiatípus | 
 +| 416 | Range Not Satisfiable | Érvénytelen tartomány | 
 +| 417 | Expectation Failed | Expect header hiba | 
 +| 418 | I'm a teapot | RFC humoros státuszkód | 
 +| 429 | Too Many Requests | Túl sok kérés (rate limit) | 
 +| 500 | Internal Server Error | Belső szerverhiba | 
 +| 501 | Not Implemented | Nem implementált | 
 +| 502 | Bad Gateway | Hibás gateway válasz | 
 +| 503 | Service Unavailable | Szolgáltatás nem elérhető | 
 +| 504 | Gateway Timeout | Gateway időtúllépés | 
 +| 505 | HTTP Version Not Supported | HTTP verzió nem támogatott |
  
-Telnet kiváló eszköz a HTTP/1.x működés szemléltetésére 
webszerver.1771128820.txt.gz · Utolsó módosítás: szerkesztette: riba.zoltan