आप सांकेतिक शब्दों में बदलना +
, लेकिन आप के लिए नहीं है।
सबसे पहले, हमें यह सहमत होना चाहिए कि RFC 2396mailto
द्वारा निर्दिष्ट एक सामान्य URI का एक उदाहरण है । (यह XHTML और HTML 4 का उपयोग है)।
अब हम RFC 2396 में आरक्षित वर्णों की सूची का पता लगाते हैं।
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
URI पूर्ण और सापेक्ष में विभाजित होता है:
URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
और क्योंकि योजना mailto:
निर्दिष्ट है यह एक पूर्ण यूआरआई है:
absoluteURI = scheme ":" ( hier_part | opaque_part )
और दोनों पैटर्न के hier_part
साथ शुरू करने के लिए /
, mailto
एक अपारदर्शी हिस्सा है।
opaque_part = uric_no_slash *uric
uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
"&" | "=" | "+" | "$" | ","
uric = reserved | unreserved | escaped
तो प्रतिबंध आप से बचने के लिए किया है वह यह है कि /
अगर यह पहले चरित्र की बात आती है, लेकिन उसके बाद आप सहित आरक्षित अक्षरों में डाल सकते हैं +
और @
।
इसका समर्थन करने के लिए यहां एक और RFC है। 2010 में प्रकाशित RFC 6068 नामक नवीनतम RFCs में , यह कहता है:
'mailto'
इसी तरह यूआरआई बनाने वाले सॉफ्टवेयर का उपयोग किए जाने वाले किसी भी आरक्षित वर्ण को एन्कोड करने के लिए सावधान रहना होगा। HTML फॉर्म एक प्रकार का सॉफ्टवेयर है जो 'mailto'
URI बनाता है। वर्तमान कार्यान्वयन के रूप में एक अंतरिक्ष सांकेतिक शब्दों में बदलना '+'
, लेकिन यह समस्या पैदा करता है क्योंकि '+'
एक अंतरिक्ष के लिए इस तरह के एक खड़े '+'
एक 'mailto'
URI में एक असली से अलग नहीं किया जा सकता है । 'mailto'
यूआरआई का निर्माण करते समय , सभी रिक्त स्थान के रूप में इनकोडिंग किया जाना चाहिए %20
, और '+'
पात्रों को एनकोड किया जाना चाहिए
%2B
। कृपया ध्यान दें कि '+'
पात्रों को अक्सर एक उप पते के लिए एक ईमेल पते के हिस्से के रूप में उपयोग किया जाता है, उदाहरण के लिए <bill+ietf@example.org>
।