Phương thức yêu cầu HTTP


HTTP là gì?

Giao thức truyền siêu văn bản (HTTP) được thiết kế để cho phép giao tiếp giữa máy khách và máy chủ.

HTTP hoạt động như một giao thức phản hồi yêu cầu giữa máy khách và máy chủ.

Ví dụ: Một máy khách (trình duyệt) gửi một yêu cầu HTTP đến máy chủ; sau đó máy chủ trả về một phản hồi cho máy khách. Phản hồi chứa thông tin trạng thái về yêu cầu và cũng có thể chứa nội dung được yêu cầu.


Phương thức HTTP

  • ĐẾN
  • BÀI ĐĂNG
  • ĐẶT
  • CÁI ĐẦU
  • XÓA BỎ
  • TÙY CHỌN

Hai phương thức HTTP phổ biến nhất là: GET và POST.


Phương pháp GET

GET được sử dụng để yêu cầu dữ liệu từ một tài nguyên cụ thể.

GET là một trong những phương thức HTTP phổ biến nhất.

Lưu ý rằng chuỗi truy vấn (cặp tên / giá trị) được gửi trong URL của một yêu cầu GET:

/test/demo_form.php?name1=value1&name2=value2

Một số lưu ý khác về yêu cầu GET:

  • Yêu cầu GET có thể được lưu vào bộ nhớ đệm
  • Yêu cầu GET vẫn còn trong lịch sử trình duyệt
  • Yêu cầu GET có thể được đánh dấu
  • Yêu cầu GET không bao giờ được sử dụng khi xử lý dữ liệu nhạy cảm
  • Yêu cầu GET có giới hạn về độ dài
  • Yêu cầu GET chỉ được sử dụng để yêu cầu dữ liệu (không sửa đổi)

Phương pháp ĐĂNG

POST được sử dụng để gửi dữ liệu đến máy chủ để tạo / cập nhật tài nguyên.

Dữ liệu được gửi đến máy chủ với POST được lưu trữ trong phần thân yêu cầu của yêu cầu HTTP:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

POST là một trong những phương thức HTTP phổ biến nhất.

Một số lưu ý khác về yêu cầu ĐĂNG:

  • Yêu cầu POST không bao giờ được lưu vào bộ nhớ đệm
  • Yêu cầu ĐĂNG không còn trong lịch sử trình duyệt
  • Yêu cầu POST không thể được đánh dấu
  • Yêu cầu POST không có giới hạn về độ dài dữ liệu


Phương pháp PUT

PUT được sử dụng để gửi dữ liệu đến máy chủ để tạo / cập nhật tài nguyên.

Sự khác biệt giữa POST và PUT là các yêu cầu PUT là không quan trọng. Nghĩa là, việc gọi cùng một yêu cầu PUT nhiều lần sẽ luôn tạo ra cùng một kết quả. Ngược lại, việc gọi nhiều lần một yêu cầu POST có tác dụng phụ là tạo nhiều lần cùng một tài nguyên.


Phương pháp HEAD

HEAD gần giống với GET, nhưng không có phần thân phản hồi.

Nói cách khác, nếu GET / người dùng trả về danh sách người dùng, thì HEAD / người dùng sẽ đưa ra yêu cầu tương tự nhưng sẽ không trả lại danh sách người dùng.

Yêu cầu HEAD rất hữu ích để kiểm tra yêu cầu GET sẽ trả về gì trước khi thực sự thực hiện yêu cầu GET - như trước khi tải xuống tệp lớn hoặc nội dung phản hồi.


Phương pháp DELETE

Phương thức DELETE xóa tài nguyên được chỉ định.


Phương pháp OPTIONS

Phương pháp OPTIONS mô tả các tùy chọn giao tiếp cho tài nguyên đích.


So sánh GET với POST

Bảng sau so sánh hai phương thức HTTP: GET và POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL