2012-03-08 14 views
5

मैं यूआरएल पर RFC2396 पढ़ रहा हूँ कहते हैं जो

कई यूआरआई से मिलकर घटकों या द्वारा सीमांकित, कुछ विशेष वर्ण शामिल। इन पात्रों को "आरक्षित" कहा जाता है, क्योंकि यूआरआई घटक के भीतर उनका उपयोग उनके आरक्षित उद्देश्य तक सीमित है।

लेकिन यूआरएल की क्वेरी ओर से खंड (के बीच? और #) का कहना है

3,4। क्वेरी घटक क्वेरी घटक संसाधन द्वारा व्याख्या की जाने वाली जानकारी की एक स्ट्रिंग है।

query   = *uric 

एक प्रश्न घटक के भीतर, वर्ण ",", "/", "?" ":", "@", "&" "=", "+", "" , और "$" आरक्षित हैं।

क्या अन्य पात्रों के बारे में "उन अक्षरों में से प्रत्येक के आरक्षित उद्देश्य है? मैं समझता हूँ कि क्या &, = और + के लिए क्वेरी में उपयोग किया जाता है, लेकिन क्या?

अधिक व्यावहारिक रूप से, मैं चाहिए हमेशा यूआरएल एनकोड उन अक्षरों को जब वे क्वेरी में हैं ब्राउज़र और सर्वर है कि मैं संभाल देखा है? और; एन्कोड किया जा रहा

उत्तर

5

बिना और अन्य पात्रों मुझे लगता है कि धारा RFC 3986, जो RFC 2396 obsoletes का 2.2, एक है संभावित स्पष्टीकरण। मैं उद्धरण:

ये अक्षर रहे हैं कहा जाता है "आरक्षित" क्योंकि वे हो सकता है (या नहीं कर सकते हैं) यूआरआई के अपसंदर्भन एल्गोरिथ्म के कार्यान्वयन-विशिष्ट वाक्यविन्यास द्वारा सामान्य वाक्य रचना द्वारा सीमांकक के रूप में परिभाषित, प्रत्येक योजना विशेष वाक्य रचना के द्वारा, या हो ।

मुझे लगता है कि बर्नर्स-ली, एट अल। यहां पहुंचने की कोशिश कर रहे हैं कि सभी आरक्षित पात्रों का उपयोग आरएफसी में वर्णित जेनेरिक वाक्यविन्यास में नहीं किया जाता है, लेखक भविष्य की योजनाओं के लिए पर्याप्त अक्षांश छोड़ना चाहते थे या कार्यान्वयन विशिष्ट कोड उन वर्णों का उपयोग करने में सक्षम होने के लिए उन्होंने फिट देखा।

कि क्या आप उन पात्रों इनकोड करना चाहिए करने के लिए के रूप में, मेरी राय है कि आप अनुसंधान और एक Percent-Encoding Algorithm कि मानक इस प्रकार का उपयोग करें और एक गैर मानक एक का उपयोग नहीं या रोल-अपने-खुद की कोशिश करनी चाहिए है। उदाहरण के लिए, यदि आप सी # या पायथन जैसी भाषा का उपयोग कर रहे हैं तो उन भाषाओं के साथ आने वाले पुस्तकालयों में एल्गोरिदम के मानक-अनुरूप कार्यान्वयन शामिल हैं। अधिक विवरण के लिए, RFC 3986 के अनुभाग 2.4 को एन्कोड या डीकोड करने के दौरान कवर किया गया है।

+0

अच्छा जवाब। मुझे यकीन है कि एक प्रश्न का उत्तर देने के लिए आपको एक बैज मिलता है जो कुछ महीने पुराना है, बधाई हो! : पी –

+0

इसके लिए एक बैज है और इसे "रिवाइवल" कहा जाता है –

संबंधित मुद्दे