Case Sensitivity
Als Case Sensitivity bezeichnet man die Analysefertigkeit von Programmen, zwischen Groß- und Kleinschreibung zu unterscheiden. Dies ist hauptsächlich dann wichtig, wenn zwei Strings miteinander verglichen werden sollen. Da für diese Aufgabe häufig die ASCII-Zeichenkodierung zum Einsatz kommt, ist Case Sensitivity ein natürlicher Bestandteil vieler Programme. Anders als vermutet, muss der Computer also die Unterscheidung “verlernen”. Hierfür ist eine sogenannte Abstraktionsschicht notwendig, die schon vor dem Programmstart die Unterschiede zwischen “A” und “a” als nichtig erklärt.
Passwörter und PIN-Codes
Manchmal ist die Abhängigkeit von Groß- und Kleinschreibung von elementarer Bedeutung, beispielsweise bei der Verteilung von Passwörtern und PIN-Codes. Hier wird bewusst auf eine solche Verarbeitung verzichtet, damit der vom User verwendete oder zufällig generierte String eine wesentlich höhere Vielfalt aufweisen kann. Dies gilt auch für ähnliche, häufig in der IT-Sicherheit vorkommende Beispiele wie Verschlüsselung, Hash-Systeme (hash keys) oder Netzwerk-Schlüssel.
Inhaltsverzeichnis
Programmiersprachen
Eine Ebene tiefer liegen Compiler und Programmiersprachen selbst. Ob eine Programmiersprache case-sensitiv arbeitet oder nicht, hängt von verschiedenen Faktoren ab. Eher einfach gehaltene Sprachen wie BASIC, Pacal oder Visual Basic sind case-insensitiv, während komplexere Programmiersprachen wie C, C# oder Perl komplett case-sensitiv arbeiten.
Zwar wird die Syntax durch die Case Sensitivity etwas komplexer, im Gegenzug dazu verringert sich jedoch auch die Wahrscheinlichkeit von Compiler-Fehlern durch Missinterpretation der eingegeben Syntax.
Good to know
Übrigens ist es durchaus möglich, mit nicht case-sensitiven Programmiersprachen case-sensitive Programme zu schreiben. Vorausgesetzt es besteht eine Möglichkeit, Strings auf einer niederen Ebene miteinander zu vergleichen, was selbst bei einfachen Sprachen wie BASIC der Fall ist.
URLs und Domains
In der Praxis sind Domainnamen normalerweise case-insensitive. Folglich werden diese lediglich in Kleinbuchstaben gelesen. Im Gegensatz dazu ist es möglich, Case Sensitivity bei weiteren Teilen der URL (Webadresse) unter Voraussetzung bestimmter Server Konfigurationen zu nutzen.
Das Hosting einer Website übernimmt ein ausgewählter Server. Dieser bearbeitet Serveranfragen kontinuierlich und liefert URL adressierte Seiten zurück. Domaininhaber müssen beachten, dass alle Server mit Windows Betriebssystemen die Case Sensitivity nicht beachten. Es erfolgt eine Übersetzung aller URLs in Kleinschreibung. Beispielsweise behandelt der Server die URL “tierwelten.de/Tipps-fuer-Karpfenzucht.htm” genauso, wie die “tierwelten.de/tipps-fuer-karpfenzucht.htm”.
Andererseits nutzen Server, die auf einem Unix oder einem Linux Betriebssystem basieren, Case Sensitivity. Beide Systeme deuten die oben beschriebenen Webadressen gleich. Vor Auswahl des Webservers ist es empfehlenswert, in Erfahrung zu bringen, ob der gewählte Server Case Sensitivity handhabt.
Sollte dies nicht der Fall sein, dienen Canonical Tags dazu, das Case Sensitivity Problem zu lösen. Mithilfe der Tags ist es möglich, innerhalb der spezifischen URL direkt auf die Original URL zu verweisen. Dadurch erfahren Suchmaschinen, wo genau der Originalinhalt ist. Case Sensitivity kann mithilfe des folgenden Canonical Tags erzeugt werden:
<link rel=”canonical” href=”http://www.tierwelten.de/tipps-fuer-karpfenzucht.htm” />
Fazit
Auf den ersten Blick scheint Case Sensitivity keinen Zusatznutzen zu bieten. Dies ist jedoch nicht der Fall. Zu begründen ist die Notwendigkeit von Case Sensitivity dadurch, dass die aktuell genutzten Betriebssysteme untereinander stark variieren. In der Praxis kann dies Komplikationen beim Datenaustausch verursachen. Kommt jedoch die Case Sensitivity gezielt zum Einsatz, ist es möglich, praktische Probleme bei der technischen Kommunikation zu vermeiden. Case Sensitivity nimmt einen zunehmend wichtigeren Stellenwert ein und bietet Vorteile im Rahmen der Suchmaschinenoptimierung von Websites.
Sie haben noch Fragen?