Breve introdución á codificación de URL

O URL dun sitio web, tamén coñecido como o "enderezo do sitio web", é o que alguén introduciría nun navegador web para acceder a un sitio web específico. Cando pasas información a través dun URL, debes asegurarte de que só usa caracteres específicos permitidos. Estes caracteres permitidos inclúen caracteres alfabéticos, números e algúns caracteres especiais que teñen significado na cadea URL. Calquera outro carácter que deba ser engadido a un URL debe estar codificado para que non causen problemas durante a viaxe do navegador para localizar as páxinas e recursos que está a buscar.

Codificación dun URL

O carácter máis codificado na cadea URL é o carácter . Verá este carácter cando vexa un signo de plus (+) nun URL. Isto representa o carácter espacial. O signo máis actúa como un carácter especial que representa ese espazo nunha URL. A forma máis común que verás é unha ligazón mailto que inclúe unha materia. Se queres que o asunto teña espazos nel, podes codificalos como vantaxes:

mailto: email? subject = this + is + my + subject

Este bit de codificación de texto transmitiría un tema de "este é o meu tema". O carácter "+" na codificación substituiríase por un real cando se renderiza no navegador.

Para codificar unha URL, simplemente substitúe os caracteres especiais coa súa cadea de codificación. Isto comezará case sempre cun% character.

Codificación dun URL

En rigor, sempre debería codificar os caracteres especiais atopados nun URL. Unha nota importante, se está sentindo un pouco intimidado por toda esta conversa ou codificación, é que generalmente non atopará ningún carácter especial nunha URL fóra do seu contexto normal excepto cos datos do formulario.

A maioría dos URL usan os caracteres simples que sempre están permitidos, polo que non se precisa ningunha codificación.

Se envía datos a scripts CGI usando o método GET, debería codificar os datos a medida que se envíe por URL. Por exemplo, se está escribindo unha ligazón para promover un feed RSS , o seu URL terá que ser codificado para engadir ao URL de script que o está a promocionar.

¿Que debería ser codificado?

Calquera carácter que non sexa un carácter alfabético, un número ou un carácter especial que se utilice fóra do seu contexto normal vai ter que estar codificado na súa páxina. Abaixo está unha táboa de caracteres comúns que se atopan nun URL e na súa codificación.

Codificación de URL de caracteres reservados

Personaxe Propósito en URL Codificación
: Protocolo separado (http) do enderezo % 3B
/ Separar dominio e directorios % 2F
# Separar áncoras 23%
¿? Cadea de consulta separada % 3F
& Separar elementos de consulta 24%
@ Separar o nome de usuario e o contrasinal do dominio 40%
% Indica un carácter codificado 25%
+ Indica un espazo % 2B
Non se recomenda en URLs % 20 ou +

Teña en conta que estes exemplos codificados son diferentes do que atopamos con caracteres especiais HTML . Por exemplo, se precisa codificar un URL cun carácter (& ampersand), usaría% 24, que é o que se mostra na táboa anterior. Se estiveses escribindo HTML e queres engadir unha letra ao texto, non poderías usar% 24. En cambio, usaría "& amp;"; ou "& # 38;", os cales escribiran a & na páxina HTML cando se render. Isto pode parecer confuso ao principio, pero basicamente é a diferenza entre o texto que aparece na páxina en si, que forma parte do código HTML e a cadea URL, que é unha entidade separada e, polo tanto, suxeita a regras diferentes.

O feito de que o "&" personaxe, así como moitos outros caracteres, poida aparecer en cada un non debe confundilo coas diferenzas entre os dous.

Artigo orixinal de Jennifer Krynin. Editado por Jeremy Girard.