O que um resolvedor acrescenta atrás de uma tag de produto?
Uma camada entre o identificador e os destinos. Um redirecionamento simples manda todo mundo para uma página; um resolvedor guarda vários links para o mesmo identificador, redireciona cada pedido para o tipo que ele pede, e consegue devolver a lista inteira a uma máquina em vez de redirecionar.
Por que um destino só acaba não bastando
Um passaporte de produto tem leitores nomeados. O regulamento (UE) 2024/1781 lista clientes, reparadores, recondicionadores, recicladores, autoridades de fiscalização do mercado e autoridades aduaneiras entre quem tem de ter acesso conforme os direitos respectivos, o que a página do acesso expõe. Eles chegam à mesma tag querendo coisas diferentes.
Um endereço com um destino serve o primeiro deles e decepciona o resto. A resposta usual é uma página com links nela, que funciona para uma pessoa com uma tela e não funciona de jeito nenhum para uma máquina.
Como responde um resolvedor conforme
A norma GS1 do resolvedor conforme descreve o comportamento com precisão. Cada identificador tem um link padrão, e o resolvedor redireciona para lá a menos que o pedido diga outra coisa. Um pedido consegue dizer outra coisa pelos cabeçalhos HTTP ou por um parâmetro linkType que nomeia o tipo de link desejado, e onde o resolvedor conhece um link daquele tipo ele redireciona para lá na hora.
Uma máquina também consegue pedir tudo: com linkType posto em linkset , ou com um cabeçalho Accept de application/linkset+json , o resolvedor não redireciona e devolve a lista inteira dos links, seguindo o formato linkset da RFC 9264. É essa a diferença entre um redirecionamento e um resolvedor: a lista uma máquina consegue percorrer, em vez de ter de supô-la.
A norma pede também URLs de destino diretamente pertinentes à entidade identificada em vez de uma página inicial ou de um conjunto de resultados de busca, que é a regra que a maioria das instalações quebra primeiro.
Construir um, ou não
Um redirecionamento um para um não precisa de programa especial nenhum: todo servidor web faz isso, e para um destino só essa é a resposta honesta. O que um resolvedor acrescenta são vários links por identificador, tipos declarados e uma maneira de um programa percorrê-los.
O que você rodar tem de sobreviver ao produto, já que o passaporte tem de continuar disponível pelo menos pela vida útil prevista dele, o que a página da disponibilidade cobre. Um resolvedor é infraestrutura com uma década de funcionamento na especificação dele, e essa é uma razão para pesar comprá-lo contra construí-lo.
O que ele não resolve
Os direitos de acesso. Os direitos do passaporte são fixados pelo ato e aplicados onde os dados ficam, como a página do acesso descreve; um resolvedor que redireciona um reparador para um recurso restrito não concedeu nada, ele apontou para uma porta que ainda tem de conferir quem está batendo.
E a identidade. O identificador num endereço é legível por qualquer um e copiável por qualquer um, então um resolvedor responde o que o identificador afirma, não o que o objeto é. A página do lado do servidor diz isso sem rodeios, e a página da credencial traça a mesma linha para os sistemas de acesso.
Perguntas frequentes
Qual é a diferença para um redirecionamento?
Um redirecionamento tem um destino. Um resolvedor guarda vários links para um identificador, redireciona para o tipo pedido, e consegue listar todos para uma máquina.
Como um cliente pede um link específico?
Pelos cabeçalhos HTTP ou por um parâmetro linkType que nomeia o tipo desejado. O resolvedor redireciona para lá na hora quando conhece um link desses.
Como uma máquina obtém a lista inteira?
Pedindo o linkset, pelo valor de linkType ou por um cabeçalho Accept, caso em que o resolvedor devolve a lista em vez de redirecionar.
Um resolvedor aplica os direitos de acesso?
Não. Ele aponta para recursos. Os direitos fixados pelo ato são aplicados onde os dados do passaporte ficam.