Máy chủ NodeJS là gì?

Để truy cập các trang web của bất kỳ ứng dụng web nào, bạn cần có máy chủ web. Máy chủ web sẽ xử lý tất cả các yêu cầu http cho ứng dụng web e. g IIS là một máy chủ web cho ASP. NET và Apache là một máy chủ web cho các ứng dụng web PHP hoặc Java

Nút. js cung cấp các khả năng để tạo máy chủ web của riêng bạn, máy chủ này sẽ xử lý các yêu cầu HTTP không đồng bộ. Bạn có thể sử dụng IIS hoặc Apache để chạy Node. js nhưng nên sử dụng Node. máy chủ web js

Tạo nút. máy chủ web js

Nút. js giúp dễ dàng tạo một máy chủ web đơn giản xử lý các yêu cầu gửi đến một cách không đồng bộ

Ví dụ sau đây là một Node đơn giản. máy chủ web js chứa trong máy chủ. tập tin js

người phục vụ. js

Sao chép

var http = require('http'); // 1 - Import Node.js core module

var server = http.createServer(function (req, res) {   // 2 - creating server

    //handle incomming requests here..

});

server.listen(5000); //3 - listen for any incoming requests

console.log('Node.js web server at port 5000 is running..')

Trong ví dụ trên, chúng tôi nhập mô-đun http bằng hàm require(). Mô-đun http là mô-đun cốt lõi của Node. js, vì vậy không cần cài đặt nó bằng NPM. Bước tiếp theo là gọi phương thức createServer() của http và chỉ định chức năng gọi lại với tham số yêu cầu và phản hồi. Cuối cùng, gọi phương thức listen() của đối tượng máy chủ được trả về từ phương thức createServer() với số cổng, để bắt đầu lắng nghe các yêu cầu đến trên cổng 5000. Bạn có thể chỉ định bất kỳ cổng không sử dụng nào tại đây

Chạy máy chủ web trên bằng cách viết lệnh node server.js trong dấu nhắc lệnh hoặc cửa sổ đầu cuối và nó sẽ hiển thị thông báo như hình bên dưới

C. \> máy chủ nút. js
Nút. máy chủ web js tại cổng 5000 đang chạy

Đây là cách bạn tạo một Nút. máy chủ web js bằng các bước đơn giản. Bây giờ, hãy xem cách xử lý yêu cầu HTTP và gửi phản hồi trong Node. máy chủ web js

Xử lý yêu cầu HTTP

http. phương thức createServer() bao gồm các tham số yêu cầu và phản hồi được cung cấp bởi Node. js. Đối tượng yêu cầu có thể được sử dụng để lấy thông tin về yêu cầu HTTP hiện tại. g. , url, tiêu đề yêu cầu và dữ liệu. Đối tượng phản hồi có thể được sử dụng để gửi phản hồi cho yêu cầu HTTP hiện tại

Ví dụ sau minh họa việc xử lý yêu cầu và phản hồi HTTP trong Node. js

người phục vụ. js

Sao chép

var http = require('http'); // Import Node.js core module

var server = http.createServer(function (req, res) {   //create web server
    if (req.url == '/') { //check the URL of the current request
        
        // set response header
        res.writeHead(200, { 'Content-Type': 'text/html' }); 
        
        // set response content    
        res.write('

This is home Page.

'
); res.end(); } else if (req.url == "/student") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is student Page.

'
); res.end(); } else if (req.url == "/admin") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is admin Page.

'
); res.end(); } else res.end('Invalid Request!'); }); server.listen(5000); //6 - listen for any incoming requests console.log('Node.js web server at port 5000 is running..')

Trong ví dụ trên, yêu cầu. url được sử dụng để kiểm tra url của yêu cầu hiện tại và dựa vào đó nó sẽ gửi phản hồi. Để gửi phản hồi, trước tiên, nó đặt tiêu đề phản hồi bằng phương thức writeHead() và sau đó viết một chuỗi dưới dạng nội dung phản hồi bằng phương thức write(). Cuối cùng, nút. máy chủ web js gửi phản hồi bằng phương thức end()

Bây giờ, hãy chạy máy chủ web ở trên như hình bên dưới

C. \> máy chủ nút. js
Nút. máy chủ web js tại cổng 5000 đang chạy.

Để kiểm tra, bạn có thể sử dụng chương trình dòng lệnh curl mà hầu hết các máy Mac và Linux đều cài đặt sẵn

Nút. js có một mô-đun tích hợp có tên 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). Mô-đun HTTP có thể tạo một máy chủ HTTP lắng nghe các cổng của máy chủ và gửi phản hồi lại cho máy khách

Thí dụ




// Import the Node.js http module

var http = require('http'); 

________số 8

// req is the request object which is

var http = require('http'); // Import Node.js core module

var server = http.createServer(function (req, res) {   //create web server
    if (req.url == '/') { //check the URL of the current request
        
        // set response header
        res.writeHead(200, { 'Content-Type': 'text/html' }); 
        
        // set response content    
        res.write('

This is home Page.

'
); res.end(); } else if (req.url == "/student") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is student Page.

'
); res.end(); } else if (req.url == "/admin") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is admin Page.

'
); res.end(); } else res.end('Invalid Request!'); }); server.listen(5000); //6 - listen for any incoming requests console.log('Node.js web server at port 5000 is running..')
0

var http = require('http'); // Import Node.js core module

var server = http.createServer(function (req, res) {   //create web server
    if (req.url == '/') { //check the URL of the current request
        
        // set response header
        res.writeHead(200, { 'Content-Type': 'text/html' }); 
        
        // set response content    
        res.write('

This is home Page.

'
); res.end(); } else if (req.url == "/student") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is student Page.

'
); res.end(); } else if (req.url == "/admin") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is admin Page.

'
); res.end(); } else res.end('Invalid Request!'); }); server.listen(5000); //6 - listen for any incoming requests console.log('Node.js web server at port 5000 is running..')
1

var http = require('http'); // Import Node.js core module

var server = http.createServer(function (req, res) {   //create web server
    if (req.url == '/') { //check the URL of the current request
        
        // set response header
        res.writeHead(200, { 'Content-Type': 'text/html' }); 
        
        // set response content    
        res.write('

This is home Page.

'
); res.end(); } else if (req.url == "/student") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is student Page.

'
); res.end(); } else if (req.url == "/admin") { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('

This is admin Page.

'
); res.end(); } else res.end('Invalid Request!'); }); server.listen(5000); //6 - listen for any incoming requests console.log('Node.js web server at port 5000 is running..')
2

________số 8

var1

var2var3 var4

________số 8

var6

var7

var8

var9http = require(0http = require(1____52http = require(3

________số 8

http = require(5http = require(6

http = require(5http = require(8____59'http'0

________số 8

http = require(5'http'3

http = require(5'http'5

________số 8

'http'7'http'8

________số 8

); 0____71); 2

Hàm được truyền trong http. createServer() sẽ được thực thi khi client truy cập url http. //máy chủ cục bộ. 8081

Các bước chạy code

  • Lưu mã trên vào một tệp có. tiện ích mở rộng js
  • Mở dấu nhắc lệnh và đi đến thư mục chứa tệp ở đó bằng lệnh cd
  • Chạy lệnh node file_name. js
  • Mở trình duyệt và truy cập url http. //máy chủ cục bộ. 8081

Máy chủ NodeJS là gì?

Khi http. //máy chủ cục bộ. 8081 được mở trong trình duyệt

Máy chủ NodeJS là gì?

http. phương thức createServer() bao gồm đối tượng yêu cầu có thể được sử dụng để lấy thông tin về yêu cầu HTTP hiện tại. g. url, tiêu đề yêu cầu và dữ liệu

Nút js là máy khách hay máy chủ?

Nút. js là môi trường thời gian chạy JavaScript mã nguồn mở cho phép các nhà phát triển chạy mã JavaScript trên máy chủ . Nếu điều đó quá phức tạp để bạn hiểu thì bạn nên nghĩ về nó theo cách này. Nút. js là JavaScript chạy bên ngoài trình duyệt — trên máy chủ.

Nút js có phải là ngôn ngữ máy chủ không?

Trong một từ. không. Nút. js không phải là ngôn ngữ lập trình . Thay vào đó, đó là một môi trường thời gian chạy được sử dụng để chạy JavaScript bên ngoài trình duyệt.