Dies führte auch dazu, dass PNG-Dateien nicht hochgeladen werden konnten (später suchte ich nach den Informationen und stellte fest, dass ich den falschen Registrierungsort gefunden hatte). Nach meinen eigenen Tests sind die Ergebnisse wie folgt:
Im Vergleich dazu entspricht der von Chrome und FireFox angezeigte ContentType eher der tatsächlichen Antwort. Warum also gibt es diese Unterschiede?
Der MIME-Typ ist eine Möglichkeit, eine Datei mit einer bestimmten Erweiterung so festzulegen, dass sie mit einer bestimmten Anwendung geöffnet werden kann. Wenn auf eine Datei mit dieser Erweiterung zugegriffen wird, verwendet der Browser automatisch die angegebene Anwendung, um sie zu öffnen. Es wird hauptsächlich verwendet, um einige vom Client definierte Dateinamen und einige Methoden zum Öffnen von Mediendateien anzugeben. Der vollständige Name von MIME auf Englisch lautet „Multipurpose Internet Mail Extensions“. Es handelt sich um ein Mehrzweck-Internet-Mail-Erweiterungsprotokoll. Es wurde erstmals 1992 für E-Mail-Systeme verwendet, später jedoch auch für Browser. Der Server teilt dem Browser mit, welche Art von Multimediadaten er sendet, und die Benachrichtigungsmethode besteht darin, den MIME-Typ der Multimediadaten zu erläutern, sodass der Browser weiß, bei welchen der empfangenen Informationen es sich um MP3-Dateien, bei welchen um Shockwave-Dateien usw. handelt. Der Server fügt in die übertragenen Daten die MIME-Kennung ein, um dem Browser mitzuteilen, welches Plug-In zum Lesen der zugehörigen Datei verwendet werden soll. MIME kann E-Mail-Nachrichten in verschiedenen Formaten unterstützen, beispielsweise Nicht-ASCII-Zeichen und binäre Anhänge. Dieser Standard ist in RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049 usw. definiert. RFC 2822, das von RFC 822 abgeleitet wurde, legt fest, dass E-Mail-Standards die Verwendung von Zeichen außerhalb des 7-Bit-ASCII-Zeichensatzes in E-Mail-Nachrichten nicht zulassen. Aus diesem Grund können einige Nachrichten, die nicht aus englischen Zeichen bestehen, und andere Nachrichten als Text, wie etwa Binärdateien, Bilder, Töne usw., nicht per E-Mail übertragen werden. MIME spezifiziert symbolische Methoden zur Darstellung verschiedener Datentypen. Nachdem der Browser die Datei empfangen hat, ruft er das Plug-In-System auf, um zu suchen und herauszufinden, welches Plug-In die empfangene Datei erkennen und lesen kann. Wenn der Browser nicht weiß, welches Plug-In-System aufgerufen werden soll, teilt er dem Benutzer möglicherweise mit, dass ein Plug-In fehlt, oder wählt einfach ein vorhandenes Plug-In aus, um zu versuchen, die empfangene Datei zu lesen, was zu einem Systemabsturz führen kann. Die möglichen Folgen fehlender MIME-Kennungen in übertragenen Informationen sind schwer abzuschätzen, da es bei manchen Computersystemen zu keinerlei Problemen kommen kann, manche Rechner dadurch jedoch abstürzen können. Wenn die Ausgabe an den Browser gesendet wird, muss der Browser die entsprechende Anwendung starten, um das Ausgabedokument zu verarbeiten. Dies kann mithilfe verschiedener MIME-Typen (Multipurpose Internet Mail Extensions) erfolgen. In HTTP wird der MIME-Typ im Content-Type-Header definiert. Angenommen, Sie möchten einem Kunden eine Microsoft Excel-Datei senden. Der MIME-Typ lautet dann zu diesem Zeitpunkt „application/vnd.ms-excel“. In den meisten praktischen Fällen wird diese Datei dann zur Verarbeitung an Excel übergeben (vorausgesetzt, wir legen Excel als Anwendung für die Verarbeitung des spezifischen MIME-Typs fest). In ASP erfolgt die Methode zum Festlegen des MIME-Typs über die ContentType-Eigenschaft des Response-Objekts.
In Microsoft Internet Explorer 4.0 und höher erfolgt die MIME-Typbestimmung über die FindMimeFromData -Methode des URL-Monikers. Durch die Identifizierung des MIME-Typs können URL-Moniker und andere Komponenten den richtigen Objektserver oder die richtige Anwendung finden und starten, um den zugehörigen Inhalt zu verarbeiten. Der vom Server bereitgestellte MIME-Typ, falls verfügbar Eine Untersuchung der tatsächlichen Inhalte, die mit einer heruntergeladenen URL verknüpft sind Der mit dem heruntergeladenen Inhalt verknüpfte Dateiname (wird vermutlich von der verknüpften URL abgeleitet) Während des Downloads geltende Registrierungseinstellungen (Dateinamenerweiterung/MIME-Typzuordnungen oder registrierte Anwendungen) Registrierungsstandorte Von FindMimeFromData verwendeter Speicherort zum Ermitteln des MIME-Typs und der ProgID anhand der Dateinamenerweiterung: HKEY_CLASSES_ROOT\.*** HKEY_CLASSES_ROOT\<ProgId>\shell\open\command HKEY_CLASSES_ROOT\MIME\Database\Inhaltstyp Der Zweck der MIME-Typerkennung bzw. des Daten-Sniffings besteht darin, den MIME-Typ (auch Inhaltstyp oder Medientyp genannt) heruntergeladener Inhalte anhand von Informationen aus den folgenden vier Quellen zu bestimmen: Spezifische Informationen finden Sie in der MSDN-Dokumentation: http://msdn.microsoft.com/zh-cn/library/ms775147(v=VS.85).aspx für Informationen zum MIME-Typ-Erkennungsalgorithmus, zur Funktion FindMimeFromData und zum Abschnitt „Hochgeladene MIME-Typen“.
Es gibt im Internet eine spezielle Organisation IANA, die standardmäßige MIME-Typen bestätigt. Das Internet entwickelt sich jedoch zu schnell und viele Anwendungen können nicht darauf warten, dass IANA bestätigt, dass die von ihnen verwendeten MIME-Typen Standardtypen sind. Daher verwenden sie die Methode, die Kategorie mit x- zu beginnen, um anzuzeigen, dass diese Kategorie noch kein Standard ist, zum Beispiel: x-gzip, x-tar usw. Tatsächlich werden diese Typen so häufig verwendet, dass sie zum De-facto-Standard geworden sind. Solange sowohl der Client als auch der Server den MIME-Typ erkennen, spielt es keine Rolle, auch wenn es sich um einen nicht standardmäßigen Typ handelt. Das Clientprogramm kann bestimmte Verarbeitungsmethoden verwenden, um die Daten basierend auf dem MIME-Typ zu verarbeiten. In Webservern und Browsern (einschließlich Betriebssystemen) sind standardmäßig standardmäßige und gängige MIME-Typen eingestellt. Nur für ungewöhnliche MIME-Typen müssen Sie sowohl den Server- als auch den Client-Browser zur Identifizierung einrichten. Es gibt hier eine Diskussion zu image/x-png: http://stackoverflow.com/questions/2086374/what-is-the-difference-between-image-png-and-image-x-png . |
<<: Detaillierte Erläuterung des Docker-Visualisierungsgrafiktools Portainer
>>: Syntax-Alias-Problem basierend auf Löschen in MySQL
Dieser Artikel stammt aus Tom Ewers Managewp-Blog ...
html, address,blockquote,body, dd, div,dl, dt, fie...
Ⅰ. Problembeschreibung: Verwenden Sie HTML+CSS, u...
Überprüfen Sie die Transaktionsisolationsebene In...
Dieser Artikel veranschaulicht anhand von Beispie...
Nach der Installation von Docker trat beim Versuc...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Überblick Problembeschreibung ...
1. Erstellen und Ausführen eines Containers docke...
Vorwort Ingenieure, die im Linux-Umfeld arbeiten,...
Beim Schreiben eines Webprojekts stieß ich auf ei...
In diesem Artikelbeispiel wird der spezifische JS...
1. Nachfrage Das Backend stellt solche Daten bere...
In diesem Artikelbeispiel wird der spezifische Ja...
In diesem Artikel wird der spezifische Code der U...