100+ câu Trắc nghiệm Lập trình API có đáp án - Phần 4

Sự khác biệt giữa phương thức POST và PUT là gì?

Giải thích

POST dùng để tạo tài nguyên trên máy chủ trong khi PUT dùng để thay thế tài nguyên tại một URI cụ thể bằng tài nguyên khác. Nếu bạn sử dụng PUT trên URI đã có tài nguyên được liên kết với nó, PUT sẽ thay thế nó. Nếu không có tài nguyên tại URI được chỉ định, PUT sẽ tạo một tài nguyên. PUT là idempotent, nghĩa là gọi nó nhiều lần sẽ chỉ tạo ra một tài nguyên. Điều này xảy ra vì mỗi lệnh gọi sẽ thay thế tài nguyên hiện có (hoặc tạo một tài nguyên mới nếu không có gì để thay thế). POST không bình thường. Ví dụ: nếu bạn gọi POST 10 lần thì 10 tài nguyên khác nhau sẽ được tạo trên máy chủ, mỗi tài nguyên có URI riêng. Mặc dù hiếm khi được sử dụng nhưng phản hồi POST có thể được lưu vào bộ đệm nhưng phản hồi PUT thì không. Các yêu cầu POST thường được coi là không thể lưu vào bộ nhớ đệm nhưng chúng có thể được lưu vào bộ nhớ đệm khi chứa thông tin rõ ràng về “độ mới” của dữ liệu. Câu trả lời chi tiết hơn là phản hồi cho yêu cầu POST (hoặc PATCH) có thể được lưu vào bộ đệm nếu dữ liệu "mới" và tiêu đề Vị trí nội dung (en-US) được đặt, nhưng điều này hiếm khi được triển khai. Do đó, nên tránh bộ nhớ đệm POST nếu có thể