Qu'apporte un résolveur derrière un tag de produit ?
Une couche entre l'identifiant et les destinations. Une redirection ordinaire envoie tout le monde vers une page ; un résolveur garde plusieurs liens pour le même identifiant, redirige chaque requête vers le type qu'elle demande, et sait rendre la liste entière à une machine au lieu de la rediriger.
Pourquoi une destination ne suffit plus
Un passeport produit a des lecteurs nommés. Le règlement (UE) 2024/1781 cite les clients, les réparateurs, les reconditionneurs, les recycleurs, les autorités de surveillance du marché et les douanes parmi ceux qui doivent avoir accès selon leurs droits, ce qu'expose la page des accès. Ils arrivent sur le même tag en voulant des choses différentes.
Une adresse avec une seule destination sert le premier d'entre eux et déçoit les autres. La réponse habituelle est une page avec des liens dessus, ce qui marche pour une personne munie d'un écran et pas du tout pour une machine.
Comment répond un résolveur conforme
La norme GS1 du résolveur conforme décrit précisément le comportement. Chaque identifiant a un lien par défaut, et le résolveur y redirige sauf si la requête dit autre chose. Une requête peut dire autre chose par des en-têtes HTTP ou par un paramètre linkType qui nomme le type de lien voulu, et là où le résolveur connaît un lien de ce type il y redirige aussitôt.
Une machine peut aussi tout demander : avec linkType posé à linkset, ou un en-tête Accept valant application/linkset+json, le résolveur ne redirige pas mais rend la liste complète des liens, au format linkset de la RFC 9264. C'est là la différence entre une redirection et un résolveur : la liste se découvre par logiciel au lieu d'être sous-entendue.
La norme demande aussi des URL de destination directement pertinentes pour l'entité identifiée plutôt qu'une page d'accueil ou une liste de résultats de recherche, ce qui est la règle que la plupart des déploiements cassent en premier.
En bâtir un, ou pas
Une redirection de un vers un ne demande aucun logiciel particulier : tout serveur web le fait, et pour une destination unique c'est la réponse honnête. Ce qu'un résolveur ajoute, ce sont plusieurs liens par identifiant, des types déclarés et un moyen pour un logiciel de les énumérer.
Quoi que vous exploitiez doit survivre au produit, puisque le passeport doit rester disponible au moins pendant sa durée de vie prévue, ce que couvre la page de la disponibilité. Un résolveur est une infrastructure avec une décennie de fonctionnement dans sa spécification, et c'est une raison de peser l'acheter contre le bâtir.
Ce qu'il ne règle pas
Les droits d'accès. Les droits du passeport sont fixés par l'acte et appliqués là où vivent les données, comme le décrit la page des accès ; un résolveur qui redirige un réparateur vers une ressource restreinte n'a rien accordé, il a montré une porte qui doit encore vérifier qui frappe.
Et l'identité. L'identifiant contenu dans une adresse est lisible par n'importe qui et copiable par n'importe qui, donc un résolveur répond à ce que l'identifiant prétend, pas à ce que l'objet est. La page côté serveur le dit sans détour, et la page du justificatif trace la même limite pour les systèmes d'accès.
Questions fréquentes
Quelle différence avec une redirection ?
Une redirection a une seule destination. Un résolveur détient plusieurs liens pour un identifiant, redirige vers le type demandé, et sait tous les lister pour une machine.
Comment un client demande-t-il un lien particulier ?
Par des en-têtes HTTP ou un paramètre linkType qui nomme le type voulu. Le résolveur y redirige aussitôt quand il connaît un tel lien.
Comment une machine obtient-elle la liste entière ?
En demandant le linkset, par la valeur de linkType ou par un en-tête Accept, auquel cas le résolveur rend la liste au lieu de rediriger.
Un résolveur applique-t-il les droits d'accès ?
Non. Il montre des ressources. Les droits que fixe l'acte sont appliqués là où vivent les données du passeport.