Кодування URL-адрес (також відоме як відсоткове кодування) – це процес перетворення спеціальних символів у формат, який можна безпечно використовувати в URL-адресах. Він замінює символи, які не дозволені в URL-адресах (такі як пробіли, розділові знаки або символи, що не належать до ASCII), знаком відсотка (%), за яким йдуть дві шістнадцяткові цифри, що представляють ASCII-код символу.
Наприклад, пробіл кодується як %20, а двокрапка (:) може бути закодована як %3A.
Щоб забезпечити правильне представлення спеціальних символів в URL-адресах (таких як пробіли, знаки питання, скісні риски та амперсанди) без порушення структури URL-адреси.
Для кодування символів, що не належать до ASCII (таких як літери з акцентами або символи з нелатинського алфавіту), щоб забезпечити сумісність із системами, які підтримують лише ASCII.
Для кодування параметрів запиту в URL-адресі, щоб веб-сервери та браузери правильно їх розбирали.
Щоб запобігти шкідливій маніпуляції даними в URL-адресах, кодуючи потенційно небезпечні символи.
Кодування URL-адрес часто виконується за допомогою вбудованих функцій у більшості мов програмування.
У JavaScript можна використовувати encodeURIComponent() або encodeURI().
У Python можна використовувати urllib.parse.quote() або urllib.parse.quote_plus().
Він замінює символи, які не є безпечними в URL-адресі (наприклад, пробіли, &, =, #) з відповідними закодованими значеннями.
Наприклад:
encodeURIComponent("Hello World!") поверне "Hello%20World%21".
Під час кодування параметрів запиту або даних форми в URL-адресі, наприклад, у запитах HTTP GET.
Під час вбудовування спеціальних символів (таких як пробіли, скісні риски або символи, що не належать до ASCII) в URL-адресу, особливо під час взаємодії з API або веб-сервісами.
Під час створення URL-адрес вручну та забезпечення того, щоб такі символи, як =, &, або ? не втручаються у структуру URL-адреси.
Під час створення коротких URL-адрес або закодованих посилань, які потрібно поширювати у зручному для читання та безпечному форматі.