2.1. Mi az a HTTP szerver?
A HTTP (HyperText Transfer Protocol) szerver egy olyan alkalmazás, amely
képes fogadni és válaszolni a HTTP kérésekre. A webes alkalmazások alapvetően
HTTP protokollon keresztül kommunikálnak a böngésző és a szerver között. A
böngésző küld egy HTTP kérést (például amikor beírsz egy URL-t a címsorba), a
szerver fogadja ezt a kérést, feldolgozza, majd visszaküld egy HTTP választ,
amely tartalmazza az oldal tartalmát, amit a böngésző megjelenít.
2.2. Miért használjunk Node.js-t HTTP szerver készítéséhez?
A Node.js kitűnő választás HTTP szerverek készítéséhez a következő okok
miatt:
- Aszinkron
I/O kezelés: A Node.js aszinkron, nem blokkoló I/O modellt
használ, amely lehetővé teszi, hogy nagy mennyiségű párhuzamos kérést
kezeljen anélkül, hogy a szerver lelassulna.
- Egyszerűség
és rugalmasság: A Node.js natívan támogatja a HTTP
protokollt, így egyszerűen és gyorsan létrehozhatsz HTTP szervereket.
- Nagy
közösség és rengeteg modul: A Node.js ökoszisztémája
hatalmas, rengeteg kész modul és eszköz áll rendelkezésre, amelyek
megkönnyítik a fejlesztést.
2.3. Az egyszerű HTTP szerver alapjai
Egy HTTP szerver létrehozásához a Node.js-ben alapvetően három dolgot kell
tennünk:
- Modulok
betöltése: A Node.js
httpmodulját kell használnunk a HTTP szerver létrehozásához. - Szerver
létrehozása: A
http.createServer()metódust használjuk egy új szerver objektum létrehozására, amely kezeli a bejövő kéréseket. - Szerver
elindítása: A
server.listen()metódussal indítjuk el a szervert egy adott porton és IP címen.
Példák
2.4. Egyszerű HTTP szerver létrehozása
Most nézzünk meg egy példát, amely bemutatja, hogyan hozhatsz létre egy
egyszerű HTTP szervert Node.js segítségével.
- Fájl
létrehozása: Hozz létre egy új fájlt, nevezzük el
simple-server.js-nek. - Kód
írása: másold be az alábi kódot a fájlba:
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, Node.js!\n');});server.listen(3000, '127.0.0.1', () => { console.log('Server is running at http://127.0.0.1:3000/');});
- Szerver
futtatása: A szerver futtatásához nyiss meg egy terminált,
navigálj a fájl helyére, és futtasd a következő parancsot:
node simple-server.js
- Szerver
tesztelése: Nyiss meg egy böngészőt, és írd be a következő
címet:
http://127.0.0.1:3000/. A böngészőben a "Hello, Node.js!" szövegnek kell megjelennie.
2.5. Feladat: Szerver fejlesztése dinamikus
válaszokkal
A feladatod az, hogy módosítsd a fenti szervert úgy, hogy különböző
üzeneteket küldjön vissza attól függően, hogy a felhasználó milyen útvonalra
navigál a böngészőben. Ha a felhasználó a http://127.0.0.1:3000/
címre megy, a szerver "Üdvözöljük az oldalon!" üzenetet küldjön
vissza, ha a http://127.0.0.1:3000/about
címre navigál, a szerver "Ez az about oldal!" üzenetet küldjön, ha
pedig bármilyen más útvonalra, akkor a szerver válasza legyen "Az oldal
nem található!".
- Nyisd
meg a
simple-server.jsfájlt, és végezd el a szükséges módosításokat.
- Szerver
futtatása: Futtasd újra a szervert az előzőekhez
hasonlóan:
- Szerver
tesztelése: Próbáld ki a következő URL-eket a
böngésződben:
http://127.0.0.1:3000/→ "Üdvözöljük az oldalon!" üzenethttp://127.0.0.1:3000/about→ "Ez az about oldal!" üzenethttp://127.0.0.1:3000/valami_mas→ "Az oldal nem található!" üzenet
Ezzel egy dinamikus HTTP szervert hoztál létre, amely az útvonalak alapján
különböző válaszokat ad.
Nincsenek megjegyzések:
Megjegyzés küldése