HTTP Methods

Các phương thức HTTP (HTTP Methods) được sử dụng để giao tiếp giữa client (trình duyệt, ứng dụng) và server. Mỗi phương thức có mục đích và cách sử dụng riêng biệt.


📥 GET – Lấy dữ liệu

Dùng để yêu cầu dữ liệu từ server (thường không làm thay đổi dữ liệu).

GET /search?query=abc
  • Dữ liệu gửi kèm qua URL (query string).
  • Không bảo mật, không nên dùng với dữ liệu nhạy cảm.
  • Có thể được cache.
  • Dùng cho các thao tác đọc (read) dữ liệu.

📤 POST – Gửi dữ liệu

Dùng để gửi dữ liệu đến server (thường để thay đổi dữ liệu hoặc nhằm mục đích bảo mật).

POST /login

BODY:
username=test
password=123456
  • Dữ liệu được gửi qua body.
  • Bảo mật hơn GET.
  • Không được cache.
  • Dùng cho các thao tác như đăng nhập, đăng ký, lưu thông tin...

Các phương thức HTTP khác

PUT – Cập nhật toàn bộ dữ liệu

Dùng để cập nhật hoặc thay thế hoàn toàn dữ liệu hiện có.

PUT /users/123

BODY:
{
  "id": 123,
  "name": "Hiep",
  "email": "[email protected]"
}
  • Idempotent (gửi nhiều lần cũng có kết quả như nhau).
  • Gửi đầy đủ toàn bộ nội dung dữ liệu.

PATCH – Cập nhật một phần dữ liệu

Dùng để cập nhật một phần thông tin của dữ liệu.

PATCH /users/123

BODY:
{
  "email": "[email protected]"
}
  • Khác với PUT, chỉ cập nhật phần dữ liệu thay đổi.
  • Thường được dùng trong các form cập nhật nhanh.

DELETE – Xóa dữ liệu

Dùng để xóa dữ liệu khỏi server.

DELETE /posts/100
  • Sau khi xóa, dữ liệu không còn tồn tại.
  • Có thể yêu cầu xác thực.

HEAD – Yêu cầu thông tin header

Dùng như GET nhưng chỉ lấy phần header, không trả về nội dung.

HEAD /home
  • Dùng để kiểm tra tài nguyên có tồn tại hay không.
  • Hiệu quả khi kiểm tra cập nhật, kiểm tra cache.

CONNECT – Tạo tunnel TCP (thường cho HTTPS)

Dùng để thiết lập kênh bảo mật (SSL/TLS) giữa client và server.

CONNECT www.example.com:443 HTTP/1.1
  • Dùng trong proxy để thiết lập kết nối bảo mật.

TRACE – Kiểm tra dữ liệu truyền đi

Dùng để debug, server phản hồi lại dữ liệu chính xác client gửi lên.

TRACE /api/echo
  • Hiếm khi dùng trong thực tế do lo ngại về bảo mật.