Mô-đun HTTP Node.js
Mô-đun HTTP tích hợp
Node.js có một mô-đun tích hợp được gọi là 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
require()
phương pháp:
var http = require('http');
Node.js như một 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 createServer()
phương pháp để tạo máy chủ HTTP:
Thí 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
Hàm được truyền vào http.createServer()
phương thức, sẽ được thực thi khi ai đó cố gắng 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ụ: http: // 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:
Thí 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);
Đối số đầu tiên của res.writeHead()
phương thức là mã trạng thái, 200 có nghĩa là tất cả đều OK, đố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ó một req
đối số đạ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 gọi là "url" chứa một phần của 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 trong một 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 của mình, bạn sẽ thấy hai kết quả khác nhau khi mở hai địa chỉ này:
http: // localhost: 8080 / mùa hè
Sẽ tạo ra kết quả này:
/summer
http: // localhost: 8080 / mùa đông
Sẽ tạo ra kết quả này:
/winter
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.
Thí 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 một tệp có tên "demo_querystring.js" và khởi tạo tệp:
Khởi tạo demo_querystring.js:
C:\Users\Your Name>node demo_querystring.js
Địa chỉ:
Sẽ tạo ra kết quả này:
2017 July
Đọc thêm về mô-đun URL trong chương Mô-đun URL Node.js.