मैंने URL पैरामीटर के रूप में अपने जर्मन कीबोर्ड पर सभी उपलब्ध वर्णों के साथ अपनी वेबसाइट (अपाचे) का अनुरोध करके इसका परीक्षण किया:
http://example.com/?^1234567890ß´qwertzuiopü+asdfghjklöä#<yxcvbnm,.-°!"§$%&/()=? `QWERTZUIOPÜ*ASDFGHJKLÖÄ\'>YXCVBNM;:_²³{[]}\|µ@€~
ये एनकोडेड नहीं थे:
^0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.-!/()=?`*;:_{}[]\|~
इसके बाद एन्कोड नहीं किया गया urlencode()
:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_
इसके बाद एन्कोड नहीं किया गया rawurlencode()
:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~
नोट: PHP से पहले RFC 1738 की वजह से 5.3.0 rawurlencode()
एन्कोडेड । लेकिन यह RFC 3986 द्वारा प्रतिस्थापित किया गया था, इसलिए इसका उपयोग करना सुरक्षित है, अब। लेकिन मुझे समझ में नहीं आता है कि उदाहरण के लिए एनकोड क्यों किया जाता है क्योंकि उनका उल्लेख RFC 3986 में नहीं है।~
{}
rawurlencode()
मेरे द्वारा किया गया एक अतिरिक्त परीक्षण मेल ग्रंथों में ऑटो-लिंकिंग से संबंधित था। मैंने मोज़िला थंडरबर्ड, aol.com, outlook.com, gmail.com, gmx.de और yahoo.de का परीक्षण किया और वे पूरी तरह से इन वर्णों से युक्त URL से जुड़े हुए हैं:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~+#,%&=*;:@
बेशक ?
जुड़ा हुआ था, भी, लेकिन केवल अगर यह एक बार इस्तेमाल किया गया था।
कुछ लोग अब केवल rawurlencode()
चार्ट का उपयोग करने का सुझाव देंगे , लेकिन क्या आपने कभी सुना है कि किसी को इन वेबसाइटों को खोलने में समस्या थी?
तारांकन चिह्न
http://wayback.archive.org/web/*/http://google.com
कोलन
https://en.wikipedia.org/wiki/Wikipedia:About
प्लस
https://plus.google.com/+google
साइन इन करें, बृहदान्त्र, कोमा और विस्मयादिबोधक चिह्न
https: //www.google.com/maps/place/USA/@36.22184545, ...
उसकी वजह से ये चर समस्याओं के बिना उपयोग किए जाने योग्य नहीं होने चाहिए। बेशक आपको &;
एन्कोडिंग दृश्यों की तरह उपयोग नहीं करना चाहिए &
। %
जैसा कि सामान्य तौर पर वर्णों को सांकेतिक शब्दों में बदलने के लिए किया जाता था, वैसा ही कारण मान्य है । और =
जैसा कि यह एक पैरामीटर नाम के लिए एक मान प्रदान करता है।
अंत में मैं कहना चाहूंगा कि इन अनएन्कोडेड का उपयोग करना ठीक है:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~!+,*:@
लेकिन अगर आप यादृच्छिक रूप से उत्पन्न URL का उपयोग करने की अपेक्षा करते हैं, तो आपको उपयोग नहीं करना चाहिए .!
, क्योंकि वे एक वाक्य के अंत को चिह्नित करते हैं और कुछ मेल ऐप्स url के अंतिम चार्ट को ऑटो-लिंक नहीं करेंगे। उदाहरण:
Visit http://example.com/foo=bar! !
!*'();:@&=+$,/?#[]
या तो आरक्षित या अनारक्षितA-Za-z0-9_.~-
(या%
प्रतिशत-एन्कोडिंग के भाग के रूप में एक प्रतिशत वर्ण )