Cơ bảneducational

HTTP/HTTPS là gì? Cách internet và web hoạt động đơn giản

8 phút đọc0 lượt xem
#http#https#ssl#web#network#api#javascript

HTTP/HTTPS là gì? Cách internet và web hoạt động đơn giản

Mỗi lần bạn gõ địa chỉ website vào trình duyệt và nhấn Enter, có một "cuộc trò chuyện" bí mật diễn ra giữa máy tính của bạn và máy chủ web ở đâu đó trên thế giới. Giao thức điều phối cuộc trò chuyện đó chính là HTTPHTTPS.

Bài viết này sẽ giải thích HTTP/HTTPS là gì, chúng hoạt động như thế nào và tại sao HTTPS lại quan trọng với bảo mật web hiện đại.

HTTP là gì?

HTTP (HyperText Transfer Protocol – Giao thức truyền tải siêu văn bản) là tập hợp các quy tắc xác định cách dữ liệu được truyền tải giữa trình duyệt web (client)máy chủ web (server).

Hãy tưởng tượng HTTP như ngôn ngữ chung mà trình duyệt và server dùng để "nói chuyện" với nhau. Khi bạn muốn xem một trang web, trình duyệt gửi yêu cầu bằng "ngôn ngữ HTTP", và server trả lời cũng bằng "ngôn ngữ HTTP".

  • HTTP được Tim Berners-Lee phát minh năm 1989
  • Phiên bản phổ biến hiện tại: HTTP/1.1, HTTP/2, HTTP/3
  • Mặc định dùng cổng (port) số 80

HTTP hoạt động như thế nào? Request và Response

Mỗi khi bạn truy cập một trang web, diễn ra quy trình Request – Response (Yêu cầu – Phản hồi):

  1. Bạn gõ https://example.com và nhấn Enter
  2. Trình duyệt gửi HTTP Request đến server của example.com
  3. Server nhận request, xử lý và gửi lại HTTP Response
  4. Trình duyệt nhận response và hiển thị trang web

Cấu trúc HTTP Request

GET /index.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html

Trong đó:

  • GET: Phương thức HTTP (muốn lấy dữ liệu)
  • /index.html: Đường dẫn tài nguyên muốn lấy
  • HTTP/1.1: Phiên bản giao thức
  • Host, User-Agent: Các header thông tin bổ sung

Cấu trúc HTTP Response

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1256

<html>
  <head><title>Example</title></head>
  <body>Nội dung trang web...</body>
</html>

Các phương thức HTTP: GET, POST, PUT, DELETE

HTTP có nhiều "phương thức" (methods) khác nhau, mỗi phương thức có mục đích riêng:

Phương thứcMục đíchVí dụ thực tế
GETLấy dữ liệuXem danh sách sản phẩm
POSTGửi/tạo dữ liệu mớiĐăng ký tài khoản, submit form
PUTCập nhật toàn bộCập nhật hồ sơ cá nhân
PATCHCập nhật một phầnĐổi ảnh đại diện
DELETEXóa dữ liệuXóa bình luận

HTTP Status Code – Mã trạng thái HTTP

Khi server trả lời, nó luôn kèm theo một mã số 3 chữ số cho biết kết quả của request. Đây là các mã phổ biến nhất:

2xx – Thành công

  • 200 OK: Request thành công, trả về dữ liệu
  • 201 Created: Tạo mới dữ liệu thành công
  • 204 No Content: Thành công nhưng không có dữ liệu trả về (thường dùng với DELETE)

3xx – Chuyển hướng

  • 301 Moved Permanently: URL đã thay đổi vĩnh viễn
  • 302 Found: Chuyển hướng tạm thời

4xx – Lỗi phía client

  • 400 Bad Request: Request sai format
  • 401 Unauthorized: Chưa đăng nhập
  • 403 Forbidden: Không có quyền truy cập
  • 404 Not Found: Không tìm thấy trang/tài nguyên

5xx – Lỗi phía server

  • 500 Internal Server Error: Lỗi trong code server
  • 502 Bad Gateway: Server trung gian gặp lỗi
  • 503 Service Unavailable: Server đang quá tải hoặc bảo trì

HTTPS là gì? Tại sao cần thiết?

HTTPS (HTTP Secure) = HTTP + mã hóa SSL/TLS

Sự khác biệt quan trọng:

  • HTTP: Dữ liệu truyền đi không được mã hóa → ai cũng có thể đọc được (như gửi bưu thiếp)
  • HTTPS: Dữ liệu được mã hóa trước khi gửi → chỉ người nhận mới đọc được (như thư trong phong bì có khóa)

Dấu hiệu nhận biết HTTPS: 🔒 ở thanh địa chỉ trình duyệt và URL bắt đầu bằng https://.

SSL/TLS là gì? Nền tảng bảo mật của HTTPS

SSL (Secure Sockets Layer) và TLS (Transport Layer Security) là các giao thức mã hóa. TLS là phiên bản mới hơn và an toàn hơn SSL, nhưng mọi người thường vẫn gọi chung là SSL.

Quá trình bắt tay TLS (TLS Handshake) diễn ra như sau:

  1. Trình duyệt gửi "xin chào" kèm danh sách thuật toán mã hóa hỗ trợ
  2. Server gửi lại chứng chỉ SSL (SSL Certificate) do CA uy tín cấp
  3. Trình duyệt xác minh chứng chỉ hợp lệ
  4. Cả hai bên tạo ra "session key" bí mật để mã hóa mọi dữ liệu tiếp theo

So sánh HTTP và HTTPS

Tiêu chíHTTPHTTPS
Bảo mật❌ Không mã hóa✅ Mã hóa SSL/TLS
Port mặc định80443
SEO (Google)Không ưu tiên✅ Được ưu tiên
Tốc độNhanh hơn chútChậm hơn chút (do mã hóa)
Khuyến nghị❌ Không nên dùng✅ Tiêu chuẩn bắt buộc

Ví dụ thực tế với JavaScript

Khi bạn học lập trình web, bạn sẽ thường xuyên làm việc với HTTP thông qua Fetch API:

// Gửi GET request
fetch('https://api.example.com/users')
  .then(response => {
    console.log(response.status); // 200
    return response.json();
  })
  .then(data => {
    console.log(data); // Dữ liệu từ server
  })
  .catch(error => {
    console.error('Lỗi:', error);
  });

// Gửi POST request
fetch('https://api.example.com/users', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Nguyễn An', age: 22 })
})
  .then(response => response.json())
  .then(data => console.log('Tạo user thành công:', data));

Tóm tắt những điều cần nhớ

  • HTTP là giao thức truyền tải dữ liệu giữa trình duyệt và server
  • HTTPS = HTTP + mã hóa → an toàn hơn nhiều
  • HTTP Request gồm: phương thức (GET/POST/...), URL, headers, body
  • HTTP Response gồm: status code, headers, body (nội dung)
  • Luôn dùng HTTPS cho mọi ứng dụng web thực tế
  • Status code 2xx = thành công, 4xx = lỗi client, 5xx = lỗi server

Bài viết liên quan

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

The Complete Web Developer Bootcamp

Học HTML, CSS, JavaScript, React, Node.js toàn diện.

4.7499.000 ₫
Xem khóa học →

CSS - The Complete Guide (incl. Flexbox, Grid & Sass)

CSS nâng cao: Flexbox, Grid, animations, responsive design.

4.6499.000 ₫
Xem khóa học →
Quảng cáo