सुरक्षित प्रसारण के लिए विशेष URL वर्णों को एन्कोड करें या उन्हें वापस मूल में डिकोड करें।
URL एन्कोडिंग, जिसे प्रतिशत-एन्कोडिंग (percent-encoding) के रूप में भी जाना जाता है, यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) में जानकारी एन्कोड करने का एक तंत्र है। यह असुरक्षित ASCII वर्णों को '%' और उसके बाद दो हेक्साडेसिमल अंकों से बदल देता है जो वर्ण के बाइट मान का प्रतिनिधित्व करते हैं। यह सुनिश्चित करता है कि URL मान्य रहें और बिना किसी समस्या के इंटरनेट पर प्रसारित किए जा सकें।
URL एन्कोडिंग वर्णों को एक ऐसे प्रारूप में परिवर्तित करती है जिसे इंटरनेट पर प्रसारित किया जा सकता है। सुरक्षित वर्ण (A-Z, a-z, 0-9, -, _, ., ~) अपरिवर्तित रहते हैं। अन्य सभी वर्णों को उनके UTF-8 बाइट अनुक्रम में बदल दिया जाता है, जिसमें प्रत्येक बाइट को %XX के रूप में प्रदर्शित किया जाता है जहाँ XX हेक्साडेसिमल मान है।
Hello World
Hello%20World
name=John&age=30
name%3DJohn%26age%3D30
https://example.com/search?q=test
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dtest
जब भी आप URL में उपयोगकर्ता इनपुट या विशेष वर्ण शामिल कर रहे हों, विशेष रूप से क्वेरी पैरामीटर्स या पथ खंडों (path segments) में, तो आपको URL एन्कोड करना चाहिए।
encodeURI एक पूर्ण URI को एन्कोड करता है और :, /, ?, और # जैसे वर्णों को सुरक्षित रखता है। encodeURIComponent अल्फ़ान्यूमेरिक वर्णों और - _ . ~ को छोड़कर सब कुछ एन्कोड करता है, जो इसे क्वेरी पैरामीटर मानों को एन्कोड करने के लिए उपयुक्त बनाता है।