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ářů.
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.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
- 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 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.[1] 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
- ↑ Internationalized Resource Identifiers (IRIs) – Appendix A.3 New Encoding Convention [online]. W3.org [cit. 2022-10-28]. Dostupné online.
Související články
Externí odkazy