PUT và POST: Sự khác biệt là gì?

Mục lục:

Anonim

PUT là gì?

Phương thức PUT được sử dụng để cập nhật tài nguyên có sẵn trên máy chủ. Thông thường, nó thay thế bất kỳ thứ gì tồn tại tại URL đích bằng một thứ khác. Bạn có thể sử dụng nó để tạo tài nguyên mới hoặc ghi đè tài nguyên hiện có. PUT yêu cầu thực thể kèm theo phải được lưu trữ theo URI (Định danh tài nguyên đồng nhất) được yêu cầu cung cấp.

Trong hướng dẫn này, bạn sẽ học:

  • PUT là gì?
  • POST là gì?
  • Ví dụ về PUT
  • Ví dụ về POST
  • Sự khác biệt giữa PUT và POST
  • Kiểm tra một API với các yêu cầu PUT
  • Kiểm tra một API với các yêu cầu POST
  • Ưu điểm của phương pháp PUT
  • Ưu điểm của phương pháp POST

POST là gì?

POST là một phương thức được hỗ trợ bởi HTTP và

mô tả rằng một máy chủ web chấp nhận dữ liệu được bao gồm trong nội dung của thư, được yêu cầu. POST thường được World Wide Web sử dụng để gửi dữ liệu do người dùng tạo đến máy chủ web hoặc khi bạn tải tệp lên.

SỰ KHÁC BIỆT CHÍNH:

  • Phương thức PUT được gọi khi bạn phải sửa đổi một tài nguyên đơn lẻ trong khi phương thức POST được gọi khi bạn phải thêm một tài nguyên con.
  • Phản hồi của phương thức PUT có thể được lưu trong bộ nhớ cache nhưng bạn không thể lưu vào bộ nhớ cache các phản hồi của phương thức PUT.
  • Bạn có thể sử dụng truy vấn UPDATE trong PUT trong khi bạn có thể sử dụng tạo truy vấn trong POST.
  • Trong phương pháp PUT, máy khách quyết định tài nguyên URI nào nên có và trong phương thức POST, máy chủ quyết định tài nguyên URI nào nên có.
  • PUT hoạt động cụ thể trong khi POST hoạt động như trừu tượng.
  • Nếu bạn gửi cùng một yêu cầu PUT nhiều lần, kết quả sẽ không đổi nhưng nếu bạn gửi cùng một yêu cầu POST nhiều lần, bạn sẽ nhận được kết quả khác nhau.
  • Phương thức PUT là Idempotent trong khi phương thức POST không phải là Idempotent.

Ví dụ về PUT

Đây là ví dụ về máy chủ web của phương thức PUT:

HTTP PUT http://www.google.com.vn/users/234

HTTP PUT http://www.google.com.vn/users/234/accounts/567

Yêu cầu

PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20

New File

Phản hồi

Nếu tài nguyên đích có biểu diễn hiện tại và được sửa đổi với trạng thái của biểu diễn kèm theo, thì máy chủ sẽ gửi hai phản hồi. Mã phản hồi đầu tiên là 200 (OK) và mã phản hồi thứ hai là 204 (Không có nội dung).

Nếu tài nguyên đích không có bất kỳ đại diện nào, thì máy chủ sẽ thông báo cho người dùng bằng cách gửi phản hồi mã 201 (Đã tạo).

 HTTP/1.1 201 CreatedContent-Location: /new.html

Ví dụ về POST

Đây là một ví dụ về phương thức POST:

ĐĂNG HTTP http://www.google.com.vn/users

ĐĂNG HTTP http://www.google.com.vn/users/234/accounts

Biểu mẫu sử dụng loại nội dung ứng dụng mặc định / x-www-form-urlencoded:

POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Sự khác biệt giữa PUT và POST

Đây là sự khác biệt quan trọng giữa phương pháp PUT và POST:

ĐẶT BÀI ĐĂNG
Phương pháp này là không cần thiết. Phương pháp này không phải là không đơn giản.
Phương thức PUT được gọi khi bạn phải sửa đổi một tài nguyên duy nhất, vốn đã là một phần của bộ sưu tập tài nguyên. Phương thức POST là cuộc gọi khi bạn phải thêm một tài nguyên con trong bộ sưu tập tài nguyên.
RFC-2616 mô tả rằng phương thức PUT gửi yêu cầu cho một thực thể kèm theo được lưu trữ trong URI yêu cầu được cung cấp. Phương thức này yêu cầu máy chủ chấp nhận thực thể được bao gồm trong yêu cầu.
Cú pháp của phương thức PUT là PUT / question / {question-id} Cú pháp của phương thức POST là POST / câu hỏi
Câu trả lời của phương thức PUT có thể được lưu vào bộ nhớ đệm. Bạn không thể lưu vào bộ nhớ cache các phản hồi của phương thức PUT.
PUT / vi / juice / order / 1234 cho biết rằng bạn đang cập nhật tài nguyên được xác định bởi "1234". POST / vi / juice / order cho biết rằng bạn đang tạo một tài nguyên mới và trả về một mã định danh để mô tả tài nguyên đó.
Nếu bạn gửi cùng một yêu cầu nhiều lần, kết quả sẽ không đổi. Nếu bạn gửi cùng một yêu cầu POST nhiều lần, bạn sẽ nhận được các kết quả khác nhau.
PUT hoạt động cụ thể. POST hoạt động như trừu tượng.
Chúng tôi sử dụng truy vấn UPDATE trong PUT. Chúng tôi sử dụng tạo truy vấn trong POST.
Trong phương pháp PUT, máy khách quyết định tài nguyên URI nào nên có. Trong phương thức POST, máy chủ quyết định tài nguyên URI nào nên có.

Kiểm tra một API với các yêu cầu PUT

Dưới đây là các bước để kiểm tra API với các yêu cầu PUT:

Kiểm tra một API với các yêu cầu PUT

Bước 1) Cập nhật tài nguyên với yêu cầu PUT.

Bước 2) Sử dụng phương thức GET cho tài nguyên. Nếu yêu cầu PUT thành công, bạn sẽ nhận được dữ liệu mới. Phương pháp này sẽ không thành công nếu dữ liệu được cung cấp trong yêu cầu không hợp lệ. Do đó, nó sẽ không cập nhật bất cứ điều gì.

Kiểm tra một API với các yêu cầu POST

Dưới đây là các bước để kiểm tra API với các yêu cầu POST:

Kiểm tra một API với các yêu cầu POST

Bước 1) Tạo một tài nguyên bằng cách sử dụng yêu cầu POST và đảm bảo rằng nó trả về mã trạng thái 200.

Bước 2) Thực hiện yêu cầu GET cho tài nguyên đó và lưu dữ liệu ở định dạng chính xác.

Bước 3) Bạn phải thêm các bài kiểm tra đảm bảo yêu cầu POST không thành công với dữ liệu không chính xác.

Ưu điểm của phương pháp PUT

Dưới đây là những ưu điểm / lợi ích của việc sử dụng phương pháp PUT:

  • Nó giúp bạn lưu trữ thực thể được cung cấp trong URI được cung cấp
  • Nếu thực thể được cung cấp đã tồn tại, thì bạn có thể thực hiện thao tác cập nhật hoặc bạn có thể tạo bằng URI đó.
  • Bạn có thể tạo một tài nguyên nhiều lần tùy thích.
  • Tạo một tài nguyên với phương pháp PUT rất dễ dàng.
  • Bạn không cần phải kiểm tra xem người dùng đã nhấp vào nút gửi nhiều lần hay chưa.
  • Nó có thể xác định thực thể kèm theo yêu cầu.

Ưu điểm của phương pháp POST

Dưới đây là những ưu điểm / lợi ích của việc sử dụng phương pháp POST:

  • Phương pháp này giúp bạn xác định URI tài nguyên.
  • Việc chỉ định tiêu đề vị trí tài nguyên mới rất dễ dàng bằng cách sử dụng tiêu đề vị trí.
  • Bạn có thể gửi yêu cầu chấp nhận thực thể là cấp dưới mới của tài nguyên, được xác định bởi URI.
  • Bạn có thể gửi dữ liệu do người dùng tạo đến máy chủ web.
  • Nó rất hữu ích khi bạn không biết URL để giữ bất kỳ tài nguyên nào.
  • Sử dụng POST khi bạn cần máy chủ, máy chủ này kiểm soát việc tạo URL của tài nguyên của bạn.
  • POST là một phương pháp an toàn vì các yêu cầu của nó không còn trong lịch sử trình duyệt.
  • Bạn có thể dễ dàng truyền một lượng lớn dữ liệu bằng cách sử dụng bài đăng.
  • Bạn có thể giữ dữ liệu ở chế độ riêng tư.
  • Phương pháp này có thể được sử dụng để gửi dữ liệu nhị phân cũng như ASCII.