2011-10-23 28 views
6

Tôi có tài nguyên nhưHTTP header Phạm vi cho Entity liệt kê

/entities  # GET, POST 
/entities/<id> # GET, PUT, DELETE 

GET này/đơn vị nhận được danh sách tất cả các thực thể. Bây giờ tôi muốn thăm dò ý kiến ​​cập nhật. Trường hợp cho một thực thể đơn lẻ là thẳng về phía trước:

GET /entities/2 
If-Modified-Since: <http date> 

Danh sách này rất khó. Tôi muốn câu trả lời là danh sách các thực thể, được cập nhật hoặc được tạo từ một thời điểm nhất định. Tôi sử dụng một cách trực giác

GET /entities 
Range: after <http date> 

Yêu cầu hợp lệ theo đặc điểm HTTP http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2 là gì. Nhưng thông số cũng yêu cầu phản hồi 206 Partial Content, trong đó phải bao gồm tiêu đề Content-Range. Một tiêu đề Content-Range, lần lượt, yêu cầu một phạm vi byte được chỉ định http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16. Điều này rõ ràng là rất bất tiện cho trường hợp sử dụng của tôi.

Bạn sẽ yêu cầu phạm vi ngữ nghĩa qua HTTP như thế nào?

+0

bạn có chắc 'dải ô' có thể được sử dụng với một ngày? Phần 14.35.1 chỉ thảo luận về phạm vi byte. –

+0

Tôi đồng ý với @adrift, tôi không thể tìm thấy tham chiếu ở bất kỳ nơi nào trong bất kỳ RFC nào đến 'Phạm vi: sau ' hợp lệ trong HTTP/1.1 - nếu có, tiêu đề 'Nội dung Phạm vi:' sẽ được xác định để phù hợp với nó, nếu không thực hành sẽ chỉ được xác định một nửa. – DaveRandom

+0

Thông số Httpbis dường như có thêm một chút chi tiết về các khoảng không byte http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-16 –

Trả lời

2

Từ phần đọc 14.35.1, tôi sẽ nói tiêu đề Range được sử dụng để yêu cầu phạm vi byte cụ thể từ tài nguyên chứ không yêu cầu nhóm thực thể theo thời điểm chúng được sửa đổi.

Trong trường hợp này, tôi tin rằng bạn nên đối xử với phạm vi của bạn như một bộ lọc và thông qua ngày như một tham số chuỗi truy vấn:

GET /entities?modified-since=<date> 
+0

Đó cũng là những gì tôi đã kết luận. Phạm vi không byte dường như được cho phép vì lợi ích của khả năng tương thích trong tương lai, nhưng rất underspecified. – Bendlas

Các vấn đề liên quan