Tạo máy chủ web HTTP trong Node.js: Hướng dẫn với ví dụ về mã
Framework Node.js chủ yếu được sử dụng để tạo các ứng dụng dựa trên máy chủ. Khung này có thể dễ dàng được sử dụng để tạo các máy chủ web có thể phục vụ nội dung cho người dùng.
Có nhiều mô-đun khác nhau, chẳng hạn như mô-đun “http” và “request”, giúp xử lý các yêu cầu liên quan đến máy chủ trong không gian máy chủ web. Chúng ta sẽ xem xét cách tạo một ứng dụng máy chủ web cơ bản bằng cách sử dụng Nút js.
Nút như một máy chủ web sử dụng HTTP
Hãy xem một ví dụ về cách tạo và chạy ứng dụng Node js đầu tiên của chúng ta.
Ứng dụng của chúng tôi sẽ tạo một mô-đun máy chủ đơn giản sẽ lắng nghe trên cổng số 7000. Nếu một yêu cầu được thực hiện thông qua trình duyệt trên cổng số này thì ứng dụng máy chủ sẽ gửi phản hồi 'Hello World' cho khách hàng.
Giải thích mã
- Chức năng cơ bản của hàm require là nó đọc một JavaScript tệp, thực thi tệp và sau đó tiến hành trả về đối tượng xuất. Vì vậy, trong trường hợp của chúng tôi, vì chúng tôi muốn sử dụng chức năng của mô-đun http, nên chúng tôi sử dụng hàm yêu cầu để nhận các chức năng mong muốn từ mô-đun http để có thể sử dụng nó trong ứng dụng của chúng tôi.
- Trong dòng mã này, chúng ta đang tạo một ứng dụng máy chủ dựa trên một hàm đơn giản. Hàm này được gọi bất cứ khi nào có yêu cầu được gửi tới ứng dụng máy chủ của chúng tôi.
- Khi nhận được yêu cầu, chúng tôi yêu cầu gửi phản hồi có loại tiêu đề là '200.' Con số này là phản hồi bình thường được gửi trong tiêu đề http khi phản hồi thành công được gửi tới máy khách.
- Trong phản hồi, chúng tôi đang gửi chuỗi 'Xin chào thế giới.'
- Sau đó, chúng tôi đang sử dụng hàm server.listen để làm cho ứng dụng máy chủ của chúng tôi lắng nghe các yêu cầu của khách hàng trên cổng số 7000. Bạn có thể chỉ định bất kỳ cổng khả dụng nào ở đây.
Nếu lệnh được thực thi thành công, kết quả sau sẽ hiển thị khi bạn chạy mã trên trình duyệt.
Đầu ra
Từ đầu ra,
- Các bạn có thể thấy rõ nếu chúng ta duyệt tới URL của localhost trên cổng 7000 sẽ thấy dòng chữ “Hello World” hiển thị trên trang.
- Bởi vì trong mã của chúng tôi, chúng tôi đã đề cập cụ thể đến việc máy chủ nghe trên cổng số 7000, nên chúng tôi có thể xem đầu ra khi duyệt tới url này.
Đây là mã để bạn tham khảo
var http=require('http') var server=http.createServer((function(request,response) { response.writeHead(200, {"Content-Type" : "text/plain"}); response.end("Hello World\n"); })); server.listen(7000);
Xử lý các yêu cầu GET trong Node.js
Việc tạo một GET Request để lấy dữ liệu từ một site khác tương đối đơn giản trong Node.js. Để tạo một Get Request trong node, trước tiên chúng ta cần cài đặt module request. Có thể thực hiện bằng cách thực thi dòng lệnh sau trong dòng lệnh
yêu cầu cài đặt npm
Lệnh trên yêu cầu trình quản lý gói Node tải xuống các mô-đun yêu cầu cần thiết và cài đặt chúng cho phù hợp.
Khi mô-đun npm của bạn đã được cài đặt thành công, dòng lệnh sẽ hiển thị tên và phiên bản mô-đun đã cài đặt: @ .
Trong ảnh chụp nhanh ở trên, bạn có thể thấy mô-đun 'request' cùng với số phiên bản 2.67.0 đã được tải xuống và cài đặt.
Bây giờ hãy xem đoạn mã có thể sử dụng lệnh 'request' này.
Giải thích mã
- Chúng tôi đang sử dụng mô-đun 'yêu cầu' đã được cài đặt ở bước cuối cùng. Mô-đun này có các chức năng cần thiết có thể được sử dụng để thực hiện các yêu cầu GET tới các trang web.
- Chúng tôi đang thực hiện Yêu cầu GET tới www.google.com và sau đó gọi một hàm khi nhận được phản hồi. Khi nhận được phản hồi, các tham số (lỗi, phản hồi và nội dung) sẽ có các giá trị sau
- Error – Trong trường hợp nhận được bất kỳ lỗi nào khi sử dụng yêu cầu GET, lỗi đó sẽ được ghi lại tại đây.
- Phản hồi- Phản hồi sẽ có các tiêu đề http được gửi lại trong phản hồi.
- Nội dung- Nội dung sẽ chứa toàn bộ nội dung phản hồi được gửi bởi Google.
- Trong phần này, chúng ta chỉ ghi nội dung nhận được trong tham số body vào tệp console.log. Vì vậy, về cơ bản, bất cứ điều gì chúng ta nhận được bằng cách truy cập www.google.com sẽ được ghi vào console.log.
Đây là mã để bạn tham khảo
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Tổng kết
- Khung Node.js có thể được sử dụng để phát triển máy chủ web bằng mô-đun 'http'. Ứng dụng có thể được thực hiện để lắng nghe trên một cổng cụ thể và gửi phản hồi cho khách hàng bất cứ khi nào có yêu cầu đối với ứng dụng.
- Mô-đun 'yêu cầu' có thể được sử dụng để lấy thông tin từ các trang web. Thông tin sẽ chứa toàn bộ nội dung của trang web được yêu cầu từ trang web liên quan.