Um URL (acrônimo em inglês para Uniform Resource Locator) é o endereço de um recurso na rede mundial de computadores. Os URLs têm uma estrutura bem definida que foi formulada na RFC 1738 por Tim Berners-Lee, inventor da rede mundial de computadores.
Uma URL segue a seguinte sintaxe:
protocolo:[//[usuario:senha@]host[:porta]]caminho[?parametro][#fragmento]
O uso mais conhecido para a URL é para a conexão em sites, como podemos ver no exemplo abaixo.
https://google.com.br
Diversas melhorias foram feitas na RFC inicial. O RFC atual que define a sintaxe do URI é o RFC 3986. Esta postagem contém informações do documento RFC mais recente.
Diferença entre URL e URI
Você provavelmente vai escutar em alguns lugares falando URL e em outros URI.
- Um URI é um identificador para um recurso específico. Como uma página, livro ou documento
- A URL é tipo especial de identificador que também lhe diz como acessá-lo, como HTTPs, FTP, etc. Um exemplo seria o próprio site https://marquesfernandes.com
Se o protocolo (HTTPS, FTP, etc.) estiver presente ou implícito para um domínio, você deve chamá-lo de URL, embora ele também seja um URI. Todos os URLs são URIs, mas nem todos os URIs são URLs.
Codificação de URL (codificação com percentual)
Um URL é composto de um conjunto limitado de caracteres pertencentes ao conjunto de caracteres US-ASCII. Esses caracteres incluem dígitos (0-9), letras (AZ, az), e alguns caracteres especiais, ("-", ".", "_", "~"), por se tratar de US-ASCII, os caracteres permitidos não incluem os acentos como os encontrados na língua portuguesa.
Existem alguns caracteres especiais que possuem um uso especial nas URLs. Alguns exemplos de caracteres reservados são ?, /, #, :etc. Quaisquer dados transmitidos como parte da URL, seja em consulta segmento de corda ou caminho, não deve conter esses caracteres diretamente.
Além disso, caracteres perigosos como espaço, \, <, >, {, }etc, e qualquer carácter fora do conjunto de caracteres ASCII, não são permitidos diretamente nas URLs.
Então, o que fazer quando precisamos enviar dados na URL que contenham esses caracteres não permitidos? Usamos a magia da codificação.
A codificação de URL converte os caracteres reservados e inseguros em um formato compreendido por todos os navegadores e servidores da internet. Primeiro convertemos o caractere em um ou mais bytes. Então, cada byte é representado por dois dígitos hexadecimais com um prefixo de % (por exemplo %20). O sinal de porcentagem é usado como um caractere de segurança.
Exemplo de codificação de URL
Espaço: um dos caracteres codificados de URL mais frequentes que você provavelmente encontrará é um espaço vazio. O valor ASCII do espaço vaziocaractere em decimal é 32, que quando convertido em hexadecimal passa a ser 20. Agora, adicionamos o prefixo de porcentagem ( %), que nos dá o valor codificado do URL: %20.
Tabela de referência de codificação de porcentagem de caracteres ASCII
A tabela a seguir é uma referência de caracteres ASCII para sua forma codificada de URL correspondente.
| Decimal | Personagem | Codificação de URL (UTF-8) |
|---|---|---|
| 0 | NUL (caractere nulo) | %00 |
| 1 | SOH (início do cabeçalho) | %01 |
| 2 | STX (início do texto) | %02 |
| 3 | ETX (fim do texto) | %03 |
| 4 | EOT (fim da transmissão) | %04 |
| 5 | ENQ (inquérito) | %05 |
| 6 | ACK (reconhecer) | %06 |
| 7 | BEL (sino) | %07 |
| 8 | BS (retrocesso) | %08 |
| 9 | HT (guia horizontal) | %09 |
| 10 | LF (alimentação de linha) | %0A |
| 11 | VT (guia vertical) | %0B |
| 12 | FF (alimentação de formulário) | %0C |
| 13 | CR (retorno de carro) | %0D |
| 14 | SO (mude para fora) | %0E |
| 15 | SI (mudança) | %0F |
| 16 | DLE (escape do link de dados) | %10 |
| 17 | DC1 (controle de dispositivo 1) | %11 |
| 18 | DC2 (controle de dispositivo 2) | %12 |
| 19 | DC3 (controle do dispositivo 3) | %13 |
| 20 | DC4 (controle do dispositivo 4) | %14 |
| 21 | NAK (reconhecimento negativo) | %15 |
| 22 | SYN (sincronizar ) | %16 |
| 23 | ETB (fim do bloco de transmissão) | %17 |
| 24 | POSSO (cancelar) | %18 |
| 25 | EM (fim da mídia) | %19 |
| 26 | SUB (substituto) | %1A |
| 27 | ESC (escapar) | %1B |
| 28 | FS (separador de arquivo) | %1C |
| 29 | GS (separador de grupo) | %1D |
| 30 | RS (separador de registro) | %1E |
| 31 | US (separador de unidade) | %1F |
| 32 | espaço | %20 |
| 33 | ! | %21 |
| 34 | “ | %22 |
| 35 | # | %23 |
| 36 | $ | %24 |
| 37 | % | %25 |
| 38 | E | %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 | E | %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 | C | %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 | eu | %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 | C | %77 |
| 120 | x | %78 |
| 121 | y | %79 |
| 122 | z | %7A |
| 123 | { | %7B |
| 124 | ||
| 125 | } | %7D |
| 126 | ~ | %7E |
| 127 | DEL (apagar) | %7F |
O post O que é codificação de URL e como funciona? apareceu primeiro em Henrique Marques Fernandes.

Top comments (0)