Interessante Frage von Andy
Ernsthafte Frage. Warum verwenden wir .html statt .htm? / @adactio @css
— Andy Clarke (@Malarkey) 12. Dezember 2019
Die wahrscheinlichste Antwort aus dem Thread: DOS war lange Zeit ein massives Betriebssystem für PCs und hatte eine Beschränkung von drei Zeichen für Dateierweiterungen.
Interessant, dass das erste Buch über HTML dies spezifisch behandelt
Aus dem HTML Manual of Style (1994)... dem ersten Buch über HTML 📚🙂 pic.twitter.com/PtUTdr7I2k
— Phil (@phildcpickering) 12. Dezember 2019
Wo mein Gedanke hinführte, war die **Server-Software**. Ich weiß, dass Webserver automatisch unterschiedliche Dinge mit unterschiedlichen Dateitypen machen. In einem Test auf meinem eigenen Server (eingerichtet, um eine WordPress-Site zu bedienen) habe ich einige Dateien im Stammverzeichnis abgelegt, die alle denselben Inhalt haben: <h1>Cool</h1>
- file.text = Datei wird im Browser als Klartext gerendert (Content-Type: text/plain)
- file.html = Datei wird im Browser als HTML gerendert (Content-Type: text/html)
- file.htm = Datei wird im Browser als HTML gerendert (Content-Type: text/html)
- file.fart = Datei wird vom Browser heruntergeladen (Content-Type: application/octet-stream)
Sie können Code schreiben, um Dateien mit beliebigen Content-Typen zu bedienen, aber mangels dessen spielen Dateierweiterungen eine Rolle, da sie beeinflussen, wie Standard-Webserver Dateityp-Header auswählen.
Die Antwort auf die Frage, warum wir eine 4-stellige Dateierweiterung verwenden, kann nicht sein
„Wir haben früher ein Betriebssystem mit 3-stelligen Dateierweiterungen verwendet“
Auch wenn es nicht explizit ist, scheint die Antwort mir zu erklären, warum wir .html indirekt verwenden, indem sie erklärt, warum es überhaupt eine Alternative zu .html gibt.
Als ich in den 90er Jahren mit dem Erlernen von HTML begann, sagte die allgemeine Meinung, dass .htm-Dateien von Windows-Servern verstanden würden, während .html auf *nix verwendet wurden. Microsoft brachte später .asp, dann .aspx, und der Rest, wie man so schön sagt, ist Geschichte.
HTML und HTM sind dasselbe Dateiformat. Wie im Artikel geschrieben, sollte es HTML sein, aber wir haben früher auf DOS HTM geschrieben, wegen der Drei-Zeichen-Beschränkung des Betriebssystems.
Das beantwortet nicht die Frage im Titel (?)
Macht nichts, ich habe den geteilten Screenshot nicht gelesen
Wenn Sie .fart auf Ihrem Webserver als text/html hinzufügen, läuft es auch.
Ich habe mich schon immer gefragt, wie das ist. Danke, dass du die Antwort herausgefunden hast!
Es sei denn, wie Sie sagten, Sie sind auf DOS, waren sie schon immer austauschbar. Und Webserver können so konfiguriert werden, dass sie jede Erweiterung als jeden MIME-Typ behandeln. Die von Ihnen aufgeführten sind nur die Standardwerte. Sie könnten HTML leicht als Binärdateien bereitstellen, wenn Sie wollten.
Ich meinte MIME-Typ :)
Wissen Sie, dass MICROSOFT OFFICE die Signatur mit .htm als Legacy-Code speichert? Ich habe das vor über 10 Jahren festgestellt und es bleibt seitdem so.
Sie können jede Dateierweiterung für Ihre Website verwenden, solange Sie den MIME-Typ für diese Erweiterung konfigurieren. Wenn Sie .fart wollten, könnten Sie das zum Laufen bringen.
Die frühen Webserver liefen fast ausschließlich auf Unix-Dateisystemen und berücksichtigten Dateisysteme von PCs/DOS, die nur 3-stellige Dateierweiterungen unterstützten, wenig.
Für die meisten praktischen Zwecke waren sogar die Dateinamen auf 8 Zeichen beschränkt. Windows hatte zu dieser Zeit eine Art Langdateinamensunterstützung, aber die meisten FTP-Clients unterstützten dies nicht und verwendeten beim Übertragen von Dateien den 8-stelligen DOS-Dateinamen-Alias. Es war ein Chaos und der Versuch, zwischen den beiden Systemen zu arbeiten, war ein Albtraum.
Das Internet ging DOS und Mac-Systemen voraus. Internet-Server waren alle Varianten von Unix-Systemen, bei denen gepunktete Dateierweiterungen für das Unix-Dateisystem nur ein Teil des Dateinamens waren, aber bestimmte Apps und Dienste (d.h. System-Apps) waren so konzipiert, dass sie bestimmte gepunktete Suffixe im Namen erwarteten (d.h. Erweiterungen). Der Standard für Webseiten war .html, aber frühe Windows-Systeme konnten aufgrund der 3-stelligen Erweiterung nicht an dieser neuen Welt teilnehmen, bis .htm als Alternative zugelassen wurde. Macs hatten ein anderes Problem, da sie keine Erweiterungssuffixe im Namen benötigten und Benutzer den gesamten Dateinamen leicht umbenennen konnten. Mac-Benutzer mussten also darauf achten, den Erweiterungsteil des Namens explizit einzugeben, wenn sie Dateien im Internet erstellten. Schließlich ist der Name wichtig, und auch die genaue Groß-/Kleinschreibung jedes Zeichens darin, da ein Hyperlink zu einem Dateinamen im Internet sowohl Groß-/Kleinschreibung als auch Namen empfindlich ist, also sind .html, .htm und .HTM alle unterschiedlich, wenn sie auf einem Unix- (oder Linux-) Server liegen (und selbst wenn sie jetzt auf einem Windows-Server liegen, der die Groß-/Kleinschreibung nicht berücksichtigt, kann er eines Tages auf einen Unix-Server portiert werden und die Links brechen). Ein Webbrowser und der Webserver selbst könnten so konzipiert sein, dass sie verschiedene Alternativen eines Dateinamens ausprobieren, um den Eindruck zu erwecken, den richtigen Dateinamen zu haben, aber ich weiß nicht, ob sie das tun – vielleicht versucht ein Windows-basierter Webserver dies, aber das führt nur zu schlampigen Praktiken mit inkonsistentem Benennen, die wie ein Kartenhaus zusammenfallen, wenn Ihre Website auf einen Unix-basierten Server portiert wird.
Ja, das kann es. Es erklärt die Ursprünge von .htm überhaupt erst, was ein Kompromiss für ein bestimmtes Betriebssystem war. Die Erweiterung sollte .html sein, um das Akronym HTML widerzuspiegeln.
Wenn DOS mehr als 3 Zeichen für Dateierweiterungen zugelassen hätte, gäbe es die alternative .htm-Erweiterung nicht einmal. Und ihre Existenz ist der Hauptgrund, warum Leute fragen, warum wir .html statt .htm verwenden. Und wenn das nicht der Grund ist, dann kann man gleichermaßen fragen: Warum nicht „x“ statt .html? .html scheint am aussagekräftigsten zu sein. .htm und andere Alternativen mögen kürzer sein oder einige andere Eigenschaften haben, aber eine Wahl muss getroffen werden, und .html scheint am passendsten und natürlichsten.
Der Grund, warum wir .htm nicht sehr oft verwenden und stattdessen .html verwenden, ist, dass das Internet hauptsächlich auf Servern läuft, die 4-stellige Dateierweiterungen zulassen, und HTML steht für Hypertext Markup Language. Der einzige Grund, warum .htm überhaupt existiert, ist, dass frühe DOS- und Windows-Systeme die vollständige .html-Dateierweiterung nicht verarbeiten konnten. Daher wurde sie als .htm abgekürzt. Die Antwort ist also: .html ist die ursprüngliche Methode und die bevorzugte Methode, während .htm eine Variante ist.
In den 90er Jahren, als Commodore noch das „Computer, das seiner Zeit voraus war“-Gerät, den legendären Amiga, verkaufte, hatte es eine integrierte Datatype-Unterstützung, die die Notwendigkeit, Dateien für gängige Typen eine Erweiterung zu geben, überflüssig machte – das Betriebssystem wusste einfach, welcher Dateityp eine Datei war, und erstellte eine Vorschau in Workbench (denken Sie an Finder).
Ich denke, Macs und Windows verlassen sich selbst im Jahr 2020 auf Dateinamenserweiterungen – es wäre interessant, eine definitive Antwort zu haben.
https://en.wikipedia.org/wiki/AmigaOS
Der Unterschied lag darin, ob der Dateityp als Teil des Dateinamens angegeben wurde oder als separates Feld im Dateisystem gespeichert wurde. Es sind im Grunde zwei verschiedene Arten, dasselbe zu tun. Wenn es Teil des Dateinamens ist, ist es wahrscheinlich einfacher zu verwenden, da Sie den Dateityp ändern können, indem Sie nur seinen Namen ändern (z. B. von txt zu html).