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
http
moduljá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.js
fá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