Canonização

Definição - o que significa canonização?

Canonização é o processo de conversão de dados que envolve mais de uma representação em um formato padrão aprovado. Essa conversão garante que os dados estejam em conformidade com as regras canônicas. Isso compara diferentes representações para garantir a equivalência, contar números de estruturas de dados distintas, impor uma ordem de classificação significativa e melhorar a eficiência do algoritmo, eliminando assim cálculos repetidos.

A canonização é usada em vários aplicativos da Internet e de computador para gerar dados canônicos a partir de informações não canônicas. A representação canônica de dados é amplamente usada em
otimização de mecanismos de pesquisa (SEO), servidores Web, Unicode e XML.

Este termo também é conhecido como C14N, padronização ou normalização.

Definirtec explica canonização

Em SEO, a canonização de URL lida com conteúdo da Web com mais de um URL possível. Isso pode criar discrepâncias nas pesquisas porque o mecanismo de pesquisa pode não estar ciente de qual URL deve ser exibido. A canonização escolhe o melhor URL entre várias opções, geralmente referindo-se às páginas iniciais. Embora certos URLs pareçam iguais, os servidores Web retornam resultados diferentes para os URLs. Os motores de busca consideram apenas um URL na forma canônica.

A segurança do computador é baseada na canonização do nome do arquivo. Alguns servidores da Web podem ter uma regra de segurança para executar arquivos apenas em um determinado diretório. O arquivo é então executado apenas se o caminho tiver o diretório especificado em seu nome. Cuidado especial deve ser tomado para verificar se o nome do arquivo é uma representação única. Essa vulnerabilidade é chamada de travessia de diretório.

A maioria dos caracteres no padrão Unicode tem codificações de comprimento variável. Isso requer uma consideração de cada caractere da string e torna a validação da string mais complexa. Se todas as codificações de caracteres não forem consideradas na implementação do software, haverá a possibilidade de bugs. Esse problema pode ser eliminado usando codificação única para cada caractere. A melhor alternativa, que qualquer software pode tomar, é verificar se a string é canonizada. Strings que não são canonicamente podem ser rejeitadas.

Um documento XML canônico é um documento XML em formato canônico XML. É definido pela especificação XML canônica. A canonização em XML elimina o espaço em branco dentro das tags, classifica as referências de namespace e elimina as redundantes e usa codificações de caracteres particulares. Ele também remove declarações XML e DOCTYPE, além de transformar URLs relativos em URLs absolutos.