46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: HTTP
 | |
| ---
 | |
| ## HTTP
 | |
| 
 | |
| Node.js has a set of built-in modules which you can use without any further installation. Similarly **HTTP module** contains a set of functions which are required to transfer data over the Hyper Text Transfer Protocol (HTTP).
 | |
| 
 | |
| The HTTP module can create an HTTP server that listens to server ports and gives a response back to the client.
 | |
| 
 | |
| In order to to include a module, use the ```require()``` function with the name of the module.
 | |
| 
 | |
| ```javascript
 | |
| const http = require('http');
 | |
| ```
 | |
| 
 | |
| ## Node.js as a Web Server
 | |
| 
 | |
| The ```createServer()``` method is used to create an HTTP server. The first argument of the ```res.writeHead()``` method is the status code, ```200``` means that all is OK, the second argument is an object containing the response headers.
 | |
| 
 | |
| ```javascript
 | |
| const http = require('http');
 | |
| 
 | |
| //create a server object:
 | |
| http.createServer((req, res) => {
 | |
|   res.writeHead(200, {'Content-Type': 'text/plain'});
 | |
|   res.write('Hello World!'); //write a response to the client
 | |
|   res.end(); //end the response
 | |
| }).listen(8000); //the server object listens on port 8000
 | |
| 
 | |
| console.log("Server is listening on port no : 8000");
 | |
| ```
 | |
| 
 | |
| ### Steps for execution :
 | |
| 
 | |
| * You should have Node.js installed in your computer.
 | |
| * Create a file *app.js* and paste the above code.
 | |
| * Now open your console in the working directory and execute the command ``` node app.js ```.
 | |
| * Open your browser and enter ```http://localhost:8000```
 | |
| 
 | |
| *Note:* In order to close the server then press ```ctrl + C``` in your console for windows users.
 | |
| 
 | |
| ## Resources
 | |
| 
 | |
| * [Node.js API](https://nodejs.org/api/http.html#http_http)
 | |
| * [W3 Schools](https://www.w3schools.com/nodejs/nodejs_http.asp)
 |