Cosa aggiunge un risolutore dietro un tag di prodotto?
Uno strato fra l'identificativo e le destinazioni. Un semplice reindirizzamento manda tutti a una sola pagina; un risolutore tiene più collegamenti per lo stesso identificativo, manda ogni richiesta al tipo che chiede, e a una macchina può rendere l'elenco intero invece di reindirizzarla.
Perché una sola destinazione non basta
Un passaporto di prodotto ha lettori nominati. Il regolamento (UE) 2024/1781 elenca i clienti, i riparatori, i ricondizionatori, i riciclatori, le autorità di vigilanza del mercato e le autorità doganali fra chi deve avere accesso secondo i propri diritti, cosa che la pagina dell'accesso espone. Arrivano allo stesso tag volendo cose diverse.
Un indirizzo con una sola destinazione serve il primo di loro e delude gli altri. La risposta abituale è una pagina con dei collegamenti sopra, che funziona per una persona con uno schermo e per niente per una macchina.
Come risponde un risolutore conforme
La norma GS1 sul risolutore conforme descrive il comportamento con precisione. Ogni identificativo ha un collegamento predefinito, e il risolutore reindirizza lì a meno che la richiesta non dica altro. Una richiesta può dire altro tramite le intestazioni HTTP oppure tramite un parametro linkType che nomina il tipo di collegamento voluto, e dove il risolutore conosce un collegamento di quel tipo ci reindirizza subito.
Una macchina può anche chiedere tutto: con linkType messo su linkset, oppure con un'intestazione Accept di application/linkset+json, il risolutore non reindirizza ma rende l'elenco intero dei collegamenti, seguendo il formato linkset della RFC 9264. È questa la differenza fra un reindirizzamento e un risolutore: l'elenco una macchina lo può leggere, invece di doverlo sottintendere.
La norma chiede anche che gli URL di destinazione siano direttamente pertinenti all'entità identificata invece di essere una pagina iniziale o un elenco di risultati di ricerca, che è la regola che la maggior parte delle installazioni rompe per prima.
Costruirne uno, oppure no
Un reindirizzamento uno a uno non ha bisogno di alcun programma speciale: lo fa ogni server web, e per una sola destinazione quella è la risposta onesta. Quello che un risolutore aggiunge sono più collegamenti per identificativo, dei tipi dichiarati e un modo perché un programma li elenchi.
Qualunque cosa tu faccia girare deve sopravvivere al prodotto, dato che il passaporto deve restare disponibile almeno per la sua durata attesa, cosa che la pagina della disponibilità copre. Un risolutore è un'infrastruttura con un decennio di funzionamento nella sua specifica, ed è una ragione per pesare il comprarlo contro il costruirlo.
Quello che non risolve
I diritti di accesso. I diritti del passaporto li fissa l'atto e si fanno rispettare dove i dati vivono, come descrive la pagina dell'accesso; un risolutore che reindirizza un riparatore verso una risorsa riservata non gli ha concesso niente, ha indicato una porta che deve ancora verificare chi bussa.
E l'identità. L'identificativo dentro un indirizzo è leggibile da chiunque e copiabile da chiunque, quindi un risolutore risponde a quello che l'identificativo dichiara, non a quello che l'oggetto è. La pagina lato server lo dice senza giri, e la pagina della credenziale traccia la stessa linea per i sistemi di accesso.
Domande frequenti
Qual è la differenza da un reindirizzamento?
Un reindirizzamento ha una sola destinazione. Un risolutore tiene più collegamenti per un identificativo, reindirizza al tipo richiesto, e li può elencare tutti per una macchina.
Come fa un programma a chiedere un collegamento preciso?
Tramite le intestazioni HTTP o un parametro linkType che nomina il tipo voluto. Il risolutore ci reindirizza subito quando conosce un collegamento simile.
Come fa una macchina ad avere l'elenco intero?
Chiedendo il linkset, tramite il valore di linkType o un'intestazione Accept, nel qual caso il risolutore rende l'elenco invece di reindirizzare.
Un risolutore fa rispettare i diritti di accesso?
No. Indica delle risorse. I diritti fissati dall'atto si fanno rispettare dove vivono i dati del passaporto.