Canonicalización

Definición - ¿Qué significa Canonicalización?

La canonicalización es el proceso de convertir datos que implican más de una representación en un formato estándar aprobado. Tal conversión asegura que los datos se ajusten a las reglas canónicas. Esto compara diferentes representaciones para asegurar la equivalencia, contar números de estructuras de datos distintas, imponer un orden de clasificación significativo y mejorar la eficiencia del algoritmo, eliminando así los cálculos repetidos.

La canonicalización se utiliza en numerosas aplicaciones informáticas y de Internet para generar datos canónicos a partir de información no canónica. La representación canónica de datos se utiliza ampliamente en
optimización de motores de búsqueda (SEO), servidores web, Unicode y XML.

Este término también se conoce como C14N, estandarización o normalización.

Techinfo explica la canonicalización

En SEO, la canonicalización de URL se ocupa del contenido web con más de una URL posible. Esto puede crear discrepancias en las búsquedas porque es posible que el motor de búsqueda no sepa qué URL debe mostrarse. La canonicalización elige la mejor URL entre varias opciones, generalmente refiriéndose a las páginas de inicio. Aunque ciertas URL parecen ser las mismas, los servidores web devuelven resultados diferentes para las URL. Los motores de búsqueda consideran solo una URL en forma canónica.

La seguridad informática se basa en la canonicalización del nombre de archivo. Algunos servidores web pueden tener una regla de seguridad para ejecutar archivos solo en un directorio en particular. Luego, el archivo se ejecuta solo si la ruta tiene el directorio especificado en su nombre. Se debe tener especial cuidado para verificar si el nombre del archivo es una representación única. Esta vulnerabilidad se denomina recorrido de directorio.

La mayoría de los caracteres del estándar Unicode tienen codificaciones de longitud variable. Esto requiere una consideración de cada carácter de cadena y hace que la validación de la cadena sea más compleja. Si no se tienen en cuenta todas las codificaciones de caracteres en la implementación del software, existe la posibilidad de errores. Este problema se puede eliminar utilizando una codificación única para cada carácter. La mejor alternativa que puede tomar cualquier software es verificar si la cadena está canonicalizada. Las cadenas que no están canonizadas se pueden rechazar.

Un documento XML canónico es un documento XML en formato canónico XML. Está definido por la especificación XML canónica. La canonicalización en XML elimina los espacios en blanco dentro de las etiquetas, clasifica las referencias de espacios de nombres y elimina las redundantes, y utiliza codificaciones de caracteres particulares. También elimina las declaraciones XML y DOCTYPE, además de transformar URL relativas en URL absolutas.