Mô-đun HTTP Node.js
Mô-đun HTTP tích hợp
Node.js có một mô-đun tích hợp có tên HTTP, cho phép Node.js truyền dữ liệu qua Giao thức truyền siêu văn bản (HTTP).
Để bao gồm mô-đun HTTP, hãy sử dụng phương thức require()
:
var http = require('http');
Node.js với tư cách là Máy chủ Web
Mô-đun HTTP có thể tạo một máy chủ HTTP lắng nghe các cổng máy chủ và đưa ra phản hồi lại cho máy khách.
Sử dụng phương thức createServer()
để tạo máy chủ HTTP:
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
Chạy ví dụ » Hàm được truyền vào phương thức http.createServer()
sẽ được thực thi khi ai đó cố truy cập vào máy tính trên cổng 8080.
Lưu mã ở trên vào tệp có tên "demo_http.js" và khởi tạo tệp:
Bắt đầu demo_http.js:
C:\Users\ Your Name >node demo_http.js
Nếu bạn đã làm theo các bước tương tự trên máy tính của mình, bạn sẽ thấy kết quả tương tự như ví dụ: https://localhost:8080
Thêm tiêu đề HTTP
Nếu phản hồi từ máy chủ HTTP được cho là hiển thị dưới dạng HTML, bạn nên bao gồm tiêu đề HTTP với loại nội dung chính xác:
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);
Chạy ví dụ » Đối số đầu tiên của phương thức res.writeHead()
là mã trạng thái, 200 có nghĩa là tất cả đều ổn, đối số thứ hai là một đối tượng chứa các tiêu đề phản hồi.
Đọc chuỗi truy vấn
Hàm được truyền vào http.createServer()
có đối số req
đại diện cho yêu cầu từ máy khách, dưới dạng một đối tượng (đối tượng http.IncomingMessage).
Đối tượng này có một thuộc tính được gọi là "url" chứa phần url đứng sau tên miền:
demo_http_url.js
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 mã ở trên vào tệp có tên "demo_http_url.js" và khởi tạo tệp:
Bắt đầu demo_http_url.js:
C:\Users\ Your Name >node demo_http_url.js
Nếu bạn đã làm theo các bước tương tự trên máy tính, bạn sẽ thấy hai kết quả khác nhau khi mở hai địa chỉ này:
https://localhost:8080/mùa đông
Tách chuỗi truy vấn
Có các mô-đun tích hợp để dễ dàng chia chuỗi truy vấn thành các phần có thể đọc được, chẳng hạn như mô-đun URL.
Ví dụ
Chia chuỗi truy vấn thành các phần có thể đọc được:
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;
var txt = q.year + " " +
q.month ;
res.end(txt);
}).listen(8080);
Lưu mã ở trên vào tệp có tên "demo_querystring.js" và khởi tạo tệp:
Bắt đầu demo_querystring.js:
C:\Users\ Your Name >node demo_querystring.js
Địa chỉ:
https://localhost:8080/?year=2017&month=July
Đọc thêm về mô-đun URL trong chương Mô-đun URL của Node.js.