2011-10-23 20 views
6

मैं इसHTTP रेंज हैडर को सूचीबद्ध

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

प्राप्त की तरह संसाधन हैं/संस्थाओं सभी संस्थाओं की सूची हो जाता है। अब मैं अपडेट के लिए मतदान करना चाहता हूं। एक इकाई के लिए मामला सीधे आगे है:

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

सूची मुश्किल है। मैं चाहता हूं कि प्रतिक्रिया समय-समय पर दिए गए बिंदु से अपडेट की गई या बनाई गई इकाइयों की एक सूची हो। मैं सहज

GET /entities 
Range: after <http date> 

कौन सा HTTP विनिर्देशन http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2 द्वारा एक वैध अनुरोध है का उपयोग करेंगे। लेकिन spec को 206 Partial Content प्रतिक्रिया भी जरूरी है, जिसमें Content-Range शीर्षलेख शामिल होना है। Content-Range शीर्षलेख, बदले में, एक बाइट रेंज निर्दिष्ट करने के लिए http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16 निर्दिष्ट करता है। यह मेरे उपयोग के मामले के लिए स्पष्ट रूप से बहुत असुविधाजनक है।

आप HTTP पर एक अर्थपूर्ण सीमा का अनुरोध कैसे करेंगे?

+0

क्या आप वाकई 'Range' एक तारीख के साथ इस्तेमाल किया जा सकता है? धारा 14.35.1 केवल बाइट श्रेणियों पर चर्चा करता है। –

+0

मैं @adrift से सहमत हूं, मुझे किसी भी आरएफसी में 'रेंज: के बाद' HTTP/1.1 में मान्य होने के बावजूद कहीं भी कोई संदर्भ नहीं मिल सकता है - यदि यह था, तो 'सामग्री-श्रेणी:' शीर्षलेख इसके लिए समायोजित करने के लिए परिभाषित किया जाएगा, अन्यथा अभ्यास केवल आधा परिभाषित किया जाएगा। – DaveRandom

+0

एचटीपीबीएस स्पेक में गैर-बाइट श्रेणियों के बारे में कुछ और विवरण हैं http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-16 –

उत्तर

2

सेक्शन 14.35.1 पढ़ने से, मैं कहूंगा कि Range हेडर का उपयोग संसाधन से बाइट्स की एक विशिष्ट श्रृंखला के अनुरोध के लिए किया जाता है, जब वे संशोधित किए गए अनुसार इकाइयों के समूह का अनुरोध नहीं करते हैं।

इस मामले में, मुझे विश्वास है कि आप एक फिल्टर के रूप में अपने श्रृंखला का इलाज और एक क्वेरी स्ट्रिंग पैरामीटर के रूप में की तारीख से पारित करना चाहिए:

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

यही मैंने भी निष्कर्ष निकाला है। भविष्य में संगतता के लिए गैर बाइट श्रेणियों की अनुमति दी जाती है, लेकिन बहुत कम निर्दिष्ट है। – Bendlas