Backend elmélet...

...és Node.js kódolás

{ Node.js }

A Node.js (vagy más néven Node) egy rendszer, melyben JavaScriptben írhatunk szerver oldali alkalmazásokat. Maga a rendszer C/C++-ban íródott, és egy esemény alapú I/O rendszert takar a Google V8 JavaScript motorja felett. A Node célja, hogy egy egyszerű felületet adjon skálázható hálózati alkalmazások írására. Azt tudjuk, hogy a JavaScript a világon a jelenleg legnépszerűbb programozási nyelv, többek között ezért esett erre a nyelvre a választás. A JavaScript nyelvnek vannak más sajátosságai, amelyek szintén előtérbe kerülnek a rendszer használata során. Ahogy a böngészőben, úgy Node alatt is egyetlen esemény hurokban (event loop) fut a program, és ez adja az egyik legfontosabb előnyt. A Node.js-t úgy írták meg, hogy (szinte) minden esemény aszinkron legyen, ezért a program sosem blokkolódik, azaz nem kell várni, hogy egy művelet befejeződjön, vele párhuzamosan futtathatunk további műveleteket. Ez pontosan úgy működik, mint a böngészőben levő XHR kérések, vagy más események, mint például a click, mouseover. Ez az alkalmazás folyamatosabb futását, több alkalmazás párhuzamosítását, valamint az egész rendszer optimálisabb működését teszi lehetővé. A közhiedelemmel ellentétben a Node.JS és a böngésző jelentősen különböznek egymástól, annak ellenére hogy mindkettő a JavaScript nyelven alapszik. A node.js veszi az alap nyelvet akárcsak bármelyik böngésző motor, és különböző API-kkal bővíti azt, ezzel lehetőséget nyújtva szerveroldali műveletekre, hálózati feladatok ellátására.

A HTTP protokoll nyolcféle metódust definiál:


HEAD

Ugyanazt adja vissza, mint a GET, csak magát az üzenettestet hagyja ki a válaszból.

GET

A megadott erőforrás letöltését kezdeményezi. Ez messze a leggyakrabban használt metódus.

POST

Feldolgozandó adatot küld fel a szerverre. Például HTML űrlap tartalmát. Az adatot az üzenettest tartalmazza.

PUT

Feltölti a megadott erőforrást.

DELETE

Törli a megadott erőforrást.

TRACE

Visszaküldi a kapott kérést. Ez akkor hasznos, ha a kliens oldal arra kíváncsi, hogy a köztes gépek változtatnak-e, illetve mit változtatnak a kérésen.

OPTIONS

Visszaadja a szerver által támogatott HTTP metódusok listáját.

CONNECT

Átalakítja a kérést transzparens TCP/IP tunnellé. Ezt a metódust jellemzően SSL kommunikáció megvalósításához használják.

HTTP

Státuszkódok:

1xx

Informatív – tájékoztató információk. A kérést megkapta a szerver, feldolgozás következik

2xx

Siker – A kérést sikeresen megkapta, elfogadta, megértette a szerver.

3xx

Átirányítás – A kérés megválaszolásához további műveletre van szükség.

4xx

Kliens hiba – A kérés szintaktikailag hibás vagy nem teljesíthető.

5xx

Szerver hiba – A szerver nem tudta teljesíteni az egyébként helyes kérést.

Jó tudni!

A HTTP-állapotkódokat a kliens kérésére adott válasz első sora tartalmazza.

Git... amire még szükség lehet


Letöltöm

Státuszkódból öt darabot különböztetünk meg: információ, sikeres, átirányítás, kliens oldali hiba, szerver vagy belső hiba...

A Node hivatalos csomagkezelője az npm, amellyel kényelmesen listázhatjuk, telepíthetjük, frissíthetjük és eltávolíthatjuk az elérhető modulokat, valamint mi magunk is publikálhatjuk az általunk fejlesztett modulokat az npm rendszerébe. Jelenleg több mint 600 modul érhető el az npm rendszerében.

A HTTP protokol 8 féle metódust definiál: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT

Az MVC modell három részből áll: model-view-controller. Magyarra fordítva: MNV(modell-nézet-vezérlő) A model a html, a view a css és a controller a JS adatok.

Team

Projekt Team

....

Projekttag

Rékási László

Projekttag