Vous pouvez encoder +
, mais vous n'êtes pas obligé.
Premièrement, nous devons convenir qu’il mailto
s’agit d’un exemple d’URI générique, spécifié par le RFC 2396 . (C’est ce qu’utilisent XHTML et HTML 4).
Découvrons maintenant la liste des caractères réservés dans la RFC 2396.
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
L'URI se divise en absolu et relatif:
URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
Et parce que le schéma mailto:
est spécifié, il s'agit d'un URI absolu:
absoluteURI = scheme ":" ( hier_part | opaque_part )
Et puisque les deux modèles pour hier_part
commencer /
, mailto
est une partie opaque.
opaque_part = uric_no_slash *uric
uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
"&" | "=" | "+" | "$" | ","
uric = reserved | unreserved | escaped
La restriction est donc que vous devez vous échapper /
s'il s'agit du premier caractère, mais vous pouvez ensuite mettre des caractères réservés, y compris +
et @
.
Voici un autre RFC pour supporter ceci. Dans le dernier RFC du système mailto publié en 2010, appelé RFC 6068 , il est dit:
Les logiciels créant des 'mailto'
URI doivent également veiller à coder tous les caractères réservés utilisés. Les formulaires HTML sont un type de logiciel qui crée des 'mailto'
URI. Les implémentations actuelles codent un espace comme '+'
, mais cela crée des problèmes car un tel '+'
statut d'espace ne peut pas être distingué d'un réel '+'
dans un 'mailto'
URI. Lors de la production des 'mailto'
URI, tous les espaces DEVRAIENT être codés sous
%20
, et les '+'
caractères PEUVENT être codés sous %2B
. Veuillez noter que les '+'
caractères sont fréquemment utilisés dans le cadre d’une adresse électronique pour indiquer une sous-adresse, comme par exemple dans <bill+ietf@example.org>
.