Pourquoi avez-vous besoin pour encoder les Url?
Pourquoi avez-vous besoin pour encoder les url? Est-il une bonne raison pourquoi vous devez changer tout l'espace dans les OBTENIR les données pour %20
?
- Une bonne raison est que dans des documents imprimés, il est préférable d'utiliser
%20
de sorte que certains ca peut type de il sans chercher à deviner le nombre de places!
Vous devez vous connecter pour publier un commentaire.
De RFC 2936, la section 2.4.3:
Parce que certains caractères ont une signification particulière.
Par exemple, dans une chaîne de requête, l'esperluette (
&
) est utilisé comme séparateur entre les paires clé-valeur. Si vous deviez mettre une esperluette dans l'une de ces valeurs, il pourrait ressembler le séparateur entre la fin d'une valeur et le début de la touche next (suivant). Donc, pour les caractères spéciaux comme cela, nous utilisons pour cent de codage, de sorte que nous pouvons être sûr que les données sont sans ambiguïté codé.&
comme%26
. Encore, vous pourriez avoir une valeur contenant la chaîne de caractères comme100%26=22
. Il ne serait toujours ressembler à la séparation entre la clé-val de paires n'est-ce pas??%
est l'un des personnages avec un sens particulier, de sorte qu'il doit être codé (comme%25
). Si vous aviez la chaîne de valeur%26
puis qui apparaissent dans l'URL%2526
parce que le%
serait codé. Pour obtenir la valeur de chaîne, vous feriez décoder le%25
comme%
, vous laissant avec la chaîne%26
.Hey! Découvrez ce derping chat qui joue un piano!
Voir comment le lien se brise?
Maintenant, regardez ceci:
Bien, vous le faites parce que tous les différents navigateurs sait comment la chaîne de caractères qui représente l'URL est codé. la conversion de l'espace à 20%, etc fait que l'URL/URI portable. Il pourrait être latin-1, il pourrait être la norme unicode. Il doit normalisée à quelque chose qui est universellement compris. Jetez un oeil à rfc3986 http://tools.ietf.org/html/rfc3986#section-2.1