NTM Solutions

Thứ Năm, 28 tháng 5, 2020

NODEJS-BÀI 03-MODULE HTTP


Quay về Mục lục NodeJS

01-Module có sẵn HTTP

NODEJS có 01 module xây dựng sẵn tên là HTTP cho phép NODEJS chuyển dữ liệu dựa trên phương thức HTTP.

Để đính kèm module HTTP, ta dùng phương thức require()

var http = require('http');

02-NODEJS như là 01 máy chủ WEB

Module HTTP có thể tạo 01 máy chủ HTTP có khả năng lắng nghe các cổng của máy chủ và phản hồi về người dùng.

Ta dùng phương thức createServer() để tạo máy chủ HTTP.

Ví dụ:

var http = require('http');

//tạo 01 đối tượng máy chủ:
http.createServer(function (req, res) {
  res.write(
'Xin chào NODEJS!'); //viết phản hồi trả về người dùng
  res.end(); //kết thúc phản hồi
}).listen(8080); //đối tượng máy chủ lắng nghe trên cổng 8080

Hàm đặt trong phương thức http.createServer(), sẽ được thực thi khi người dùng nào đó cố gắng truy cập máy chủ trên cổng 8080.

Lưu mã này lại với tên demo_http.js và khởi chạy tập tin bằng lệnh CMD như sau:

d:/NODE/node demo_http.js

Nếu bạn làm đúng=>mở trình duyệt và vào đường dẫn sau sẽ thấy kết quả: http://localhost:8080

03-Thêm vào 01 HTTP Header

Nếu phản hồi trả về từ máy chủ HTTP có hiển thị dạng HTML, ta phải đính kèm 01 HTTP header với đúng loại nội dung.

Ví dụ:

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

Tham số đầu tiên của phương thức res.writeHead() là mã tình trạng ,200 nghĩa là mọi thứ OK.

Tham số thứ 02 là 01 đối tượng chứa các headers trả về người dùng.

04-Đọc câu truy vấn

Hàm trong phương thức http.createServer() có 01 tham số req, đại diện cho yêu cầu từ người dùng, như là 01 đối tượng ( đối tượng http.IncomingMessage).

Đối tượng này có 01 thuộc tính gọi là “url” lưu giữu phần đuôi của liên kết nằm sau phần tên miền.

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

Lưu đoạn mà trên vào tập tin tên là “demo_http_url.js” và khởi chạy nó.

D:/NODE node demo_http_url.js

Nếu làm đúng thì kết quả sẽ trả về khi ta truy cập vào trình duyệt: http://localhost:8080/drM

Kết quả hiện ra là: /drM

05-Cắt câu truy vấn

Có những module dựng sẵn giúp ta dễ dàng cắt câu truy vấn thành các phần có thể đọc được, ví dụ như module URL.

Ví dụ:

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.urltrue).query;
  var txt = q.year + " " + q.month;
  res.end(txt);
}).listen(
8080);

Lưu đoạn mã trên thành tập tin “demo_querystring.js” và khởi chạy nó

D:/NODE node demo_querystring.js

Liên kết là: http://localhost:8080/?year=2020&month=March

Kết quả trả ra sẽ là: 2020 March

Ta sẽ học kỹ về module URL trong BÀI 05-MODULE URL

Nếu vẫn chưa rõ các bạn xem thêm video clip sau:



Các bạn hãy bấm nút LIKE và SHARE để mình có động lực viết thêm nhiều nhiều bài viết nữa.
 By #drM

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS