HTTP & HTTPS – Nền tảng giao tiếp trên Web
Khi làm web hoặc backend, có một thứ gần như xuất hiện ở mọi nơi nhưng rất dễ bị xem là hiển nhiên: HTTP.
Mỗi khi mở một website, gọi một API, đăng nhập, gửi form hay tải một file, client và server đều cần một cách để giao tiếp với nhau.
HTTP chính là một trong những nền tảng quan trọng nhất làm nên quá trình đó.
HTTPS về cơ bản là HTTP được bảo vệ bằng TLS, giúp dữ liệu trao đổi giữa client và server được mã hóa và xác thực.
Để hiểu web hoạt động như thế nào, việc hiểu HTTP và HTTPS là rất quan trọng.
1. HTTP là gì?
HTTP – HyperText Transfer Protocol là giao thức được sử dụng để giao tiếp giữa các hệ thống trên Web.
Có thể hình dung đơn giản:
Client Server
│ │
│────── HTTP Request ─────────>│
│ │
│<───── HTTP Response ─────────│
│ │
Client có thể là:
- Browser
- Mobile App
- Frontend
- Một service khác
- Postman
- Một chương trình bất kỳ có khả năng gửi HTTP request
Server nhận request, xử lý và trả về response.
Ví dụ khi truy cập:
https://example.com/users
Browser có thể gửi request đến server để yêu cầu tài nguyên /users.
Server xử lý và trả về kết quả.
2. HTTP hoạt động theo mô hình Client – Server
HTTP thường được nhìn dưới mô hình:
Client
│
│ Request
↓
Server
│
│ Response
↓
Client
Client là bên gửi yêu cầu.
Server là bên nhận yêu cầu và trả kết quả.
Ví dụ:
Browser
│
│ GET /products
↓
Backend Server
│
│ JSON
↓
Browser
Trong một ứng dụng thực tế, client và server có thể nằm trên hai máy hoàn toàn khác nhau và giao tiếp thông qua Internet.
3. HTTP Request là gì?
HTTP Request là yêu cầu mà client gửi đến server.
Một request thường gồm:
Method
URL
Headers
Body
Ví dụ:
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John",
"email": "[email protected]"
}
Ở đây:
POST
là HTTP Method.
/users
là resource mà client muốn thao tác.
Headers cung cấp thêm thông tin.
Body chứa dữ liệu gửi lên server.
4. HTTP Method
HTTP định nghĩa nhiều method khác nhau để mô tả mục đích của request.
Những method thường gặp nhất:
| Method | Ý nghĩa |
|---|---|
| GET | Lấy dữ liệu |
| POST | Tạo dữ liệu hoặc gửi dữ liệu để xử lý |
| PUT | Cập nhật/thay thế resource |
| PATCH | Cập nhật một phần resource |
| DELETE | Xóa resource |
Ví dụ một API quản lý user:
GET /users
POST /users
GET /users/10
PUT /users/10
PATCH /users/10
DELETE /users/10
Có thể hiểu:
GET → Tôi muốn lấy
POST → Tôi muốn tạo/gửi
PUT → Tôi muốn thay thế/cập nhật
PATCH → Tôi muốn cập nhật một phần
DELETE → Tôi muốn xóa
5. HTTP Response
Sau khi server nhận và xử lý request, nó trả về HTTP Response.
Một response thường gồm:
Status Code
Headers
Body
Ví dụ:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 10,
"name": "John"
}
Ở đây:
200
là status code.
Body chứa dữ liệu server trả về.
6. HTTPS là gì?
HTTPS – HyperText Transfer Protocol Secure có thể hiểu là HTTP được truyền thông qua TLS (Transport Layer Security).
Có thể hình dung:
HTTP
+
TLS
↓
HTTPS
HTTPS cung cấp các thuộc tính bảo mật quan trọng cho kết nối, đặc biệt là:
- Confidentiality – bảo mật nội dung
- Integrity – đảm bảo dữ liệu không bị thay đổi trái phép
- Authentication – xác thực server thông qua certificate
7. Certificate là gì?
Khi truy cập:
https://example.com
browser cần có cơ chế để xác định server thực sự đang giao tiếp có đúng là example.com hay không.
Đây là lúc Digital Certificate xuất hiện.
Certificate có thể chứa thông tin như:
Domain
Public Key
Certificate Authority
Validity Period
Digital Signature
Browser kiểm tra certificate và chuỗi tin cậy của nó.
Nếu mọi thứ hợp lệ, browser có thể tiếp tục thiết lập kết nối HTTPS.
8. Public Key và Private Key
HTTPS sử dụng cryptography với public key và private key trong quá trình thiết lập và xác thực kết nối.
Có thể hiểu đơn giản:
Public Key
→ Có thể chia sẻ
Private Key
→ Phải được giữ bí mật
Certificate thường chứa public key.
Private key được server giữ bí mật.
Một server không được để lộ private key vì nó có thể phá vỡ tính bảo mật của cơ chế xác thực liên quan.
9. Tổng kết
HTTP là một giao thức nền tảng của Web, cho phép client và server giao tiếp thông qua mô hình:
Request → Server → Response
Một HTTP request có thể chứa:
Method
URL
Headers
Body
HTTPS là HTTP được bảo vệ bằng TLS, giúp cung cấp:
Confidentiality
Integrity
Authentication
HTTPS sử dụng certificate và cryptographic mechanisms để thiết lập một kết nối an toàn giữa client và server.







Khoá học lập trình game con rắn cho trẻ em




