Social Icons

Wednesday, January 3, 2018

Creating a mini web server by using Node.js

I have voluntarily chosen to take again the program of example available on the home page of the official site of Node, because this one shows very effectively one of the main qualities of  Node.js: its brevity.



1 - Creating server code


Here is the code of the program:


var http = require ('http');
http.createServer (function (req, res) {
res.writeHead(200, {'Content-Type': 'text / plain'});
res.end('Hello World ! \n');
}).listen (8080, '127.0.0.1');
console.log ('Server running at http://127.0.0.1:8080/');

And that's all !

2 - Starting & running the server


Before explaining the contents of the script, let's try to run it to discover the power of Node.js. For that :

  1. create a file called for example hello.js in which you place the code above. 
  2. Then open the command line, 
  3. go to the script directory, 
  4. type the command node  hello.js;


the display should be:



The program is waiting, it's normal it's our server running.
Now open your web browser and go to the URL http://127.0.0.1:8080
The text "Hello World ! " is displayed :



So if we summarize, you have just created a web server in 6 lines of code! (And again, one of them only serves to display a "Server running ..." message.)

2 - Code Interpretation


Explanations are required, to start :
  1. We retrieve the http module in a Javascript variable  via the syntax

    var  http  =  require ( ' http ' ) ;
    require makes a call to a library of Node.js, here the library "http" which allows us to create a web server. There are tons of libraries like this one, most of which can be downloaded with NPM, the package manager of Node.js
  2. The http variable represents a JavaScript object that will allow us to launch a web server. This is exactly what we do with:

    var server = http.createServer ();
    We call the createServer () function contained in the http object and we register this server in the server variable. You will notice that the createServer function takes a parameter ... and that this parameter is a function! That's why the instruction is a little complicated, since it extends over several lines. The createServer method where we pass as a function in callback, has two arguments:
    • The request made by the browser (request)
    • The response  that will be sent
  3. The listen(port, url) method, indicates that the server is listening on the chosen port (in the example above the chosen port is: 8080), while the url parameter indicates the address through which the server is accessible (in the example above the url parameter chosen is: 127.0.0.1). Finally, under these conditions, the server is accessible via the address http: // 127.0.0.1: 8080/

Younes Derfoufi

No comments:

Post a Comment

Category Of Mobile Courses

Actualités (644) Adsense (1) Affiliation (1) Algebraic Topology (2) Algorithmic (1) all-news (30) Android (5) Android App (8) Android app without code (4) Android Apps (189) Android Development (4) Android download (2) Android OS (3) AngularJS (1) Automata theory and formal language (5) C programming (5) Category and Functor (8) CMS (3) Computer Glossary (18) Create Mobile App With Ionic Framework (2) CSS (2) CSS-Cascading-Style-Sheets (4) Developpement Java (13) Differential Geometry (1) Django-Python-Framework (8) dropshiping (26) Earn Money by Internet (4) Emplois (23) Framework php (2) Fraud (2) HTML (7) Java For Beginners (10) Javascript (12) Kotlin Programming Language (8) Kotlin For Mobile Android (1) Linux Download (2) Marketing (5) Mobile (3) Mobile Courses (4) Mobile Marketing (4) MoneyGram (1) News (721) Node.js (5) Open Source (1) Photoshop (1) Protect Computer (1) Python (35) Python BeautifulSoup (1) Python For Data Science (2) Python-Books (6) Python-DVD-Training (1) Python-Exercises (165) Python-Framework (1) Python-IDE (1) Python-Modules (1) Python-pdf (2) Python-pyQt (1) Référencement (2) Script PHP (2) Security (6) SEO (1) Snipping Tool: Faq (1) Social Networks (1) Source Code (1) Statistics With SPSS (2) Surveillance Software (1) Travail à domicile (6) Tutoriels php en vidéos (2) Tutoriels-MySql (6) tutoriels-php (19) Utilitaires (1) VPS (1) Web Hosting (1) Webcam (1) Webmarketing (11) Western Union (1) Windows 10 (1) Windows 7 (4) Windows 7 Faq (2) Windows 8 (1) Windows Accessories (1) Windows Download (8) Windows Drivers (1) Windows Fonts (1) Windows Power Shell (2) Windows Registry (2) Windows Security (18) Windows Software (2) Windows Spyware (2) Windows utilities (3) Windows Virus (2) Windows Vista (3) Windows Wireless (1) Windows xp (1) Wordpress (1)
 

Sample text

Sample Text

 
Blogger Templates