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 |