Code ví dụ Node.js HTTP Module – Tự học Node.js

Code ví dụ Node.js HTTP Module – Tự học Node.js

HTTP Module

HTTP module là một module có sẵn sau khi cài Node.js (bạn không cần phải cài thêm nhé)
HTTP module cho phép truyền tải dữ liệu thông qua giao thức Hyper Text Transfer Protocol (HTTP)

Để include module HTTP ta dùng method require

var http = require('http');

Tạo web server với http module

Với HTTP module ta có thể tạo một HTTP Server thực hiện lắng nghe qua port và gửi response về cho client

Để tạo một HTTP server ta dùng method createServer()

Ví dụ:

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.write('Hello World!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080
console.log('server started')

Trọng ví dụ trên mình tạo một server thực hiện lister qua cổng 8080, và mặc định thực hiện trả về dòng chữ ‘Hello World!’

Chạy file index.js bên trên: (Mình lưu file bên trên thành file index.js và để ở folder E:\nodejs các bạn chạy trên cmd thì cd tới folder mà các bạn chứa file nhé)

Code ví dụ Node.js HTTP Module - Tự học Node.js

Code ví dụ Node.js HTTP Module - Tự học Node.js

Thêm header vào response trả về client

Trong một số trường hợp ta thêm header vào response để trả về các thông tin như http status code, content type (để chỉ rõ dữ liệu trả về thuộc dạng JSON hay text-html…)

If the response from the HTTP server is supposed to be displayed as HTML, you should include an HTTP header with the correct content type:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(8080);

Xử lý url, path variable từ request gửi lên

Sau khi khởi tạo Http server lắng nghe từ cổng 8080 thì tất cả các request qua cổng 8080 sẽ được Node.js xử lý.

Ở đây mình sẽ thực hiện kiểm tra xem client gửi uri là gì, dùng module uri để parse các thông tin trong uri.

Ví dụ: với uri http://localhost:8080?year=2017&month=July

var http = require('http');
var url = require('url');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var q = url.parse(req.url, true).query;
  res.write("URI: " + req.url +"<br/>");
  var txt = "Year/Month: " + q.year + " / " + q.month;
  res.end(txt);
}).listen(8080);
console.log('server started')

Xử lý url, path variable từ request gửi lên

Code ví dụ Node.js HTTP Module – Tự học Node.js stackjava.com

Okay, Done!

Bài tiếp theo mình sẽ thực hiện submit form với Node.js

Download code ví dụ trên tại đây.

 

 

References:

https://nodejs.org/dist/latest-v8.x/docs/api/http.html

https://www.w3schools.com/nodejs/nodejs_http.asp

stackjava.com