Stručný úvod do kódování adres URL

Adresa URL webových stránek, známá také jako "adresa webu", je to, co by někdo vstoupil do webového prohlížeče, aby mohl přistupovat k určitému webu. Při předávání informací prostřednictvím adresy URL je třeba se ujistit, že používá pouze specifické povolené znaky. Tyto povolené znaky obsahují abecední znaky, číslice a několik zvláštních znaků, které mají význam v řetězci adresy URL. Jakékoli další znaky, které je třeba přidat do adresy URL, by měly být zakódovány tak, aby během prohlížení prohlížeče nezpůsobily problémy s nalezením stránek a zdrojů, které hledáte.

Kódování adresy URL

Nejčastěji kódovaný znak v řetězci URL je znak . Tuto znak vidíte vždy, když se v adrese URL zobrazí značka plus (+). Toto představuje prostorový znak. Značka plus se chová jako zvláštní znak, který představuje tento prostor v adrese URL. Nejčastějším způsobem, jakým to uvidíte, je v odkazu mailto, který obsahuje předmět. Pokud chcete, aby objekt obsahoval mezery, můžete je kódovat jako pluses:

mailto: email? subject = tento + je + můj + předmět

Tento bit kódovacího textu by vyslal předmět "toto je můj předmět". Znak "+" v kódování bude nahrazen skutečným , když je vykreslen v prohlížeči.

Chcete-li kódovat adresu URL, jednoduše nahradíte speciální znaky kódem. To bude téměř vždy začínat znakem%.

Kódování adresy URL

Přesně řečeno, měli byste kódovat vždy všechny speciální znaky nalezené v adrese URL. Jedna důležitá poznámka, v případě, že se cítíte poněkud zastrašena touto řečí nebo kódováním, spočívá v tom, že obecně nenaleznete žádné speciální znaky v adrese URL mimo jejich normální kontext, s výjimkou dat formuláře.

Většina adres URL používá jednoduché znaky, které jsou vždy povoleny, takže žádné kódování není vůbec zapotřebí.

Pokud odešlete data do skriptů CGI pomocí metody GET, měli byste kódovat data tak, jak budou odeslána přes URL. Pokud napíšete například odkaz na propagaci zdroje RSS , bude třeba adresu URL kódovat, aby se přidala do adresy URL skriptu, kterou propagujete.

Co by mělo být zakódováno?

Libovolný znak, který není abecedním znakem, číslem nebo speciálním znakem, který se používá mimo jeho normální kontext, bude muset být kódován na vaší stránce. Níže je tabulka běžných znaků, které lze nalézt v adrese URL a jejich kódování.

Vyhrazené znaky URL kódování

Charakter Účel v adrese URL Kódování
: Samostatný protokol (http) z adresy % 3B
/ Samostatná doména a adresáře % 2F
# Samostatné kotvy % 23
? Oddělovací řetězec dotazu % 3F
A & Samostatné prvky dotazu % 24
@ Oddělte uživatelské jméno a heslo od domény % 40
% Označuje kódovaný znak % 25
+ Označuje mezeru % 2B
Nedoporučuje se v adresách URL % 20 nebo +

Všimněte si, že tyto kódované příklady jsou jiné, než co najdete u speciálních znaků HTML . Například pokud potřebujete kódovat URL s znakem ampersand (&), použijete% 24, což je to, co je uvedeno v tabulce výše. Pokud jste psali HTML a chcete přidat text do textu, nemůžete použít% 24. Místo toho použijete buď "& amp;"; nebo "& # 38;", které by při zápisu vypsaly & v HTML stránce. To se může nejdříve zdát nejasné, ale v podstatě je to rozdíl mezi textem, který se objevuje na samotné stránce, která je součástí kódu HTML, a řetězec adresy URL, který je samostatnou entitou, a proto podléhá různým pravidlům.

Skutečnost, že znak "&", stejně jako mnoho dalších znaků, se mohou objevit v každém z nich, by neměl zaměňovat vás na rozdíly mezi těmito dvěma.

Původní článek Jennifer Krynin. Upravil Jeremy Girard.