Ergebnis 1 bis 9 von 9

Thema: Warum so viele MIME-Types für so wenige Dateitypen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Users Awaiting Email Confirmation

    Ok, dahinter steckt ein relativ sinnvolles System...

    Gibt es eigentlich trotzdem eine einfache Methode, in PHP den Dateityp herauszufinden? Ohne für jeden Dateityp zigtausend MIME-Types bzw. Dateiendungen abfragen zu müssen? Oder ist es einfach so aufwendig!?

  2. #2
    Zitat Zitat
    Eigentlich sollte es afaik den MIME-Type application/xml haben, das Interpretieren die Browser aber noch nicht (richtig), also schickt man es einfach als text/html.
    Jain. text/html ist eigentlich der MIME-Type für HTML. Da aber die Browser XHTML noch nicht richtig verarbeiten können (d.h. eigentlich nur der IE) wird XHTML 1.0 als HTML-kompatibles XHTML versendet, eben mit dem MIME-Typen text/html.
    XHTML-Dokumente können grundsätzlich auch als text/xml (nicht empfohlen) oder application/xml (teilweise emfohlen) bzw. application/xhtml+xml (der Beste) versendet werden.

    Die verscheidenen MIME-Typen haben auch hier unterschiedliche Auswirkungen:
    text/html jagt das XHTML durch den HTML Browser, d.h. Fehelr werden ignoriert und versucht zu korrigiert.
    Die X(HT)ML-Typen dagegen werden mit einem XML-Parser bearbeitet (bin mir aber dessen bei text/xml nicht sicher), d.h. bei einem Fehler sieht man nur einen Fehler, andererseits kann man dann aber auch verschiedene XML-Derivate (XHTML, MathML, SVG, etc.) miteinander kombinieren.

    Läuft PHP als Apache-Modul kannst du davon ausgehen, dass alle PHP-Datendungen als application/x-httpd-php bearbeitet wird, außer .phps (application/x-httpd-php-source).

  3. #3
    Ich möchte anmerken, daß lediglich der IE kein XHTML spricht. Wenn du Kram mit text/html schickst wird er als HTML geschickt - also hast du nicht nur alle Vorteile eines kastrierten SGML-Parsers (Unberechenbarkeit), sondern du verschickst auch noch mit hoher Wahrscheinlichkeit fehlerhaften Code (weil Kram wie <br /> kein korrektes HTML ist).


    BTW, das x- am Anfang des Content-type* weist nicht auf etwas ausführbares hin - genauso wenig wie die Kategorie application, die alles mögliche enthalten kann. Tatsächlich steht das x- für einen nonstandard-Datentyp, der nicht bei der IANA registriert ist. Ich kann also lustig meine eigenen Typen definieren, solange ich den Subtyp mit x- anfangen lasse. Ein Beispiel wäre TeX-Quelltext, der als application/x-tex läuft.

    Ein Vorteil von verschiedenen Content-types ist, daß man damit einige nette Sachen tun kann. Beispielsweise könnte man festlegen, daß alle Dateien der Ending .php in einem Ordner namens include vom Typ application/x-php-include sind und alle Dateien dieses Typs nicht direkt geöffnet werden dürfen. Wenn ich später auf irgendeinem anderen Weg eine Datei zu application/x-php-include erkläre (beispielsweise per .htaccess) wird auch diese nicht geöffnet.



    * "MIME type" ist veraltet, die Dinger heißen jetzt "internet media type". Ich nenne sie "Content-type", weil sie in den HTTP-Headern so heißen.

  4. #4
    Zitat Zitat
    Ich möchte anmerken, daß lediglich der IE kein XHTML spricht.
    Mein Lynx will application/xhtml+xml ebenfalls downloaden. Ist zufällig bekannt, wie Links oder andere Textbrowser darauf reagieren?

  5. #5
    Zitat Zitat von mitaki Beitrag anzeigen
    Mein Lynx will application/xhtml+xml ebenfalls downloaden.
    Ah, das wußte ich nicht. Interessant.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •