URL kodavimas (dar žinomas kaip procentinis kodavimas) – tai specialiųjų simbolių konvertavimo į formatą, kurį galima saugiai naudoti URL adresuose, procesas. Jis pakeičia URL adresuose neleidžiamus simbolius (pvz., tarpus, skyrybos ženklus arba ne ASCII simbolius) procento ženklu (%), po kurio eina du šešioliktainiai skaitmenys, nurodantys simbolio ASCII kodą.
Pavyzdžiui, tarpas užkoduojamas kaip %20, o dvitaškis (:) gali būti užkoduotas kaip %3A.
Siekiant užtikrinti, kad specialieji simboliai URL adresuose (pvz., tarpai, klaustukai, pasvirieji brūkšniai ir ampersandai) būtų tinkamai pateikiami nepažeidžiant URL struktūros.
Siekiant užkoduoti ne ASCII simbolius (pvz., raides su diakritinėmis raidėmis arba simbolius iš ne lotyniškos abėcėlės), siekiant užtikrinti suderinamumą su sistemomis, kurios palaiko tik ASCII.
Siekiant užklausos parametrų užkodavimo URL, kad žiniatinklio serveriai ir naršyklės juos teisingai analizuotų.
Siekiant išvengti kenkėjiško duomenų manipuliavimo URL adresuose, užkoduojant potencialiai pavojingus simbolius.
URL kodavimas dažnai atliekamas naudojant integruotas funkcijas daugumoje programavimo kalbų.
„JavaScript“ kalboje galite naudoti encodeURIComponent() arba encodeURI().
„Python“ kalboje galite naudoti urllib.parse.quote() arba urllib.parse.quote_plus().
Tai pakeičia simbolius, kurie URL adrese nėra saugūs (pvz., tarpus, &, =, #) su atitinkamomis užkoduotomis reikšmėmis.
Pavyzdžiui:
encodeURIComponent("Hello World!") grąžintų "Hello%20World%21".
Kai URL adrese koduojami užklausos parametrai arba formos duomenys, pvz., HTTP GET užklausose.
Kai į URL adresą įterpiami specialūs simboliai (pvz., tarpai, brūkšniai arba ne ASCII simboliai), ypač sąveikaujant su API arba žiniatinklio paslaugomis.
Kai URL adresus kuriami rankiniu būdu ir užtikrinama, kad tokie simboliai kaip =, &, arba ? netrukdo URL struktūrai.
Kuriant trumpus URL arba koduotas nuorodas, kurias reikia bendrinti skaitomu ir saugiu formatu.