Parfois les espaces obtenir URL codée pour le signer, quelques autres fois à
. Quelle est la différence et pourquoi dans ce cas ?
- Le caractère espace de codage d’URL : + ou % 20 ? (2 réponses )
Réponses
Trop de publicités?+
, c'est un espace seulement en application/x-www-form-urlencoded
de contenu, comme la partie requête de l'URL:
http://www.example.com/path/foo+bar/path?query+name=query+value
Dans cette URL, le nom du paramètre est query name
avec un espace et de la valeur est query value
avec un espace, mais le nom du dossier dans le chemin d'accès est littéralement foo+bar
, pas foo bar
.
%20
est un moyen valable de coder un espace dans l'une de ces contextes. Donc, si vous avez besoin d'encoder une chaîne de caractères pour l'inclusion dans le cadre d'une URL, il est toujours préférable de remplacer les espaces par %20
et plus avec %2B
. C'est ce que par exemple. encodeURIComponent()
en JavaScript. Malheureusement, ce n'est pas ce qu' urlencode
n'en PHP (rawurlencode
est plus sûr).
Voir Aussi La Spécification HTML 4.01 application/x-www-form-urlencoded