URL kódování
Author
Albert FloresURL kódování (známé rovněž jako % kódování) je mechanismus pro kódování informací v Uniform Resource Identifier (URI). Taktéž je používáno v přípravě dat typu application/x-www-form-urlencoded, ve kterém webové prohlížeče přenášejí přes HTTP data z formulářů.
Chceme-li tak mít například v adrese stránky text URL kódování, zapíše se jako URL%20k%C3%B3dov%C3%A1n%C3%AD.
Implementace
Procentové kódování zmiňuje dokument RFC 3986, který v kapitolách 2. 2 a 2. +more3 definuje: * rezervované znaky . * ' ; : @ & = + $ , / . # [ ] * nerezervované znaky A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 - _ . ~ Rezervované znaky se kódují (escapují) pomocí znaku procenta, po kterém následuje ASCII kód znaku v hexadecimálním tvaru (dvě hexadecimální číslice 00-FF).
. | # | $ | & | ' | ( | ) | + | , | / | : | ; | = | . +more | @ | [[závorka|[]] | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
%21 | %23 | %24 | %26 | %27 | %28 | %29 | %2A | %2B | %2C | %2F | %3A | %3B | %3D | %3F | %40 | %5B | %5D |
Další pravidla
Nerezervované znaky se podle konvence nekódují (a samy aplikace to nedělají), zakódovány však být mohou. * Samotný znak procenta je též zakódován - jako %25. +more * Hexadecimální číslice se podle konvence uvádějí (u hodnot A až F) velkými písmeny, v podstatě všechny aplikace však akceptují i malé. * Binární data se podle RFC 1738 kódují tak, že se rozdělí na bajty, každý z nichž se kóduje pomocí procenta a hexadecimálního kódu. Eventuálně, nerezervované znaky mohou zůstat v původní podobě (pro kratší URL). * Existovala nestandardní implementace URL kódování, která umožňovala kódovat znaky s 16bitovým kódem z UTF-8 se syntaxí %uxxxx, kde xxxx jsou čtyři hexadecimální číslice. Toto rozšíření bylo ale zamítnuto konsorciem W3C a požaduje se, aby byly vícebajtové znaky vždy rozděleny na jednotlivé bajty a tyto podle výše zmíněných pravidel zakódovány.
Odkazy
Reference
Související články
Externí odkazy
[url=http://www.motobit.com/util/url-encoder.asp]URL encoder[/url]