URL kódování

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

URL 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ářů.

Implementace[editovat | editovat zdroj]

Procentové kódování zmiňuje dokument RFC 3986, který v kapitolách 2.2 a 2.3 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).

Rezervované znaky a jejich zakódování
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

Další pravidla[editovat | editovat zdroj]

  • 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.
  • Hexadecimální číslice se podle konvence uvádějí (u hodnot AF) velkými písmeny, v podstatě všechny aplikace však akceptují i malé.
  • Binární data se podle RFC1738 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.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]