एक मान या पूरा पता
दोनों मोड का फ़र्क़ पाँच अक्षरों पर टिका है: &, =, ?, / और #।
एक मान इन सबको भी बदल देता है। जो चीज़ किसी पैरामीटर के भीतर जानी है — खोज शब्द, रीडायरेक्ट का पता — उसके लिए यही लें। बिना बदले कोई URL ?next= के बाद लगा दीजिए, तो उसके भीतर का & नए पैरामीटर की शुरुआत मान लिया जाएगा और आपका मान वहीं कट जाएगा।
पूरा पता ढाँचा बनाने वाले अक्षर छोड़ देता है। जब आपके पास पहले से चलता-फिरता URL हो और सिर्फ़ स्पेस या गैर-ASCII अक्षर सुधारने हों, तब यह काम आता है। पूरा पता इस मोड से गुज़ारने पर https:// के स्लैश बचे रहते हैं और लिंक चलता रहता है।
उलझन हो तो एक ही कसौटी है: पते का कोई हिस्सा बना रहे हैं तो एक मान, पता पहले से हाथ में है तो पूरा पता।
स्पेस के लिए + या %20
दोनों दिखते हैं, पर उनकी जगह अलग है। %20 मानक रूप है और URL में कहीं भी चलता है। + HTML फ़ॉर्म की पुरानी एन्कोडिंग से आया है और सिर्फ़ क्वेरी स्ट्रिंग के भीतर स्पेस माना जाता है।
पाथ में आया + सचमुच जोड़ का चिह्न होता है। जिस फ़ाइल के नाम में प्लस है, उसे फ़ॉर्म के नियम से डिकोड करने पर नाम चुपचाप बदल जाता है। यह टूल मानक का पालन करते हुए स्पेस को %20 बनाता है।
दो बार एन्कोड हुए मान
डिकोड करने के बाद भी %2520 या %253A बचा रह जाए तो मान दो बार एन्कोड हुआ है — दूसरी बार में % खुद %25 बन गया।
ऐसा प्रायः तब होता है जब कोड किसी पहले से एन्कोड किए मान को दोबारा एन्कोड कर देता है। एक बार और डिकोड करने पर मूल पाठ मिल जाता है, पर असली सुधार यह तय करना है कि एन्कोडिंग कहाँ होगी: जहाँ मान URL में जुड़ता है वहीं एक बार, और बाकी हर जगह मूल पाठ।
जो अक्षर नहीं बदलते
A-Z, a-z, 0-9 तथा -, ., _, ~ को नियमों ने सुरक्षित माना है, इसलिए वे ज्यों के त्यों रहते हैं। इन्हें अनबदला देखना कोई गड़बड़ी नहीं है।
देवनागरी का एक अक्षर UTF-8 में तीन बाइट का होता है, तो वह %E0%A4%95 जैसे तीन टुकड़ों में बदलता है। एन्कोड किया पता अचानक इतना लंबा इसीलिए लगता है।