{ 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.
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