Klicken Sie auf den Link. Die Seite wird angezeigt. Aber schauen Sie sich die Adressleiste genau an.

.htm. .html. .shtml. .asp. .php. .cgi. .pl.

Diese Erweiterungen sind nicht zufällig. Es sind Fingerabdrücke. Sie zeigen genau, wie der Server hinter dem Bildschirm die Seite erstellt hat, bevor sie jemals die Augen des Benutzers erreicht.

Die meisten Benutzer ignorieren dies. Das solltest du nicht. Das Verständnis dieser Unterschiede kann Aufschluss darüber geben, wie das Netzwerk wirklich hinter den Kulissen funktioniert. Dies erklärt, warum einige Websites schnell laden, während andere hängen bleiben. Es erklärt Sicherheitslücken. Dies erklärt, warum Microsoft- und Linux-Entwickler seit Jahrzehnten einen stillen Krieg führen.

Das ist es, was diese Buchstaben eigentlich bedeuten.

Die Kluft zwischen HTML und HTML

In den Anfängen des World Wide Web lief alles unter UNIX. UNIX mag lange Dateinamen. Es liebte „.html“. Das ist der Standard. Statisch. Einfach.

Dann kam der PC. DOS. Windows.

Diese Systeme folgen den 8.3-Namenskonventionen. Der Name ist 8 Zeichen lang. 3 für die Erweiterung. „.html“ ist 4 Zeichen lang. Es ist zu lang. Das System verschluckte sich.

Also hat sich das Web angepasst. Es sind noch zwei Erweiterungen übrig: „.html“ und „.htm“.

In der Vergangenheit konnte man UNIX- und Windows-Server anhand ihrer Dateierweiterungen unterscheiden. Diese Zeiten sind vorbei.

Heute ist dieser Unterschied unbedeutend. Websites, die auf UNIX-Servern ausgeführt werden, können „.htm“ verwenden. Windows-Server können „.html“ bereitstellen. Dies ist ausschließlich die Entscheidung des Webmasters.

HowStuffWorks läuft beispielsweise unter UNIX und verwendet „.htm“. Warum? Weil der Webmaster es ausgewählt hat. Der Inhalt ist statisch. Die Datei befindet sich auf der Festplatte. Der Server fängt es ab. Senden Sie es unverändert an Ihren Browser. Keine Bearbeitung. Kein Nachdenken. Einfach lesen.

Shtml: Präprozessor

„.shtml“ ähnelt „.html“, funktioniert aber anders.

„s“ steht für Server Side Includes (SSI).

Der Server unternimmt nichts für reguläre „.htm“- oder „.html“-Seiten. Es ruft die Datei ab. Es sendet es.

„.shtml“ suspendiert den Server. Überprüfen Sie Dateien auf spezielle Identifikatoren. Es hat sie gefunden. es führt sie aus.

Stellen Sie sich eine Website mit einer Kopf- und Fußzeile auf jeder Seite vor.

Wenn Sie das Logo ändern möchten, müssen Sie jede statische Datei bearbeiten. Tausende Dateien.

Verwenden Sie SSI, um den Header in einer Datei zu speichern. Die „.shtml“-Seite enthält Tags ähnlich wie „“. Wenn der Benutzer eine Seite anfordert, ruft der Server die Seite ab, fügt den Header-Code hinzu und sendet dann das Ergebnis.

Dies erleichtert die Aktualisierung der gesamten Website. Bearbeiten Sie die Header-Datei. Alle Seiten, die SSI enthalten, werden sofort aktualisiert. Das ist ein einfacher Trick. Sie können jedoch sehen, dass neben dem Speicher auch der Server funktioniert.

Asp: Microsofts flexibles Biest

„.asp“ steht für Active Server Pages.

Dies ist Microsofts Antwort auf dynamische Inhalte. Funktioniert auf einem Windows-Server. Dadurch können Entwickler Visual Basic Scripting Edition (VBScript) oder JScript direkt in HTML einbetten.

Der Server erkennt „.asp“. Ich weiß, dass ich den Code ausführen muss, bevor ich etwas an den Client sende.

Dieser Code kann die Datenbank lesen. Sie können Ihren Benutzernamen überprüfen. Sie können Inhalte basierend auf dem angemeldeten Benutzer formatieren. Sie erhalten viel Flexibilität.

Aber das hat seinen Preis.

Es liegt ein Fehler in Ihrem Code vor. Wenn das VBScript abstürzt, schlägt die Seite fehl. Der Server hat einen Fehler zurückgegeben. Benutzern wird eine defekte Seite angezeigt. Bei statischem HTML passiert dies nie. Statische Dateien können nicht „zerstört“ werden.

Mit der Freiheit geht Verantwortung einher. ASP-Seiten sind leistungsstark. Es ist auch zerbrechlich.

PHP, Jsp, Perl: Open-Source-Herausforderer

Microsoft ist nicht allein. Der Rest des Netzwerks entwickelte seine eigenen Tools.

„.php“ ist der beliebteste ASP-Ersatz.

Früher war es die Abkürzung für „persönliche Homepage“. Stellt derzeit nur PHP dar. Dies ist eine Skriptsprache, die zur Einbettung in HTML entwickelt wurde. Es funktioniert hauptsächlich auf Linux-Servern. Es ist Open Source. Es ist kostenlos.

„.jsp“ steht für JavaServer Pages. Dies ist Javas Antwort auf ASP. Der Einbettungscode ist Java. Funktioniert auf einem Java-kompatiblen Server. Es ist schwer. Der Startvorgang ist langsam. Aber es ist behoben. Es wird von großen Unternehmen eingesetzt, bei denen Stabilität wichtiger ist als Geschwindigkeit.

„.pl“ steht für PERL.

PERL ist eine alte Skriptsprache. Es ist berühmt für seine Textverarbeitung. „.pl“-Dateien sind typischerweise Skripte, die Seiten dynamisch erstellen. Mit ASP können Sie alles tun, was Sie können. Es ist mächtig. Es ist auch dafür bekannt, dass es schwer zu lesen ist. Die Syntax ist dicht. Der Code sieht aus wie eine Katze, die über die Tastatur läuft.

Cgi: Platzhalter

„.cgi“ steht für Common Gateway Interface.

Das ist keine Sprache. Es ist ein Protokoll.

„.cgi“-Dateien können mit C++ erstellt werden. Es ist auch möglich, im PERL-Format zu schreiben. Es ist auch möglich, es in Python zu schreiben. Es kann mit fast allem erstellt werden, was kompiliert oder auf einem Server ausgeführt werden kann.

Der Server hat eine „.cgi“-Anfrage erkannt. Führen Sie die ausführbare Datei aus. Die ausführbare Datei generiert den HTML-Code. Der Server sendet diesen HTML-Code an den Client.

Bei HowStuffWorks handelt es sich bei einigen „.cgi“-Dateien tatsächlich um kompilierten C++-Code. Es ist sehr schnell. Die Komplexität ist hoch.

Warum sollte es dich interessieren?

Den meisten Benutzern ist es egal. Sie möchten nur, dass die Seite geladen wird.

Das Verständnis dieser Erweiterungen kann Ihnen jedoch helfen, die Architektur des Internets zu verstehen.

Statische Seiten („.htm“, „.html“) sind sicher. sie sind schnell. Die Hosting-Kosten sind niedrig.

Dynamische Seiten („.asp“, „.php“, „.jsp“, „.cgi“) sind sehr flexibel. Diese interagieren mit der Datenbank. Passen Sie Ihre Inhalte an. Sie sind anfällig für Injektionsangriffe.

Wenn Sie „.shtml“ sehen, wissen Sie, dass Ihre Site serverseitige Includes verwendet. Es kann sich um eine große Website mit vielen Seiten handeln.

Wenn Sie „.php“ sehen, wissen Sie, dass die Site möglicherweise unter Linux läuft. Es kann sich um Open-Source-Software handeln.

Wenn Sie sich „.asp“ ansehen, werden Sie sehen, dass es sich wahrscheinlich um den Microsoft-Shop handelt.

Das Netzwerk ist kein Monolith. Es ist ein Flickenteppich aus Technologien. Die Verlängerung ist eine Naht.

Wenn Sie das nächste Mal auf einen Link klicken, schauen Sie sich das Ende an.

Was sagt uns diese Erweiterung über die Maschine, die auf der anderen Seite wartet?

Nichts ist sicher. Das Internet verwischt diese Grenzen. Ein Linux-Server kann „.htm“ bereitstellen. Windows-Server können „.php“ bereitstellen.

Bei den Erweiterungen geht es jetzt weniger um das Betriebssystem. Es geht um die Präferenz des Entwicklers.

Diese Technologie existiert immer noch. Es gibt immer noch Logik.

Doch das Signal lässt nach. Wir streben eine dynamische Zustellung unabhängig vom Dateinamen an. Diese Unterschiede werden zu historischen Relikten.