Co to jest kodowanie adresów URL i jak to działa?
Kodowanie URL to sposób na przetłumaczenie znaków zastrzeżonych i innych niż ASCII w adresach URL na format, który jest powszechnie akceptowany i rozumiany przez wszystkie przeglądarki internetowe i serwery. Sprawia, że adresy URL są bardziej niezawodne i bezpieczne.
Co to jest kodowanie adresów URL lub kodowanie procentowe?
Adresy URL w sieci WWW mogą zawierać tylko znaki alfanumeryczne ASCII i niektóre inne bezpieczne znaki, takie jak łącznik (-), podkreślenie (_), tylda (~) i kropka (.).
Alfabety / Cyfry / "-" / "_" / "~" / "."
Każdy inny znak poza powyższą listą musi być zakodowany.
Kodowanie adresów URL, znane również jako kodowanie procentowe, to sposób kodowania lub ucieczki znaków zarezerwowanych, niedrukowalnych lub znaków spoza zestawu ASCII w adresach URL do bezpiecznego formatu, który można przesyłać przez Internet. Służy również do przygotowania danych do przesyłania formularzy HTML z zawartością application/x-www-form-urlencoded.
Odniesienie do kodowania znaków ASCII
W poniższej tabeli znajduje się odwołanie znaków ASCII do odpowiadającej im postaci zakodowanego adresu URL.
W poniższej tabeli zastosowano reguły zdefiniowane w RFC 3986 dla kodowania adresów URL.
Dziesiętny | Postać | Kodowanie URL (UTF-8) |
---|---|---|
0 | NUL ( znak pusty) | %00 |
1 | SOH (początek nagłówka) | %01 |
2 | STX (początek tekstu) | %02 |
3 | ETX (koniec tekstu) | %03 |
4 | EOT (koniec transmisji) | %04 |
5 | ENQ (zapytanie) | %05 |
6 | ACK (potwierdzenie) | %06 |
7 | BEL (dzwonek (dzwonek)) | %07 |
8 | BS (backspace) | %08 |
9 | HT (zakładka pozioma) | %09 |
10 | LF (wysuw liniowy) | %0A |
11 | VT (zakładka pionowa) | %0B |
12 | FF (formularz) | %0C |
13 | CR (powrót karetki) | %0D |
14 | TAK (przesuń się) | %0E |
15 | SI (przesunięcie w) | %0F |
16 | DLE (ucieczka łącza danych) | %10 |
17 | DC1 (sterowanie urządzeniem 1) | %11 |
18 | DC2 (sterowanie urządzeniem 2) | %12 |
19 | DC3 (sterowanie urządzeniem 3) | %13 |
20 | DC4 (sterowanie urządzeniem 4) | %14 |
21 | NAK (potwierdzenie negatywne) | %15 |
22 | SYN (synchronizacja) | %16 |
23 | ETB (końcowy blok transmisji) | %17 |
24 | MOŻE (anuluj) | %18 |
25 | EM (koniec medium) | %19 |
26 | SUB (zastępca) | % 1A |
27 | ESC (ucieczka) | % 1B |
28 | FS (separator plików) | % 1C |
29 | GS (separator grup) | % 1D |
30 | RS (separator rekordów) | % 1E |
31 | USA (separator jednostek) | % 1F |
32 | przestrzeń | %20 |
33 | ! | %21 |
34 | " | %22 |
35 | # | %23 |
36 | $ | %24 |
37 | % | %25 |
38 | & | %26 |
39 | ' | %27 |
40 | ( | %28 |
41 | ) | %29 |
42 | * | %2A |
43 | + | % 2B |
44 | , | % 2C |
45 | - | %2D |
46 | . | %2E |
47 | / | %2F |
48 | 0 | %30 |
49 | 1 | %31 |
50 | 2 | % 32 |
51 | 3 | %33 |
52 | 4 | %34 |
53 | 5 | %35 |
54 | 6 | %36 |
55 | 7 | %37 |
56 | 8 | %38 |
57 | 9 | %39 |
58 | : | %3A |
59 | ; | %3B |
60 | < | %3C |
61 | = | %3D |
62 | > | %3E |
63 | ? | %3F |
64 | @ | %40 |
65 | A | %41 |
66 | b | % 42 |
67 | C | %43 |
68 | D | %44 |
69 | mi | %45 |
70 | F | %46 |
71 | g | %47 |
72 | h | %48 |
73 | i | %49 |
74 | J | %4A |
75 | K | % 4B |
76 | L | % 4C |
77 | m | %4D |
78 | n | %4E |
79 | O | %4F |
80 | P | %50 |
81 | Q | %51 |
82 | r | %52 |
83 | S | %53 |
84 | T | %54 |
85 | U | %55 |
86 | V | %56 |
87 | W | %57 |
88 | x | %58 |
89 | Y | %59 |
90 | Z | %5A |
91 | [ | %5B |
92 | \ | %5C |
93 | ] | %5D |
94 | ^ | %5E |
95 | _ | %5F |
96 | ` | %60 |
97 | a | %61 |
98 | b | %62 |
99 | c | %63 |
100 | d | %64 |
101 | e | %65 |
102 | f | %66 |
103 | g | %67 |
104 | h | %68 |
105 | i | %69 |
106 | j | %6A |
107 | k | %6B |
108 | l | %6C |
109 | m | %6D |
110 | n | %6E |
111 | o | %6F |
112 | p | %70 |
113 | q | %71 |
114 | r | %72 |
115 | s | %73 |
116 | t | %74 |
117 | u | %75 |
118 | v | %76 |
119 | w | %77 |
120 | x | %78 |
121 | y | %79 |
122 | z | %7A |
123 | { | %7B |
124 | | | %7C |
125 | } | %7D |
126 | ~ | %7E |
127 | DEL(delete (rubout)) | %7F |