Tous les guides

Les caractères réservés des URL expliqués

Guides d'encodage d'URL

La spécification des URL (RFC 3986) répartit les caractères en deux catégories : réservés (reserved) et non réservés (unreserved). Connaître cette distinction permet de savoir clairement quand vous devez encoder et quand ce n'est pas nécessaire.

Caractères non réservés (sûrs tels quels)

Les lettres, les chiffres et les quatre symboles - _ . ~ peuvent apparaître partout sans encodage. Les encoder ne changerait pas leur signification : on les laisse donc normalement intacts.

Caractères réservés (signification structurelle)

Les caractères réservés divisent une URL en parties. Pour en utiliser un comme donnée littérale, vous devez l'encoder.

La frontière entre encodeURI et encodeURIComponent

encodeURI préserve ces caractères réservés, afin de ne pas casser la structure d'une URL déjà complète. encodeURIComponent les encode tous, ce qui est ce qu'il vous faut lorsque vous insérez un fragment tel qu'une simple valeur de paramètre.

Utilisez encodeURIComponent pour une seule valeur et encodeURI pour une adresse entière — retenir cette seule règle évite la plupart des erreurs.