Câu hỏi cốt lõi là về việc sử dụng Tiêu đề HTTP, bao gồm Range, If-Range, Accept-Ranges và trình xác định phạm vi do người dùng xác định.Sử dụng Tiêu đề phạm vi HTTP với trình chỉ định phạm vi khác với byte?
Đây là ví dụ được sản xuất để giúp minh họa câu hỏi của tôi. Giả sử tôi có một ứng dụng phong cách Web 2.0 hiển thị một số loại tài liệu có thể đọc được của con người. Các tài liệu này được chia nhỏ thành các trang (tương tự như các bài viết bạn thấy trên các trang web tin tức). Đối với ví dụ này, giả sử:
- Có một tài liệu có tiêu đề "Câu hỏi phạm vi HTTP" được chia thành ba trang.
- Trang trình bao (
/document/shell/http-range-question
) biết thông tin meta về tài liệu, bao gồm số trang. - Trang có thể đọc được đầu tiên của tài liệu được tải trong sự kiện tải trang qua ajax GET và được chèn vào trang.
- Điều khiển giao diện người dùng trông giống như [1 2 3 Tất cả] nằm ở cuối trang và nhấp vào một số sẽ hiển thị trang có thể đọc được (cũng được tải qua ajax) và nhấp vào "Tất cả" sẽ hiển thị toàn bộ tài liệu. Giả sử các URL cho 1, 2, 3 và Tất cả các trường hợp sử dụng:
/document/content/http-range-question?page=1
/document/content/http-range-question?page=2
/document/content/http-range-question?page=3
/document/content/http-range-question
Bây giờ đến câu hỏi. Tôi có thể sử dụng tiêu đề Phạm vi HTTP thay cho một phần của URL (ví dụ: tham số chuỗi truy vấn) không? Có lẽ một cái gì đó như thế này theo yêu cầu GET /document/content/http-range-question
:
Range: page=1
Dường như spec chỉ xác định byte dao động như cho phép, vì vậy ngay cả nếu tôi thực hiện cuộc gọi ajax của tôi làm việc với trình duyệt của tôi và mã máy chủ, bất cứ điều gì ở giữa có thể phá vỡ hợp đồng (ví dụ: máy chủ proxy caching).
Range: bytes=0-499
Bất kỳ ý kiến hoặc ví dụ thực tế nào về số liệu tùy chỉnh phạm vi tùy chỉnh?
Cập nhật: Tôi đã tìm thấy một câu hỏi tương tự về header Range (Paging in a Rest Collection), nơi họ đề cập rằng Dojo của JsonRestStore sử dụng một giá trị tiêu đề Phạm vi tùy chỉnh.
Range: items=0-24
bản sao có thể có của [Phân trang trong bộ sưu tập còn lại] (http://stackoverflow.com/questions/924472/paging-in-a-rest-collection) – DanMan
@DanMan - Tôi đã liên kết với câu hỏi tương tự đó, nhưng không phải tất cả HTTP đều là REST và câu hỏi này hỏi một câu hỏi về các giá trị cho phép, không phải là ngữ nghĩa REST. Ngoài ra, từ ngữ tiêu đề câu hỏi khác nhau giúp những người khác nhau tìm thấy câu trả lời của họ. –