Zum Inhalt springen

Dateinamen, Erweiterungen, Mime-Typen und Dateitypen


Smoky

Empfohlene Beiträge

hi, also von peacemaker die 3 links, habe die ersten 2 links mal gelesen und ich finde das PHP anscheinend leichter sein soll.....

aber was ist sicherer?

ich weiss das bei den links alles steht aber...ich weiss nciht bei jedem satz um was es jetzt momentan geht :( hypertext usw. oO

mfg smoky

Link zu diesem Kommentar
Auf anderen Seiten teilen

...ich habe beschlossen ich mache PHP :P...
du wirst um html wohl nicht herumkommen :D

php generiert im grunde nur den anzuzeigenden html-code

der vorteil von php ist halt dass der html-code "dynamisch" generiert wird und je nach voraussetzungen, wie irgendwelchen eingaben, anders aufgebaut werden kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also php und HTML in einen Topf zu werfen halte ich schon für stark gewagt. Es sind beides Scriptsprachen aber das war es schon mit den Gemeinsamkeiten.

HTML liegt nur auf dem Server und wartet auf eine Anforderung eines Browser, der die Seite dann runterlädt und erst lokal (clientseitig) auf dem Rechner ausführt. Php hingegen liegt auf dem Server und wartet auf eine Anforderung eines Browsers, nach der Anforderung wird die Datei an den php- Interpreter übergeben und von dem in Maschinensprache übersetzt und auf dem Server (serverseitig) ausgeführt.

Du solltest Dich nicht fragen welches einfacher zu erlernen ist sondern, dass HTML zur Ausgabe dient und ohne HTML, XHTML, XML, etc. kommst Du mit php nicht weit, wenn Du nicht weißt wie php funktioniert.

Fang Deine Seite ruhig erst einmal mit HTML an und benutze keinen Editor, der die die HTML Syntax vorgibt und Du selbst nur klicken musst. Nimm dir selfhtml und Notepad und leg los. An Dinge wie php kannst Du dann, je nach Lerntempo, in einpaar Monaten denken. Es kann auch nicht schaden, wenn Du Dir parallel dazu Gedanken machst, wie so eine Sprache überhaupt funktioniert und was für Prinzipien da zum Beispiel in der Infrastruktur stecken - sprich das lokale Netz und das Internet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

php und HTML [...] Es sind beides Scriptsprachen
Aber Hallo... HTML ist keine Skriptsprache - bei weitem nicht, auch nie gewesen!

HTML ist und bleibt eine Auszeichnungssprache.

HTML liegt nur auf dem Server und wartet auf eine Anforderung eines Browser, der die Seite dann runterlädt und erst lokal (clientseitig) auf dem Rechner ausführt.
Auch das nicht.

HTML liegt erstmal nirgendwo. Es ist einfach nur ein Definition der Struktur eines Dokumentes - mehr nicht.

Eine Datei foo.html ist von ihrem Inhalt her erstmal "nur" eine normale Textdatei. Erst der Inhalt macht sie zu einem Hypertext Dokument.

Und wenn ich in meinem Browser eingebe http://192.168.1.1/foorbar.html ist damit noch lange nicht gesagt, dass es - so wie von dir impliziert - eine Datei "foobar.html" auf dem Rechner 192.168.1.1 gibt. Es bleibt dem Webserver vollkommen frei, den gewünschten Content aus welcher Quelle auch immer zu ziehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber Hallo... HTML ist keine Skriptsprache - bei weitem nicht, auch nie gewesen!

HTML ist und bleibt eine Auszeichnungssprache.

Auch das nicht.

HTML liegt erstmal nirgendwo. Es ist einfach nur ein Definition der Struktur eines Dokumentes - mehr nicht.

Eine Datei foo.html ist von ihrem Inhalt her erstmal "nur" eine normale Textdatei. Erst der Inhalt macht sie zu einem Hypertext Dokument.

Und wenn ich in meinem Browser eingebe http://192.168.1.1/foorbar.html ist damit noch lange nicht gesagt, dass es - so wie von dir impliziert - eine Datei "foobar.html" auf dem Rechner 192.168.1.1 gibt. Es bleibt dem Webserver vollkommen frei, den gewünschten Content aus welcher Quelle auch immer zu ziehen.

Eine HTML- Datei hat den Mimetype text/html. Nicht nur Text. Zudem sollte jedem klar sein, dass eine Datei existieren muss, um sie aus zu führen. So nun sag mir doch Mal wofür es die Extension .htm gibt? Wenn ich eine neue Datei anlege, diese ohne Inhalt lasse und als foobar.htm abspeicher, was pssiert wenn ich da einen Doppelklick drauf mache? Mein standard Webbrowser öffnet sich. Woher weiß mein OS nun dass er bei einer leeren Datei den Browser öffnen soll? Gut es wurde dem OS so beigebracht aber garantiert passiert das nicht nur aufgrund dessen, dass ich HTML- Tags in eine Datei schreibe. Der Inhalt ist vor dem ersten Ausführversuch egal. Das OS geht erst nach der Extension und sucht nach Programmen, die damit etwas anfangen können.

Wo liegt denn der Unterschied zwischen einer Scriptsprache und einer Auszeichnungssprache? HTML wird vom Client angefordert, geparsed, interpretiert. Was passiert bei einer Scriptsprache? Das gleiche nur bei php, asp, etc wird es nicht auf dem Client durchgeführt.

Also wenn ich eine Datei foobar.html auf meinem Webserver ablege, dann existiert dort ein HTML- Dokument. Wenn andere Leute nicht erkennen, dass wenn sie "http://192.168.1.1/foobar.html" eingeben und eine Fehlermeldung kommt, die Datei entweder nicht vorhanden, die IP nicht gefunden wurde oder sie falsch ist oder aber, dass ich meinem Webserver sage, dass er diese Datei nicht rausgeben soll, oder noch anders, diese Leute versuchen ihren LAN Webserver in einem Klasse C Netz anzusprechen, der wohl nicht vorhanden ist, ist das deren Problem und ich weiß nicht ganz wieso Du sowas ansprichst.

PS:

ich habe auch noch eine schöne Seite für Dich. Such doch Mal bei google.de nach "wie ist meine ip" und schau Mal ob Du die Seite http://www.wieistmeineip.de/ findest. Dann schau Dir einfach Mal an was der da so anzeigt. Unter anderem wo Dein Browser vorher war.

Diese Zeile:

Herkunft : Sie waren eben auf Google und haben nach "wie ist meine ip" gesucht.

Ist zwar Offtopic aber das Thema hatten wir 2 ja schon einmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wo liegt denn der Unterschied zwischen einer Scriptsprache und einer Auszeichnungssprache? HTML wird vom Client angefordert, geparsed, interpretiert. Was passiert bei einer Scriptsprache? Das gleiche nur bei php, asp, etc wird es nicht auf dem Client durchgeführt.

Moin!

Schlecht geschlafen oder warum so schlecht drauf? :)

Also ich sehe das nicht so wie du. HTML z.B. ist ganz eindeutig eine Beschreibungssprache, eine Art Datencontainer. Der Browser (oder ein anderes Programm, dass dieses Format unterstützt) bekommt diesen Datencontainer, und was er daraus macht, wie er die Angaben in der Datei auswertet, bleibt zunächst mal ihm überlassen. Klar es gibt einen Standard, aber siehe IE 5.5 oder IE 6, die werten die Daten aus wie es ihnen grade passt. Eine Skriptsprache jedoch hat einen fest definierten Interpreter (PHP, Bash, etc.) und lässt keinen Interpretations-Spielraum. Ob das ganze jetzt auf dem Client oder auf einem Server abläuft ist grundsätzlich wurscht.

Gruß, Tobias

Link zu diesem Kommentar
Auf anderen Seiten teilen

es ist aber richtig, das es ne Auszeichnungssprache ist. Selbst Wikipedia sagt das. Aber Jungs, bevor ihr euch die Köpfe einschlägt, kommt doch wieder auf den Threadursprung zurück.

Da geht es mir eher um das Prinzip und im Prinzip passiert bei beidem das gleiche. Ich bin auch nur darauf eingegangen, weil mir manche Spitzfindigkeiten auf den Geist gehen und ich keinen Forumcop brauche, der in Antworten nach eben solchen Spitzfindigkeiten sucht um sich möglicherweise selbst zu profilieren. Insbesondere wenn es da um Gebiete geht, indenen so jemand meint das Recht und die Wahrheit für sich gepachtet zu haben.

Genau deswegen sollte man sich mit dem Background auseinander setzen und nicht einfach nur einpaar Tags in eine Datei zu schreiben und zu meinen, dass sie nur durch den Inhalt zu einer solchen Datei wird. Dateien haben Dateitypen und einem Browser wird wohl kaum eine Textdatei mit HTML als Inhalt als HTML werten. Dazu gehört der Dateityp, den ich mit einer Extension festlege.

php kann ich im übrigen auch noch zusätzliche Dinge beibringen wie zum Beispiel die Unterstützung von Smarty. Somit wäre mein php- Interpreter in der Lage Befehle zu verstehen, die andere nicht kennen. Genauso, wie zwischen Netscape Navigator und dem Internet Explorer es HTML und CSS Befehle gibt, die zwischen beiden unterschiedlich aussehen oder garnicht existent sind, zum Beispiel. Die Technik die hinter dem erkennen, parsen und übersetzen steckt ist beim Browser sowie beim Scriptinterpreter die gleiche.

Bei jeder Sprache, die man strukturiert lernen will, sollte man erst einmal die Entwicklungsumgebung verstehen. Danach sollte man sich Gedanken über seinen Stil machen also zum Beispiel doch Mal anfangen im Quellcode Tabstops zu setzen und sich an bestimmte Standards halten.

Aber wer will schon einpaar Wochen Theorie pauken bevor er die erste Zeile Programmcode schreibt? So entstehen dann schlecht strukturierte Webpräsenzen, die zum Teil auch noch weder einen Nährwert zum lernen als zur Information haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zudem sollte jedem klar sein, dass eine Datei existieren muss, um sie aus zu führen.
Ich habe nichts anderes behauptet. Allerdings sollte man gerade den Anfänger nicht das Gefühl geben, dass eine URL http://www.foo.de/bar.html immer automatish impliziert, dass es eine Datei bar.html gibt, die auch physikalisch auf dem Filesystem des Servers liegt - das kann der Fall sein, muss es aber nicht. Und dem Browser als interpretierender Instanz ist das erst recht egal - der bekommt einen Stream von Bytes/Characters und rendert darin intern die Darstellung.

Wo liegt denn der Unterschied zwischen einer Scriptsprache und einer Auszeichnungssprache?
Da gibt es ein paar sehr gut abgegrenzte Definitionen dessen, was eine Programmiersprache ist (nichts anderes ist eine Skriptsprache) und dem, was eine Auszeichnungssprache ist. Auch wenn es von aussen betrachtet ähnlich aussehen mag, was mit beiden Sprachtypen erreich werden kann, so ist die interne Behandlung eine vollkommen andere.

Eine sehr gute Übersicht, wieso eine Auszeichnunssprache eben keine Programmiersprache ist, gibt's hier: http://www.cs.tut.fi/~jkorpela/prog.html

Also wenn ich eine Datei foobar.html auf meinem Webserver ablege, dann existiert dort ein HTML- Dokument.
Richtig - aber wie oben geschrieben: Kann, muss aber nicht. Ich kann meinen Webserver so konfigieren, dass beim Aufruf einer beliebigen Datei (egal welche Endung, egal welcher Dateiname) immer dynamisch der gleiche Content generiert wird. Sowohl foo.html als auch bar.html als auch foobar.html werden dann wunderbar in meinem Browser angezeigt, obwohl für keine der drei URLs eine korrespondierende Datei auf meinem Server liegt.

ich habe auch noch eine schöne Seite für Dich. Such doch Mal bei google.de nach "wie ist meine ip" und schau Mal ob Du die Seite http://www.wieistmeineip.de/ findest.:P

Es ging mir darum eine Bespiel-URL zu erstellen, ich hätte genausogut http://123.123.123.123/foobar.html nehmen können. Hab da wohl zuviel Abstraktion vorausgesetzt. Wird nicht wieder vorkommen. :rolleyes:

Es tut mir ja herzlich leid, dass es bei dir nicht angekommen ist: Das ganze war ein Beispiel - ich kenne meine IP auch ohne besagte Seite
Link zu diesem Kommentar
Auf anderen Seiten teilen

Es tut mir ja herzlich leid, dass es bei dir nicht angekommen ist: Das ganze war ein Beispiel - ich kenne meine IP auch ohne besagte Seite :P

Es ging mir darum eine Bespiel-URL zu erstellen, ich hätte genausogut http://123.123.123.123/foobar.html nehmen können. Hab da wohl zuviel Abstraktion vorausgesetzt. Wird nicht wieder vorkommen. :rolleyes:

Das bezog sich auf eine andere Diskussion zwischen uns beiden. Dort ging es darum ob man die Browserhistorie auslesen kann.

Da gibt es ein paar sehr gut abgegrenzte Definitionen dessen, was eine Programmiersprache ist (nichts anderes ist eine Skriptsprache) und dem, was eine Auszeichnungssprache ist. Auch wenn es von aussen betrachtet ähnlich aussehen mag, was mit beiden Sprachtypen erreich werden kann, so ist die interne Behandlung eine vollkommen andere.

Wenn Script und Programmiersprache für Dich das gleiche ist, warum reitest Du dann darauf rum, wenn für mich eine Auszeichnungssprache von der Funktion her das gleiche ist wie eine Scriptsprache?

Programmiersprachen werden kompiliert und liegen ab da an in Maschinensprache bzw. in einer Zwischensprache vor. Scriptsprachen werden interpretiert, liegen also immer in Menschenverständlicherform vor, bis sie ausgeführt werden. Wobei auch hier nur das Ergebnis anders ist. die Funktion die da hinter steckt ist so ziehmlich die gleiche. Beim Debuggen sind bei einer Programmiersprache vieleicht noch einpaar Schritte mehr drin und halt das erstellen einer Ausführbaren Datei bzw. Programmbibliotheken, etc.

Laut Lehrbuch gibt es halt Programmier-, Script- und Auszeichnungssprachen. Nur die Technik da hinter ist weitestgehend identisch.

Lassen wir das Thema ganz einfach. Der Threadersteller sollte nun zumindest gesehen haben, dass da mehr zu gehört als nur in eine Datei einpaar Befehle zu schreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das bezog sich auf eine andere Diskussion zwischen uns beiden. Dort ging es darum ob man die Browserhistorie auslesen kann.
Merke: Browser-History != HTTP Referer.

Wenn Script und Programmiersprache für Dich das gleiche ist, warum reitest Du dann darauf rum, wenn für mich eine Auszeichnungssprache von der Funktion her das gleiche ist wie eine Scriptsprache?
Du hast die Doku, zu der ich den Link gepostet habe, nicht wirklich gelesen, oder?

Programmiersprachen werden kompiliert und liegen ab da an in Maschinensprache bzw. in einer Zwischensprache vor. Scriptsprachen werden interpretiert, liegen also immer in Menschenverständlicherform vor, bis sie ausgeführt werden.
Auch interpretierte Sprachen sind Programmiersprachen. BASIC beispielsweise ist eine interpretierte Sprache, die es bereits lange gab, bevor der Ausdruck Skriptsprachen populär wurde. Und dennoch gibt es niemanden, der BASIC nicht als Programmiersprache im eigentlichen Sinne bezeichnen würde.

Die Menge 'Programmiersprachen' beinhaltet die Menge 'Skriptsprachen' (Siehe auch http://de.wikipedia.org/wiki/Skriptsprachen "Skriptsprachen sind Programmiersprachen, die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind.". Die Menge 'Programmiersprachen' beinhaltet allerdings nicht die Menge "Auszeichnungssprachen". Ob's dir nun gefällt oder nicht :D

Laut Lehrbuch gibt es halt Programmier-, Script- und Auszeichnungssprachen. Nur die Technik da hinter ist weitestgehend identisch.
Na wenn du meinst - nur auf offizielles Parkett solltest du dich mit dieser Behauptung nicht begeben.

So, Zickenterror beendet ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Merke: Browser-History != HTTP Referer.

Also gut einer noch.

Im HTTP- Referer wird gespeichert wo ich vorher war, aber nicht nach was ich zum Beispiel auf google gesucht habe.

Auch interpretierte Sprachen sind Programmiersprachen. BASIC beispielsweise ist eine interpretierte Sprache, die es bereits lange gab, bevor der Ausdruck Skriptsprachen populär wurde. Und dennoch gibt es niemanden, der BASIC nicht als Programmiersprache im eigentlichen Sinne bezeichnen würde.

Erklär mir doch einfach Mal was Technisch beim Interpretieren von php, beim komipilieren von c und beim Anfordern eines HTML- Dokumentes passiert. Ich bin gern bereit was dazu zu lernen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

also paar dinge muss ich dazu auch noch sagen, wo ich jetzt ein paar Tage nicht da war ;)

Genau deswegen sollte man sich mit dem Background auseinander setzen und nicht einfach nur einpaar Tags in eine Datei zu schreiben und zu meinen, dass sie nur durch den Inhalt zu einer solchen Datei wird. Dateien haben Dateitypen und einem Browser wird wohl kaum eine Textdatei mit HTML als Inhalt als HTML werten. Dazu gehört der Dateityp, den ich mit einer Extension festlege.

Das ein Dateityp über die Extension festgelegt wird, ist aber nur eine Spezialität von Windows ;) Bsp: php Datei, die einen header mit MIME Typ text/html sendet und dann eine ganz normale txt-date als inline (content-disposition) an den Browser sendet.

Ein Browser ist eben so programmiert, dass er die Darstellung vom MIME Typ abhängig macht, dass heisst aber nicht, eine HTML Datei ist keine reine Textdatei. Genauso wird ein HTML-Dokument, dass der Server als text/plain sendet, vom Browser nicht als HTML dargestellt.

HTML ist aus dem Grund eine Dokumentauszeichnungssprache, weil es einzig und allein dafür gedacht und gemacht ist, den Aufbau und den Inhalt eines (Text-)Dokuments anzugeben. Der Layout-Part ist zwar mittlerweile in CSS abgetrennt, das gehört ja aber schon noch dazu. Wenn ich in Word hingehe, und einen Text schreibe und die erste Zeile davon markiere, die Größe des markieten Textes doppelt so groß wie den Rest mache, den Text fett und unterstrichen und das speichere, steht in der Datei nichts anderes (also prinzipiell) wie in einer HTML-Datei. Der Unterschied ist nur, dass DOC nicht als Text, sondern binär gespeichert ist. Speichere das eben angelegte Dokument mal als RTF und sieh es dir z.B. mit Notepad an. Du wirst, wenn es mit Word gemacht wurde vorallem) zwar hunderte Klammern (Tags) finden, aber du wirst sehen, dass das alles sehr ähnlich zur HTML-Struktur ist. Weil RTF und DOC (usw.) nichts anderes als ein Dokuemtauszeichnungsformat ist. Also genau wie HTML. Und würdest du auf die Idee kommen, ein Word-Dokument als Skriptsprache zu bezeichnen?

Natürlich hast du irgendwo schon recht, beide haben einen gemeinsamen Nenner. Dieser ist aber nicht der, dass es Skriptsprachen sind. eher der, dass es (Text-)Dateien sind, die von einem Programm ausgewertet gelesen und je nach inhalt unterschiedliches damit gemacht wird. Also genau das, was mit allen Daten auf einem Computer gemacht wird. Genauso ist es ja auch mit C-Quellcode. Das ist erstmal eine Textdatei. Jenachdem was da steht, wird vom Compiler eine etwas andere (Binär-) Datei geschrieben, die später dann in den Speicher geladen wird und vom Prozessor "interpretiert" wird. von daher könnte man ja alle Computerdaten unter einem Begriff zusammenfassen (sie haben ja einen gemeinsamen Background) ;) Weil sie aber alle für andere Dinge genutzt werden, hat man sie in Untergruppen aufgeteilt, um das, was mit ihnen passiert und wozu sie genutzt werden deutlicher zu machen.

Eine Datei, die ein Dokumentenauszeichnungsformat besitzt ist eben nur dazu da, einen Inhalt in einer gewissen Form zu präsentieren. Ein Skript präsentiert u.U. überhaupt nix und läuft nur ab und tut was im Speicher (und falls es doch was präsentiert, greift es meist auf ein Dokumentenauszeichnungsformat zurück).

Ich finde das nicht pingelig oder rechthaberisch. Beispiel das Automobil:

Das Automobil (von griechisch άυτο~, áuto~ - selbst~ und lateinisch mobilis - beweglich), kurz: Auto, wird definiert als selbstfahrendes Vehikel (Automobile), das sich unabhängig von Schienen und ohne den Einsatz von Zugtieren selbständig und aus eigenem Antrieb beliebig an Land fortbewegen kann. Diese Definition schließt auch motorisierte Zweiräder mit ein, jedoch wird das Wort im allgemeinen Sprachgebrauch meist für mehrspurige Fahrzeuge verwendet. Oft ist auch nur der PKW gemeint.

Demnach ist auch ein Motorrad oder ein LKW ein Auto(mobil). Es hat aber einen guten Grund (und den würde wohl auch keiner bestreiten wollen), warum die nochmal in eigene (Unter-) Gruppen aufgeteilt sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

MIME- Typen

Wichtig da:

Sowohl jeder Web-Browser als auch jeder Web-Server führt eine Liste mit ihm bekannten MIME-Typen. Bei der Kommunikation müssen sie sich darauf einigen, ob der Empfänger den MIME-Typ akzeptiert, den der Sender senden will. Moderne Browser akzeptieren zwar in der Regel jeden MIME-Typ und bieten dem Anwender einfach an, falls sie den MIME-Typ nicht kennen, die zu empfangenden Daten als Download-Datei abzuspeichern. Web-Server sind dagegen meist empfindlicher. MIME-Typen, die sie nicht kennen, verarbeiten sie nicht. Gerade wenn auf dem Server-Rechner nicht alltägliche Dateiformate bereitgestellt werden, ist es wichtig, den MIME-Typ dafür in der Konfiguration des Web-Servers zu notieren.

Also ich erstelle eine Datei und gebe der den Namen "foobar.html" und gebe keinen Inhalt an.

Wenn ich diese Datei nun über meinen Browser vom Webserver anforder und mir dann nach dem Laden den Quellcode der Datei ansehe, stelle ich fest, dass da aufeinmal etwas drin steht und was da drin steht ist HTML.

Ich habe keinen MIME- Typen angegeben, woher wissen Browser und Webserver nun was für Daten sie austauschen? Dem Webserver müssen alle Extensionen bekannt sein, mitdenen er arbeiten soll und er muss ggf. auch wissen wie mit den Daten in den Dateien umgehen muss.

Wenn ich nur den php- Interpreter auf einem PC ablege, kann ich noch keine php- Dateien vom Server anfordern. Dafür muss erst die Extension .php bzw. .php3, usw eingetragen sein und der Webserver muss wissen wo sich der Interpreter befindet und bei welchen Extensionen er ihn ansprechen soll.

Wäre ja performancelastig, wenn das System immer hergehen müsste und immer erst eine Datei sperren, öffnen, auslesen, schließen und dann wieder freigeben müsste. Das System erkennt anhand der Extension, welches Programm das erledigt und sendet die Datei direkt an das Programm.

Eine Datei foobar.zip, die ich in foobar.txt umbenne, nun öffnet sich nicht mehr ein entpacker sondern notepad o.ä. und versucht etwas damit anzufangen. Eine Datei foobar.html, die ich in foobar.txt umbenne, nun öffnet sich auch nicht mehr der Browser sondern ein Textprogramm.

Der Webserver übernimmt teilweise die Extensionen bzw. verfahrensweisen aus dem System oder man bringt sie direkt dem Webserver bei.

Das ist übrigens auch auf Linux so.

MIME- Typen sind vielmehr eine Ergänzung zur Extension. Beispiel XHTML. Ich kann eine Datei foobar.html erstellen und der einen XHTML MIME- Typen geben oder ich kann direkt eine Datei foobar.xhtml erstellen. In beiden fällen passiert das gleiche.

Mit dem Rest stimme ich Dir zu. Es hat sicherlich seinen Grund Grenzen zwischen den Ganzen Spracharten zu ziehen, nur man muss wohl nicht immer so genau hinsehen. Letztendlich ladet fast alles bei der CPU und wird da verarbeitet. Also min. einen gemeinsamen Nenner wird man immer finden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wäre ja performancelastig, wenn das System immer hergehen müsste und immer erst eine Datei sperren, öffnen, auslesen, schließen und dann wieder freigeben müsste. Das System erkennt anhand der Extension, welches Programm das erledigt und sendet die Datei direkt an das Programm.

[...]

Das ist übrigens auch auf Linux so.

MIME- Typen sind vielmehr eine Ergänzung zur Extension. Beispiel XHTML. Ich kann eine Datei foobar.html erstellen und der einen XHTML MIME- Typen geben oder ich kann direkt eine Datei foobar.xhtml erstellen. In beiden fällen passiert das gleiche.

Multipurpose Internet Mail Extensions oder auch Multimedia Internet Message Extensions, kurz MIME, ist ein Kodierstandard, der die Struktur und den Aufbau von E-Mails und anderer Internetnachrichten festlegt. Ferner findet MIME Anwendung bei der Deklaration von Inhalten in verschiedenen Internetprotokollen, so zum Beispiel in HTTP.

Bei windows ist eine Extension zwingend notwendig, weil das System sonst keine ahnung hat, um was für eine Datei es sich handelt. Bei anderen Systemen ist das nicht unbedingt so, auch bei Linux nicht. Auch beim Apache z.B. nicht immer:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wir sind uns einig, dass MIME- Typen den Inhalt von Dateien beschreiben und sich im Dateiheader befinden. Nur wieso schreibt mein Linux HTML in eine leere Datei mit der Extension .html, wenn ich sie über den Webserver anforder? Eine neu erstellte Datei hat zwar einen Dateiheader aber keinen Inhalt. Wieder das Beispiel mit der neu erstellten .txt- Datei, die ich in eine .html- Datei umbenne. Wenn direkt beim erstellen einer neuen Datei im Dateiheader auch gleich anhand der Extension ein MIME- Typ festgelegt wird der da text/plain sein sollte wird der beim umbennen auch direkt in text/html geändert oder interesiert ihn doch nur in erster Linie die Extension?

Aus der Wikipedia:

Bei Computerdateien in den Dateiattributen. Die meisten Dateisysteme erlauben nur genau festgelegte Metadaten in Dateiattributen; andere (z. B. HPFS mittels erweiterter Attribute) erlauben die Assoziation beliebiger Daten mit einer Datei. Auch ist es üblich, die Meta-Information "Dateityp" im Dateinamen unterzubringen; typischerweise in der Extension.

Und aus einem Link aus der Wikipedia herraus:

The extension defines the file "type", eg text file, executable file, database file or graphic file or .... Actually a remnant from old DOS 8.3 filename limits, it has proven its usefullness over the years and today even normaly "extension-free" systems like UNIX use more and more extensions. An extension lets not only the user easily find out what sort of file it is, but even the OS (or other programs) can easily associate certain file-extensions with certain programs, thus eg starting a certain application when the user clicks on a certain (data-)file.

Thats the theory. In practice it shows that the combinations out of 3 letters are limited and thus there are ambiguities. Since there are absolutely no further investigations done by the OS what concerns the file-type, misunderstandings can happen. Indeed they happen more and more, the more identical extensions are used by different programs. Although today there is no more need to reduce the extension to 3 characters, it seems most programmers stick to it.

So even unexperienced users should be aware of the fact that a .doc file - from a friend, out of the net - needs not necessarily be a Word document, that dll's aren't limited to the dll-extension (Microsoft themselves in their ultimate wisdom breaks this rule often), that some extensions are used by ten different programs(with differing content well understood!).

So if you got a file with an unknown extension or with a well known extension that the associated program can't understand, this extension list can be a first hint what sort of file it may be. If the here listed program too can't open your file, further investigation is necessary. There are automatic file-recognition programs in the net, but their capabilities are limited. Most of them use only the extension to find out what the file actually is. Experienced users will use "dump" or "list" to find out what sort of program it is (for dump or list see the 'misc'-page of www.icmasterdata.com . But a lot of knowledge and skill is necessary to find out in this way what the file actually is. Further information on file formats can be found on e.g. www.wotsit.org ( very special information normaly thought only for programmers).

So ja nichts neues aber dort taucht auch auf, dass UNIX die Extensionen wie Windows nutzt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...