Was ist Kanonisierung?
Bei der Kanonisierung werden Daten, die mehr als eine Repräsentation umfassen, in ein standardgenehmigtes Format konvertiert. Eine solche Konvertierung stellt sicher, dass die Daten den kanonischen Regeln entsprechen. Dies vergleicht verschiedene Darstellungen, um die Äquivalenz zu gewährleisten, um Zahlen von unterschiedlichen Datenstrukturen zu zählen, um eine sinnvolle Sortierreihenfolge aufzuerlegen und die Effizienz des Algorithmus zu verbessern, wodurch wiederholte Berechnungen eliminiert werden.
Canonicalization wird in zahlreichen Internet- und Computeranwendungen verwendet, um kanonische Daten aus nichtkanonischen Informationen zu generieren. Die kanonische Darstellung von Daten wird häufig in der
Suchmaschinenoptimierung (SEO), Webservern, Unicode und XML verwendet.
Dieser Begriff ist auch bekannt als C14N, Standardisierung oder Normalisierung.
In der SEO beschäftigt sich die URL-Kanonisierung mit Web-Inhalten mit mehr als einer möglichen URL. Dies kann zu Diskrepanzen bei der Suche führen, da die Suchmaschine möglicherweise nicht weiß, welche URL angezeigt werden soll. Canonicalization wählt die beste URL aus mehreren Optionen aus, die sich normalerweise auf Homepages beziehen. Obwohl bestimmte URLs identisch zu sein scheinen, geben Webserver unterschiedliche Ergebnisse für die URLs zurück. Suchmaschinen betrachten nur eine URL in kanonischer Form.
Computersicherheit basiert auf der Kanonisierung von Dateinamen. Einige Webserver verfügen möglicherweise über eine Sicherheitsregel, um Dateien nur in einem bestimmten Verzeichnis auszuführen. Die Datei wird dann nur ausgeführt, wenn der Pfad das angegebene Verzeichnis in seinem Namen enthält. Es muss besonders darauf geachtet werden, dass der Dateiname eindeutig ist. Eine solche Schwachstelle wird Directory Traversal genannt.
Die meisten Zeichen im Unicode-Standard haben Kodierungen mit variabler Länge. Dies erfordert eine Berücksichtigung jedes Zeichenkettenzeichens und macht die Zeichenkettenvalidierung komplexer. Wenn in der Software-Implementierung nicht alle Zeichenkodierungen berücksichtigt werden, besteht die Möglichkeit von Fehlern. Dieses Problem kann eliminiert werden, indem für jedes Zeichen eine einzige Codierung verwendet wird. Die beste Alternative, die jede Software verwenden kann, besteht darin, zu überprüfen, ob die Zeichenfolge kanonisiert ist. Zeichenfolgen, die nicht kanonisch sind, können zurückgewiesen werden.
Ein kanonisches XML-Dokument ist ein XML-Dokument in XML-kanonischer Form. Es ist durch kanonische XML-Spezifikation definiert. Canonicalization in XML eliminiert Leerraum innerhalb von Tags, sortiert Namespace-Referenzen und eliminiert überflüssige und verwendet bestimmte Zeichenkodierungen. Außerdem werden XML- und DOCTYPE-Deklarationen entfernt und relative URLs in absolute URLs umgewandelt.