2024. szeptember 3., kedd

12 évf. itk - 2. fejezet: Node.js alapú HTTP szerver létrehozása

 

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:

  1. Modulok betöltése: A Node.js http modulját kell használnunk a HTTP szerver létrehozásához.
  2. 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.
  3. 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.

  1. Fájl létrehozása: Hozz létre egy új fájlt, nevezzük el simple-server.js-nek.
  2. 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/');
});
  1. 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
  1. 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ó!".

  1. Nyisd meg a simple-server.js fájlt, és végezd el a szükséges módosításokat.
  1. Szerver futtatása: Futtasd újra a szervert az előzőekhez hasonlóan:
  1. 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!" üzenet
    • http://127.0.0.1:3000/about → "Ez az about oldal!" üzenet
    • http://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

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...