Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Sự khác biệt giữa phương thức GET và POST trong HTML


Trong bài này, chúng ta sẽ hiểu sự khác biệt giữa phương thức GET và POST trong HTML form.

Phương thức GET

  • Tham số được đặt bên trong URL.
  • Mục đích chính: truy xuất dữ liệu/tài liệu.
  • Có thể bookmark kết quả truy vấn.
  • Dễ bị tấn công, không đủ an toàn.
  • Dữ liệu và thông tin đăng nhập hiện rõ dạng plain text.
  • Ai cũng có thể thấy.
  • Ràng buộc dữ liệu: chỉ cho phép ký tự ASCII.
  • Độ dài tối đa ~2000 ký tự (tùy trình duyệt/server).
  • Nên giữ độ dài dữ liệu tối thiểu.
  • Dữ liệu có thể được cache khi dùng GET.
  • Không phù hợp làm việc với ngôn ngữ nước ngoài (cần encoding).
  • Được dùng nhiều trong công cụ tìm kiếm.
  • GET chỉ tạo một kết nối với web server.

Phương thức POST

  • Tham số được đặt bên trong body của request.
  • Mục đích chính: cập nhật/gửi dữ liệu (tạo mới, sửa, xóa).
  • Không thể bookmark kết quả truy vấn.
  • An toàn hơn so với GET.
  • Có thể lưu dữ liệu lên tới 8 MB (tùy cấu hình server).
  • Độ dài dữ liệu không giới hạn cụ thể.
  • Không hiển thị biến trong URL.
  • Không có ràng buộc ký tự, cho phép tất cả ký tự (binary, Unicode).
  • Dữ liệu không được cache khi dùng POST.
  • POST tạo hai kết nối với web server (request headers + body).
Đặc điểmGETPOST
Vị trí dữ liệuURL (query string)Request body
Bảo mậtThấpCao hơn
CacheCóKhông
BookmarkCóKhông
Dung lượng~2KBLớn (MB)
IdempotentCóKhông

Lời khuyên: Dùng GET cho truy xuất dữ liệu không thay đổi trạng thái (search, filter, pagination). Dùng POST cho thao tác thay đổi dữ liệu (login, submit form, upload, API write).