hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
      • NodeJS
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
      • MongoDB
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Machine Learning
    • Git và Github
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • NodeJS
Node.js là gì? Kiến trúc client-server và cách cài đặt Node.js

Node.js là gì? Kiến trúc client-server và cách cài đặt Node.js

  • 22-07-2026
  • Toanngo92
  • 0 Comments

Node.js cho phép chạy JavaScript bên ngoài trình duyệt và là một nền tảng phổ biến để xây dựng API, dịch vụ web, công cụ dòng lệnh và ứng dụng thời gian thực. Để hiểu Node.js, trước tiên cần nắm được kiến trúc client–server, vai trò của web server và điểm khác biệt giữa xử lý phía trình duyệt với xử lý phía máy chủ.

Mục lục

  • 1. Kiến trúc client–server là gì?
  • 2. Lập trình phía máy chủ
  • 3. Web server làm những gì?
  • 4. Node.js là gì?
  • 5. Cài đặt Node.js LTS trên Windows
  • 6. Kiểm tra Node.js và npm
  • 7. Chạy chương trình Node.js đầu tiên
  • 8. Lỗi thường gặp khi mới cài đặt
  • 9. Tổng kết

1. Kiến trúc client–server là gì?

Trong kiến trúc client–server, client gửi yêu cầu qua mạng và server tiếp nhận, xử lý rồi trả kết quả. Client có thể là trình duyệt, ứng dụng di động hoặc chương trình desktop. Server có thể cung cấp trang web, API, tệp, dữ liệu hoặc dịch vụ xác thực.

Sơ đồ kiến trúc client server gồm request và response
Client gửi request qua mạng; server xử lý và trả response.
  • Client: hiển thị giao diện, nhận thao tác người dùng và gửi yêu cầu.
  • Network: môi trường truyền dữ liệu, thường sử dụng HTTP hoặc HTTPS.
  • Server: thực thi logic nghiệp vụ, truy cập cơ sở dữ liệu và tạo phản hồi.

Ví dụ, khi người dùng đăng nhập, trình duyệt gửi email và mật khẩu tới server qua HTTPS. Server kiểm tra thông tin, tạo phiên đăng nhập hoặc token rồi trả kết quả. Mật khẩu không nên được kiểm tra chỉ ở phía client vì mã phía trình duyệt có thể bị xem và thay đổi.

2. Lập trình phía máy chủ

Lập trình phía máy chủ (server-side programming) là việc viết mã chạy trên server để xử lý yêu cầu của client. Các nhiệm vụ điển hình gồm xác thực người dùng, đọc và ghi cơ sở dữ liệu, xử lý thanh toán, gửi email, phân quyền và tạo nội dung động.

So sánh chức năng của website tĩnh và website động
Website động tạo nội dung dựa trên dữ liệu và yêu cầu của người dùng.
Phía clientPhía server
Hiển thị giao diện và tương tácXử lý nghiệp vụ và dữ liệu
Chạy trong trình duyệt hoặc ứng dụngChạy trên máy chủ hoặc nền tảng đám mây
Không nên chứa bí mậtCó thể quản lý biến môi trường và thông tin xác thực
HTML, CSS, JavaScriptNode.js, Java, PHP, Python, .NET và nhiều công nghệ khác

3. Web server làm những gì?

Web server tiếp nhận yêu cầu HTTP, xác định tài nguyên hoặc hàm xử lý tương ứng rồi gửi phản hồi. Nó có thể phục vụ tệp tĩnh, chuyển yêu cầu đến ứng dụng, quản lý kết nối đồng thời, ghi log và phối hợp với cache, cơ sở dữ liệu hoặc dịch vụ khác.

Sơ đồ DNS và web server trả nội dung cho client
Tên miền được phân giải thành địa chỉ máy chủ trước khi client gửi yêu cầu web.

Mô hình truyền thống có thể dành một thread hoặc process cho mỗi nhóm kết nối. Node.js sử dụng event loop và I/O không chặn để một tiến trình có thể điều phối nhiều kết nối. Điều này không có nghĩa mọi công việc đều “chạy song song trên một thread”: hệ điều hành, thread pool và worker thread có thể tham gia xử lý ở phía dưới.

4. Node.js là gì?

Node.js là môi trường chạy JavaScript mã nguồn mở, đa nền tảng, được xây dựng trên V8. Node.js cung cấp các API để làm việc với hệ thống tệp, mạng, tiến trình, luồng dữ liệu và nhiều chức năng mà JavaScript trong trình duyệt không trực tiếp cung cấp.

  • JavaScript ở cả frontend và backend: giảm chi phí chuyển đổi ngôn ngữ trong một số nhóm phát triển.
  • I/O bất đồng bộ: phù hợp với API, proxy, chat và ứng dụng có nhiều thao tác mạng.
  • Hệ sinh thái npm: cung cấp thư viện và công cụ cho nhiều loại dự án.
  • Đa nền tảng: hoạt động trên Windows, macOS và Linux.
  • Streaming: có thể xử lý dữ liệu theo từng phần thay vì luôn nạp toàn bộ vào bộ nhớ.

Node.js đặc biệt hiệu quả với tác vụ thiên về I/O. Với phép tính CPU nặng, cần cân nhắc worker thread, hàng đợi công việc hoặc tách sang dịch vụ chuyên dụng để tránh chặn event loop.

5. Cài đặt Node.js LTS trên Windows

Giáo trình minh họa Node.js 20.7.0, nhưng phiên bản này đã cũ. Tại thời điểm cập nhật bài viết, nhánh Node.js 24 là LTS. Hãy kiểm tra phiên bản LTS mới nhất tại trang tải chính thức của Node.js thay vì cố định vào một số phiên bản cũ.

Trang tải bộ cài Node.js
Chọn nhánh LTS để có chu kỳ hỗ trợ ổn định hơn cho việc học và phát triển ứng dụng.
  1. Mở trang tải Node.js và chọn bản LTS cho Windows.
  2. Tải bộ cài .msi phù hợp với kiến trúc máy.
  3. Chạy bộ cài, đọc điều khoản và giữ các thành phần mặc định nếu chưa có yêu cầu riêng.
  4. Đảm bảo tùy chọn thêm Node.js vào biến PATH được bật.
  5. Hoàn tất cài đặt rồi mở một cửa sổ Terminal hoặc PowerShell mới.

Không cần tự thêm đường dẫn thủ công nếu bộ cài đã cấu hình PATH. Nếu lệnh node chưa được nhận diện, hãy đóng và mở lại terminal trước khi chỉnh biến môi trường.

6. Kiểm tra Node.js và npm

node --version
npm --version
Kiểm tra phiên bản Node.js trong Command Prompt
Nếu terminal hiển thị số phiên bản, Node.js đã được cài đặt và nhận diện qua PATH.

node là chương trình chạy JavaScript, còn npm là trình quản lý package thường được cài kèm. Có thể kiểm tra vị trí chương trình trên Windows bằng:

where node
where npm

7. Chạy chương trình Node.js đầu tiên

Tạo tệp app.js:

const http = require('node:http');

const server = http.createServer((request, response) => {
  response.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
  response.end('Xin chào từ Node.js!');
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Server đang chạy tại http://127.0.0.1:3000');
});

Chạy chương trình:

node app.js

Mở http://127.0.0.1:3000 trên trình duyệt. Trình duyệt đóng vai trò client, chương trình Node.js là server; chuỗi “Xin chào từ Node.js!” chính là response.

8. Lỗi thường gặp khi mới cài đặt

  • node is not recognized: mở terminal mới, kiểm tra PATH hoặc cài lại từ nguồn chính thức.
  • Cổng 3000 đang được sử dụng: đổi sang cổng khác, ví dụ 3001.
  • PowerShell chặn script npm: tìm hiểu chính sách thực thi của máy; không tắt bảo vệ toàn hệ thống chỉ để chạy một lệnh không rõ nguồn.
  • Dùng nhầm bản Current: người mới nên ưu tiên LTS trừ khi dự án yêu cầu tính năng mới.

9. Tổng kết

  • Client gửi request và server trả response qua mạng.
  • Mã server xử lý dữ liệu, xác thực và logic nghiệp vụ.
  • Node.js chạy JavaScript bên ngoài trình duyệt và phù hợp với ứng dụng thiên về I/O.
  • Event loop giúp điều phối nhiều tác vụ không chặn, nhưng công việc CPU nặng vẫn cần chiến lược riêng.
  • Nên cài nhánh Node.js LTS từ trang chính thức và kiểm tra bằng node --version, npm --version.

Bài viết liên quan:

Xây dựng RESTful API với Express và HTTP trong nodejs
Tìm Hiểu Express.js và Lập Trình Đồng Bộ – Bất Đồng Bộ Trong Node.js
Tìm hiểu Modules, Packages và Built-in Modules trong Node.js
Giới thiệu tổng quan về ứng dụng Server Side
Cài đặt NodeJS trên môi trường windows

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Xây dựng RESTful API với Express và HTTP trong nodejs

Node.js là gì? Kiến trúc client-server và cách cài đặt Node.js

Ứng dụng AI với MongoDB: truy vấn tự nhiên, Colab và RAG

Kết nối MongoDB với Python bằng PyMongo và thực hiện CRUD

Hướng dẫn sử dụng MongoDB Atlas từ cơ bản đến nhập xuất dữ liệu

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×