Při předávání informací prostřednictvím adresy URL musí řetězec obsahovat pouze konkrétní povolené znaky. Mezi tyto povolené znaky patří abecední znaky, číslice a několik speciálních znaků, které mají v řetězci adresy URL význam. Jakékoli další znaky, které je třeba přidat na adresu URL, by měly být zakódovány, aby během procházení prohlížeče nezpůsobily problémy s vyhledáním stránek a zdrojů, které hledáte.
Kódování URL
Kódování pouze vezme speciální znak a nahradí ho kódovanou alternativou. Řetězec vypadá chaoticky, ale výsledek je pro počítače snadno čitelný a nebudete riskovat nesprávné směrování URL.
Například odkaz na soubor s názvem můj resume.pdf vyžaduje kódování URL, aby se mezi nimi přizpůsobil prostor můj a životopis. Výsledek je můj% 20resume.pdf. Bez kódování mezerníku bude webový prohlížeč předpokládat, že URL končí na konci slova můj, s resume.pdf být vyřazen jako nadbytečná data. V takové situaci byste svůj soubor nikdy nenašli!
Co by mělo být zakódováno?
Na stránce musí být zakódován jakýkoli znak, který není abecedním znakem, číslem nebo zvláštním znakem, který se používá mimo jeho normální kontext. Níže je uvedena tabulka běžných znaků v adresách URL a jejich kódování:
Kódování URL vyhrazených znaků
Charakter | Účel v URL | Kódování |
: | Oddělte protokol (http) od adresy | % 3B |
/ | Oddělte doménu a adresáře | % 2F |
# | Samostatné kotvy | %23 |
? | Samostatný řetězec dotazu | % 3F |
& | Samostatné prvky dotazu | %24 |
@ | Oddělte uživatelské jméno a heslo od domény | %40 |
% | Označuje zakódovaný znak | %25 |
+ | Označuje mezeru | % 2B |
Nedoporučuje se v adresách URL | % 20 nebo + |
Tyto zakódované příklady se liší od toho, co najdete u Speciální znaky HTML. Chcete-li například kódovat adresu URL znakem ampersand, použijte %24. V HTML však použijte buď & nebo &, oba by zapsaly ampersand na stránce HTML.
Tato různá schémata kódování nejsou tak protichůdná, jak se zdá. Jedna sada řídí adresy URL, zatímco druhá určuje obsah stránky, na kterou URL odkazuje.