Nội dung phản hồi có được phép đối với yêu cầu HTTP-DELETE không?


82

Tôi giả sử rằng mã phản hồi 200 luôn cho phép phần thân phản hồi, nhưng tôi không thể tìm thấy bất kỳ đề cập rõ ràng nào về phần thân phản hồi cho các yêu cầu DELETE.

Câu trả lời:


139

Nó được đề cập rõ ràng ở đây trong RFC

Câu trả lời ngắn gọn là:

Bạn nên bao gồm một phần nội dung phản hồi với một thực thể mô tả mục / tài nguyên đã xóa nếu bạn trả về 200 .

202 là trạng thái trả về yêu cầu / phản hồi không đồng bộ.

204 nói rõ ràng rằng bạn không bao gồm phần nội dung phản hồi


2
Ủng hộ để tham khảo thông số kỹ thuật HTTP. Cũng lưu ý rằng họ đang cập nhật HTTP spec và làm rõ nhiều vấn đề ở đây tools.ietf.org/wg/httpbis
Darrel Miller

9
+1 Nhưng thông số cho biết bạn có thể trả về 200 ok nếu nội dung phản hồi chứa một thực thể "mô tả trạng thái" chứ không phải thực thể đã bị xóa.
naikus

1
Nó thực sự nói "bao gồm một thực thể mô tả các tình trạng" - vì vậy trở về thực thể xóa với một "xóa" cờ dường như hoàn toàn hợp lệ.
Ryan Wheale

Phản hồi 202 (Được chấp nhận) phải được bao gồm trong nội dung?
Soullivaneuh 19/02/16

15

Có, bạn thường phải trả lời bằng mã phản hồi 200 theo thông số W3C :

9.7 XÓA

Phương thức DELETE yêu cầu máy chủ gốc xóa tài nguyên được xác định bởi URI Yêu cầu. Phương pháp này CÓ THỂ bị ghi đè bởi sự can thiệp của con người (hoặc các phương tiện khác) trên máy chủ gốc. Máy khách không thể được đảm bảo rằng hoạt động đã được thực hiện, ngay cả khi mã trạng thái được trả về từ máy chủ gốc cho biết rằng hành động đã được hoàn tất thành công. Tuy nhiên, máy chủ KHÔNG NÊN cho biết thành công trừ khi, tại thời điểm phản hồi được đưa ra, nó có ý định xóa tài nguyên hoặc di chuyển nó đến một vị trí không thể truy cập được.

Phản hồi thành công NÊN là 200 (OK) nếu phản hồi bao gồm một thực thể mô tả trạng thái, 202 (Đã chấp nhận) nếu hành động chưa được thực hiện hoặc 204 (Không có nội dung) nếu hành động đã được thực hiện nhưng phản hồi không bao gồm một thực thể.

Nếu yêu cầu đi qua bộ nhớ cache và URI yêu cầu xác định một hoặc nhiều thực thể hiện được lưu trong bộ nhớ cache, thì những mục nhập đó NÊN được coi là cũ. Các phản hồi cho phương pháp này không thể lưu vào bộ nhớ cache.


10
nó không phải là "thông số kỹ thuật W3C".
Julian Reschke 19/12/12

2
Bạn đã đọc sai ngôn ngữ. Các mã được liệt kê theo thứ tự tăng dần và thứ tự không ngụ ý phản hồi ưu tiên. Mỗi phản hồi trong số 200, 202 hoặc 204 đều được chấp nhận như nhau như được mô tả trong văn bản này. NÊN chỉ có nghĩa là các mã được thực hiện với các quy ước thông thường (ví dụ: 200 bao gồm một phần thân và 204 thì không).
George Shaw
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.