Apache Mime Type Binary Options

Verfügbar ab Camel 2.17 Dieses Datenformat, das eine Camel-Nachricht mit Anhängen in eine Camel-Nachricht mit einer MIME-Multipart-Nachricht als Nachrichtentext umwandeln kann (und keine Anhänge). Der Anwendungsfall hierfür ist, dass der Benutzer Anhänge über Endpunkte senden kann, die nicht direkt Attachments unterstützen, sei es als spezielle Protokollimplementierung (zB MIME-multipart über einen HTTP-Endpunkt) oder als Tunnelvariante (zB weil camel - jms unterstützt keine Anhänge, sondern durch das Marshalling der Meldung mit Attachments in ein MIME-Multipart, das Senden an eine JMS-Warteschlange, das Empfangen der Nachricht aus der JMS-Warteschlange und das erneute Aufheben der Abmeldung (in einen Nachrichtentext mit Anhängen) Wird das Mime-Multipart-Datenformat eine Nachricht mit Anhängen in eine MIME-Multipart-Nachricht umwandeln. Wenn der Parameter multipartWithoutAttachment auf true gesetzt ist, wird er auch Nachrichten ohne Anhänge in eine Multipart-Nachricht mit einem einzelnen Teil marshalen, wenn der Parameter auf false gesetzt ist Die MIME-Version und Content-Type werden als Kamel-Header auf die Nachricht gesetzt. Wenn der Parameter headersInline auf true gesetzt ist, wird in jedem Fall eine MIME-Multipart-Nachricht erstellt. Außerdem werden die MIME-Header des Multiparts als Teil des Nachrichtentextes geschrieben, nicht als Kamelkopf. Die Unmarsal-Option des Mime-Multipart-Datenformats wandelt eine MIME-Multipart-Nachricht in eine Kamel-Nachricht mit Anhängen um und lässt andere Meldungen allein. MIME-Header der MIME-Multipart-Nachricht müssen als Kamel-Header gesetzt sein. Das Unmarshalling findet nur statt, wenn der Content-Type-Header auf einen Multipart-Typ gesetzt ist. Wenn die Option headersInline auf true gesetzt ist, wird der Body immer als MIME-Nachricht analysiert. Als Konsequenz, wenn der Nachrichtentext ein Stream ist und das Stream-Caching nicht aktiviert ist, ist ein Nachrichtentext, der eigentlich keine MIME-Nachricht mit MIME-Headern ist Wird der Nachrichtentext durch eine leere Nachricht ersetzt. Bis zu Camel-Version 2.17.1 werden alle Meldungsobjekte auftreten, die keine MIME-Multipart-Meldung enthalten, unabhängig von Körpertyp und Stream-Cache-Einstellung. Wenn sie auf true gesetzt ist, erzeugt die Marshal-Operation ein multipart (mit einem einzelnen Teil), wenn die Nachricht keine Anhänge enthält. Wenn dies auf false gesetzt ist, wird es Nachrichten ohne Anhänge alleine lassen. Wenn diese Option auf true gesetzt ist, werden die MIME-Header des Multiparts als Teil des Nachrichtentextes und nicht als Kamelkopf hinzugefügt. Im Falle eines Unmarshal-Vorgangs wird davon ausgegangen, dass die MIME-Header im Nachrichtentext enthalten sind, und der Vorgang wird die Nachricht immer als MIME-Nachricht analysieren. Hinweis: Jede Nachricht ist eine gültige MIME-Meldung, so dass der unmarshal-Vorgang, wenn dieser Parameter auf true gesetzt ist, niemals zu einem Fehler führt. Wenn jedoch das Parsing-Ergebnis kein MIME-Teil enthält, beginnt der Unermarshaller mit Camel 2.17.2, die ursprüngliche Nachricht wiederherzustellen. Wenn dies nicht möglich ist, da der Nachrichtentext ein Stream - und Stream-Caching nicht aktiviert ist oder bei älteren Camel-Versionen ist der resultierende Nachrichtentext leer. Hinweis: Wenn der Parameter headersInline auf true gesetzt ist, wird die Meldung immer auch in ein MIME-Multipart gerendert, unabhängig davon, ob es einen Anhang enthält oder nicht. Eine Regex, die festlegt, welche Camel-Header auch als MIME-Header in das MIME-Multipart enthalten sind. Dies funktioniert nur, wenn headersInline auf true gesetzt ist. Standardmäßig werden keine Camel-Header verwendet. Wenn der Wert auf true gesetzt ist, wird kein Textinhalt im Binärmodus übertragen, wenn auf "false" (Standardeinstellung) der Binärinhalt in base64-Codierung übertragen wird. Dies ist kürzer, funktioniert aber möglicherweise nicht für alle Übertragungsmethoden. Der Subtyp des generierten MIME-Multipart. Andere Optionen sind verwandt, alternativ, digest oder parallel. Der Datentyp erzwingt keine Semantik für diese Subtypen (so dass z. B. der Benutzer sicherstellen muss, dass der erste Bodyteil einer Multipart / Digest-Nachricht richtige Nachrichten / rfc822-Daten ist). Der Standard-Mix ist in der Regel eine gute Wahl. Message Header (marshal) erzeugt eine Nachricht ohne bestimmte MIME-Header, die als Camel-Header gesetzt sind (der Content-Type-Header wird aus der Camel-Nachricht entfernt) und der folgende Nachrichtentext, der auch alle Header der ursprünglichen Nachricht enthält, beginnend mit x - und Den Header mit Namen enthalten: Camel Message Body Abhängigkeiten Um MIME-Multipart in Ihren Camel-Routen verwenden zu können, müssen Sie eine Abhängigkeit von Kamel-Mail hinzufügen, die dieses Datenformat implementiert. Wenn Sie Maven verwenden, können Sie der pom. xml einfach folgendes hinzufügen: Binäre Daten mit Axis2 behandeln (MTOM / SwA) Einleitung Trotz der Flexibilität, der Interoperabilität und der globalen Akzeptanz von XML gibt es Zeiten, in denen die Serialisierung von Daten in XML nicht erfolgt Sinn. Web-Service-Benutzer können binäre Anhänge von verschiedenen Sorten wie Bilder, Zeichnungen, XML-Dokumente, etc. zusammen mit einer SOAP-Nachricht zu übertragen. Solche Daten sind oft in einem bestimmten Binärformat. Herkömmlicherweise wurden zwei Techniken für den Umgang mit undurchsichtigen Daten in XML verwendet. Das Senden von binären Daten durch den Wert wird erreicht, indem opake Daten (natürlich nach irgendeiner Form der Codierung) als Element oder Attributinhalt der XML-Datenkomponente eingebettet werden. Der Hauptvorteil dieser Technik ist, dass sie Anwendungen die Möglichkeit gibt, Daten zu verarbeiten und zu beschreiben, die nur auf der XML-Komponente der Daten basieren. XML unterstützt undurchsichtige Daten als Inhalt durch die Verwendung von base64 oder hexadezimaler Textcodierung. Beide Techniken blasen die Größe der Daten. Für die UTF-8 unterliegende Textcodierung erhöht die base64-Codierung die Größe der Binärdaten um den Faktor 1,33x der Originalgröße, während die hexadezimale Codierung Daten um den Faktor 2x erweitert. Die obigen Faktoren werden verdoppelt, wenn UTF-16-Textcodierung verwendet wird. Ebenfalls besorgniserregend ist der Overhead bei den Verarbeitungskosten (sowohl real als auch wahrgenommen) für diese Formate, insbesondere bei der Decodierung zurück in rohe Binärdateien. Das Senden binärer Daten durch Verweis wird dadurch erreicht, dass reine Binärdaten als externe, nicht geparste allgemeine Entitäten außerhalb des XML-Dokuments angehängt und dann Referenz-URIs in diese Entitäten als Elemente oder Attributwerte eingebettet werden. Dies verhindert das unnötige Aufblasen von Daten und die Verschwendung von Rechenleistung. Das primäre Hindernis für die Verwendung dieser unparsed Entities ist ihre starke Abhängigkeit von DTDs, die Modularität sowie die Verwendung von XML-Namespaces behindert. Es gab mehrere Spezifikationen, die in der Web-Services-Welt eingeführt wurden, um mit diesem binären Bindungsproblem unter Verwendung der quotierten Referenzquot-Technik umzugehen. SOAP mit Attachments ist ein solches Beispiel. Da SOAP DTDs in Nachrichten verbietet, führt dies zu dem Problem, Daten nicht als Teil des Nachrichteninfosets darzustellen und somit zwei Datenmodelle zu erstellen. Dieses Szenario ist wie das Senden von Anlagen mit einer E-Mail-Nachricht. Obwohl diese Anhänge mit dem Nachrichteninhalt verknüpft sind, befinden sie sich nicht innerhalb der Nachricht. Dies führt dazu, dass die Technologien, die die Daten auf der Grundlage der XML-Komponente der Daten zu Fehlfunktionen verarbeiten und beschreiben. Ein Beispiel ist WS-Security. Wo befindet sich MTOM in MTOM (SOAP Message Transmission Optimization Mechanism) ist eine weitere Spezifikation, die auf die Lösung des quotAttachmentsquot Problem konzentriert. MTOM versucht, die Vorteile der beiden obigen Techniken zu nutzen, indem man versucht, die beiden Techniken zusammenzuführen. MTOM ist eigentlich ein quotiertes Referenzquotverfahren. Das Drahtformat einer MTOM-optimierten Nachricht ist dasselbe wie die SOAP mit Attachments-Meldung, die es auch rückwärtskompatibel mit SwA-Endpunkten macht. Das wichtigste Merkmal von MTOM ist die Verwendung des XOP: Include-Elements, das in der XML-Binary-Optimized-Packaging-Spezifikation (XOP) definiert ist, um auf die binären Attachments (externe nicht geparste allgemeine Entitäten) der Nachricht zu verweisen. Durch die Verwendung dieses exklusiven Elements wird der angefügte binäre Inhalt logisch inline (durch Wert) mit dem SOAP-Dokument, obwohl es tatsächlich separat beigefügt ist. Dies vereinigt die beiden Realms, indem es ermöglicht wird, nur mit einem Datenmodell zu arbeiten. Dies ermöglicht es den Anwendungen zu verarbeiten und zu beschreiben, indem man nur den XML-Teil betrachtet, wodurch die Abhängigkeit von DTDs obsolet wird. Auf leichtere Weise hat MTOM den Referenzierungsmechanismus von SwA standardisiert. Das folgende ist ein Auszug aus der XOP-Spezifikation. Auf der konzeptionellen Ebene können diese binären Daten als base64-codiert im XML-Dokument angesehen werden. Da diese Begriffsform bei einer Verarbeitung des XML-Dokuments (z. B. zum Signieren des XML-Dokuments) erforderlich sein könnte, ist es notwendig, eine Eins-zu-eins-Korrespondenz zwischen XML-Infosets und XOP-Paketen zu haben. Daher ist die konzeptionelle Darstellung derartiger Binärdaten so, als wäre sie base64-codiert unter Verwendung der kanonischen lexikalischen Form des XML Schema base64Binary Datentyps (siehe XML Schema Teil 2: Datentypen Second Edition 3.2.16 base64Binary). In umgekehrter Richtung ist XOP in der Lage, nur base64-codierte Infoset-Daten zu optimieren, die in der kanonischen lexikalischen Form vorliegen. Apache Axis2 unterstützt Base64-Codierung. SOAP mit Anhängen und MTOM (SOAP Message Transmission Optimization Mechanism). MTOM mit Axis2-Programmiermodell AXIOM ist (und kann das erste) Objektmodell sein, das binäre Daten halten kann. Es hat diese Fähigkeit, wie OMText rohen binären Inhalt in Form von javax. activation. DataHandler halten kann. OMText wurde dafür aus zwei Gründen ausgewählt. Eines davon ist, dass XOP (MTOM) in der Lage ist, nur base64-codierte Infoset-Daten zu optimieren, die sich in der kanonischen lexikalischen Form des XML Schema base64Binary Datentyp befinden. Andererseits soll das Infoset sowohl im Sender als auch im Empfänger erhalten bleiben. (Um den binären Inhalt in der gleichen Art von Objekt zu speichern, unabhängig davon, ob es optimiert ist oder nicht). MTOM ermöglicht es, selektiv Teile der Nachricht zu codieren, die es uns ermöglichen, base64encodierte Daten sowie extern angeschlossene rohe Binärdaten zu senden, auf die durch das in einer SOAP-Nachricht zu sendende "XOPquot-Element (optimierter Inhalt) verwiesen wird. Sie können angeben, ob ein OMText-Knoten, der rohe Binärdaten oder base64encodierte Binärdaten enthält, qualifiziert ist, zum Zeitpunkt des Aufbaus dieses Knotens oder später optimiert zu werden. Für optimale Effizienz von MTOM wird dem Benutzer empfohlen, kleinere binäre Anhänge mit base64encoding (nicht optimierten) und größeren Anhängen als optimierten Inhalt zu versenden. Außerdem kann ein Benutzer einen optimierbaren binären Inhaltsknoten unter Verwendung einer base64-codierten Zeichenfolge erzeugen, die einen codierten binären Inhalt enthält, der mit dem MIME-Typ der tatsächlichen binären Darstellung gegeben ist. Axis2 verwendet javax. activation. DataHandler, um die binären Daten zu verarbeiten. Alle optimierten Binärinhaltsknoten werden als Base64-Strings serialisiert, wenn quotMTOM nicht aktiviert ist. Sie können auch binäre Inhaltsknoten erstellen, die auf keinen Fall optimiert werden. Sie werden serialisiert und als Base64 Strings gesendet. Aktivieren der MTOM-Optimierung auf der Client-Seite Setzen Sie die quotenableMTOMquot - Eigenschaft in Optionen auf True, wenn Sie Nachrichten senden. Wenn diese Eigenschaft auf True festgelegt ist, wird jede SOAP-Hüllkurve unabhängig davon, ob sie optimalen Inhalt enthält oder nicht, als MTOM-optimierte MIME-Nachricht serialisiert. Axis2 serialisiert alle Binärinhaltsknoten als Base64-codierte Zeichenfolgen, unabhängig davon, ob sie qualifiziert sind, optimiert zu werden, oder nicht, wenn die Eigenschaft quotenableMTOMquot auf False gesetzt ist. Wenn der Umschlag Elementeinheiten des Namens xop enthält: Include (siehe XML-binäre Optimierte Verpackung 3. XOP Infosets-Konstrukte). Der Benutzer muss nichts angeben, damit Axis2 MTOM-optimierte Nachrichten empfangen kann. Axis2 identifiziert und de-serialisiert entsprechend, wenn eine MTOM-Nachricht eintrifft. MTOM-Optimierung auf Server-Seite aktivieren Der Axis 2-Server identifiziert eingehende MTOM-optimierte Meldungen anhand des Content-Typs automatisch und de-serialisiert sie entsprechend. Der Benutzer kann auf der Server-Seite für ausgehende Nachrichten enableMTOM aktivieren. Um enableMTOM global für alle Dienste zu aktivieren, können Benutzer den Parameter quotenableMTOMquot in der Axis2.xml auf True setzen. Wenn es gesetzt ist, werden alle ausgehenden Nachrichten serialisiert und als MTOM-optimierte MIME-Nachrichten gesendet. Wenn sie nicht gesetzt ist, werden alle binären Daten in den Binärinhaltsknoten als Base64-codierte Zeichenfolgen serialisiert. Diese Konfiguration kann in services. xml auf der Basis von pro Service und pro Operation überschrieben werden. Nach der Einstellung dieses Parameters müssen Sie den Server neu starten. Zugriff auf empfangene Binärdaten (Beispielcode) Apache-Modul modmime Dieses Modul wird verwendet, um verschiedene Bits von Metainformationen mit Dateien über ihre Dateinamenerweiterungen zu verknüpfen. Diese Information bezieht sich auf den Dateinamen des Dokuments auf seinen Mime-Typ, Sprache, Zeichensatz und Codierung. Diese Informationen werden an den Browser gesendet und beteiligen sich an der Inhaltsverhandlung, sodass die Benutzereinstellungen bei der Auswahl einer von mehreren möglichen Dateien berücksichtigt werden. Weitere Informationen zur Inhaltsverhandlung finden Sie unter Modnegotiation. Die Anweisungen AddCharset. AddEncoding. AddLanguage und AddType werden verwendet, um Dateierweiterungen auf die Meta-Informationen für diese Datei abzubilden. Sie legen jeweils den Zeichensatz, die Inhaltscodierung, die Inhaltssprache und den MIME-Typ (Inhaltstyp) von Dokumenten fest. Mit der Direktive TypesConfig wird eine Datei angegeben, die auch Erweiterungen auf MIME-Typen abbildet. Darüber hinaus kann modmime definieren, die Handler und Filter, die Ursprung und Verarbeitung von Inhalten. Die Anweisungen AddHandler. AddOutputFilter. Und AddInputFilter steuern die Module oder Skripts, die dem Dokument dienen. Die MultiviewsMatch-Direktive erlaubt Modnegotiation, diese Dateierweiterungen zu berücksichtigen, die beim Testen von Multiviews-Spielen enthalten sein sollen. Während modmime Meta-Informationen mit Dateinamenerweiterungen verknüpft, stellt der Core-Server Direktiven bereit, mit denen alle Dateien in einem bestimmten Container (z. B. ltLocationgt. LtDirectorygt. Oder ltFilesgt) mit bestimmten Metainformationen verknüpft werden. Zu diesen Richtlinien gehören ForceType. SetHandler. SetInputFilter. Und SetOutputFilter. Die Kernrichtlinien überschreiben alle Dateinamenserweiterungen, die in modmime definiert wurden. Beachten Sie, dass das Ändern der Meta-Informationen für eine Datei den Wert des Last-Modified-Headers nicht ändert. Somit können zuvor zwischengespeicherte Kopien immer noch von einem Client oder Proxy mit den vorherigen Headern verwendet werden. Wenn Sie die Meta-Informationen ändern (Sprache, Inhaltstyp, Zeichensatz oder Codierung), müssen Sie möglicherweise betroffene Dateien berühren (Aktualisierung ihres letzten geänderten Datums), um sicherzustellen, dass alle Besucher die korrigierten Inhaltskopfzeilen erhalten. Richtlinien Dateien können mehr als eine Erweiterung haben und die Reihenfolge der Erweiterungen ist normalerweise irrelevant. Wenn zum Beispiel die Datei welcome. html. fr auf den Inhaltstyp text / html und die Sprache Französisch abbildet, wird die Datei welcome. fr. html auf genau die gleichen Informationen abgebildet. Wenn mehr als eine Erweiterung gegeben wird, die auf die gleiche Art von Metainformationen abbildet, wird diejenige nach rechts verwendet, mit Ausnahme von Sprachen und Inhaltscodierungen. Beispiel: Wenn. gif dem MIME-Typ text / html die MIME-type image / gif - und. html-Maps zuordnet. Dann wird die Datei welcome. gif. html dem MIME-Typ text / html zugeordnet. Sprachen und Inhaltscodierungen werden kumulativ behandelt, da man einer bestimmten Ressource mehr als eine Sprache oder Codierung zuordnen kann. Beispielsweise wird die Datei welcome. html. en. de mit content-language: en, de und Content-Type: text / html ausgeliefert. Es sollte darauf geachtet werden, dass eine Datei mit mehreren Erweiterungen sowohl einem MIME-Typ als auch einem Handler zugeordnet wird. Dies führt normalerweise dazu, dass die Anforderung von dem Modul behandelt wird, das dem Handler zugeordnet ist. Wenn z. B. die. imap-Erweiterung der Handler-Imap-Datei (aus modimagemap) zugeordnet ist und die Erweiterung. html dem MIME-Typ text / html zugeordnet ist. Wird die Datei world. imap. html sowohl dem imap-file-Handler als auch dem text / html-MIME-Typ zugeordnet. Wenn es verarbeitet wird, wird die Imap-Datei Handler verwendet werden, und so wird es als eine modimagemap Imagemap-Datei behandelt werden. Wenn Sie nur den letzten punktgetrennten Teil des Dateinamens bevorzugen, der auf ein bestimmtes Stück von Metadaten abgebildet werden soll, dann verwenden Sie die Anweisungen "Direktiven hinzufügen" nicht. Wenn Sie z. B. die Datei foo. html. cgi als CGI-Skript verarbeiten möchten, nicht aber die Datei bar. cgi. html. Dann anstelle von AddHandler cgi-script. cgi. Use Configure-Handler auf Basis der endgültigen Erweiterung ltFilesMatch. cgigt SetHandler cgi-script lt / FilesMatchgt Eine Datei eines bestimmten MIME-Typs kann zusätzlich eine bestimmte Weise codiert werden, um die Übertragung über das Internet zu vereinfachen. Während dies in der Regel bezieht sich auf Komprimierung, wie z. B. gzip. Es kann sich auch auf Verschlüsselung, einen solchen pgp oder auf eine Kodierung wie UUencoding beziehen, die für die Übertragung einer Binärdatei in einem ASCII (Text) - Format ausgelegt ist. Die HTTP / 1.1 RFC. Abschnitt 14.11 gibt es so aus: Das Content-Encoding-Entity-Header-Feld wird als Modifier für den Medientyp verwendet. Wenn sie vorhanden ist, zeigt ihr Wert an, welche zusätzlichen Inhaltscodierungen auf den Entitätskörper angewandt worden sind, und somit müssen die Decodierungsmechanismen angewendet werden, um den Medientyp zu erhalten, auf den durch das Headerfeld des Content-Typs verwiesen wird. Content-Encoding wird hauptsächlich verwendet, um ein Dokument komprimieren zu lassen, ohne die Identität des zugrundeliegenden Medientyps zu verlieren. Durch die Verwendung mehrerer Dateierweiterungen (siehe Abschnitt über mehrere Dateierweiterungen) können Sie angeben, dass eine Datei von einem bestimmten Typ ist. Und hat auch eine besondere Kodierung. Beispielsweise können Sie eine Datei haben, die ein Microsoft Word-Dokument ist, das pkzipped ist, um seine Größe zu reduzieren. Wenn die. doc-Erweiterung mit dem Microsoft Word-Dateityp verknüpft ist und die Erweiterung. zip mit der pkzip-Dateicodierung verknüpft ist, dann wäre die Datei Resume. doc. zip ein pkzipiertes Word-Dokument. Apache sendet einen Content-Encoding-Header mit der Ressource, um dem Client-Browser die Codierungsmethode mitzuteilen. Neben dem Dateityp und der Datei-Codierung ist eine weitere wichtige Information die Sprache, in der sich ein bestimmtes Dokument befindet, und in welchem ​​Zeichensatz die Datei angezeigt werden soll. Zum Beispiel könnte das Dokument in der vietnamesischen Alphabet oder in kyrillischen geschrieben werden, und sollte als solche angezeigt werden. Diese Informationen werden auch in HTTP-Headern übertragen. Der Zeichensatz, die Sprache, die Codierung und der Mime-Typ werden alle im Prozess der Inhaltsverhandlung verwendet (siehe Modnegotiation), um festzustellen, welches Dokument dem Client zuzuteilen ist, wenn es alternative Dokumente in mehr als einem Zeichensatz, Sprache, Codierung oder Mime gibt Art. Alle Dateinamenerweiterungen, die mit AddCharset erstellt wurden. AddEncoding. AddLanguage und AddType-Direktiven (und Erweiterungen, die im MimeMagicFile aufgelistet sind) nehmen an diesem Auswahlprozess teil. Dateinamenerweiterungen, die nur mit dem AddHandler verknüpft sind. AddInputFilter - oder AddOutputFilter-Direktiven können mit der MultiviewsMatch-Direktive enthalten oder aus dem Matching ausgeschlossen werden. Um diese weiteren Informationen zu übermitteln, sendet Apache optional einen Content-Language-Header, um die Sprache festzulegen, in der sich das Dokument befindet, und kann zusätzliche Informationen an den Content-Type-Header angehängen, um den bestimmten Zeichensatz anzugeben, der für die korrekte Darstellung verwendet werden soll Information. Inhalt-Sprache: en, fr Inhaltstyp: text / plain charsetISO-8859-1 Die Sprachspezifikation ist die zweibuchige Abkürzung für die Sprache. Der Zeichensatz ist der Name des bestimmten Zeichensatzes, der verwendet werden soll. Die AddEncoding-Direktive ordnet die angegebenen Dateinamenerweiterungen dem angegebenen Codierungstyp zu. MIME-enc ist die MIME-Codierung, die für Dokumente verwendet wird, die die Erweiterung enthalten. Diese Zuordnung wird zu allen bereits in Kraft gesetzt, überschreibt alle Zuordnungen, die bereits für die gleiche Erweiterung vorhanden sind. AddEncoding x-gzip. zz AddEncoding x-compress. Z Dies bewirkt, dass Dateinamen, die die. gz-Erweiterung enthalten, als codiert mit der x-gzip-Codierung markiert werden, und Dateinamen, die die Z-Erweiterung enthalten, die als codiert mit x-compress markiert werden. Alte Clients erwarten x-gzip und x-compress. Jedoch die Norm diktiert, dass theyre äquivalent zu gzip und komprimieren jeweils. Apache tut Inhaltscodierungsvergleiche durch Ignorieren irgendeiner führenden x-. Wenn sie mit einer Kodierung antwortet, verwendet Apache irgendeine Form (d. h. x-foo oder foo), die der Client angefordert hat. Wenn der Client nicht speziell ein bestimmtes Formular anfordert, verwendet Apache das Formular, das durch die AddEncoding-Direktive angegeben wird. Um diese lange Geschichte kurz zu machen, sollten Sie für diese beiden spezifischen Codierungen immer x-gzip und x-compress verwenden. Neuere Kodierungen wie Deflate sollten ohne die x - angegeben werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Dateinamen können mehrere Erweiterungen haben und das Erweiterungsargument wird mit jedem von ihnen verglichen. Die AddLanguage-Direktive ordnet die angegebene Dateinamenerweiterung der angegebenen Inhaltssprache zu. MIME-lang ist die MIME-Sprache der Dateinamen mit der Erweiterung. Diese Zuordnung wird zu allen bereits in Kraft gesetzt, überschreibt alle Zuordnungen, die bereits für die gleiche Erweiterung vorhanden sind. AddEncoding x-compress. Z AddLanguage en. de AddLanguage fr. fr Dann wird das Dokument xxxx. en. Z als ein komprimiertes englisches Dokument behandelt (ebenso wie das Dokument xxxx. Z.en). Obwohl die Inhaltssprache dem Client gemeldet wird, ist es unwahrscheinlich, dass der Browser diese Informationen verwendet. Die AddLanguage-Direktive ist nützlicher für Inhaltsverhandlungen. Wobei der Server eine von mehreren Dokumenten zurückgibt, die auf der Präferenz der Klienten-Sprache basiert. Wenn mehrere Sprachzuweisungen für dieselbe Erweiterung vorgenommen werden, ist die zuletzt verwendete diejenige, die verwendet wird. Das heißt, für den Fall von: AddLanguage en. en AddLanguage en-gb. en AddLanguage en-us. en Dokumente mit der Erweiterung. en wäre als en-us behandelt werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Dateinamen können mehrere Erweiterungen haben und das Erweiterungsargument wird mit jedem von ihnen verglichen. AddOutputFilter ist nur in Apache 2.0.26 und höher verfügbar. Die AddOutputFilter-Direktive ordnet die Dateierweiterungserweiterung den Filtern zu, die die Antworten vom Server verarbeiten, bevor sie an den Client gesendet werden. Dies ist zusätzlich zu anderen Filtern definiert, einschließlich SetOutputFilter und AddOutputFilterByType-Direktive. Diese Zuordnung wird über alle bereits in Kraft übergeordnet und überschreibt alle Zuordnungen, die bereits für die gleiche Erweiterung vorhanden sind. Beispielsweise verarbeitet die folgende Konfiguration alle. shtml-Dateien für serverseitige Includes und komprimiert dann die Ausgabe mit moddeflate. AddOutputFilter INCLUDESDEFLATE shtml Wenn mehr als ein Filter angegeben wird, müssen sie durch Semikolons in der Reihenfolge getrennt werden, in der sie den Inhalt verarbeiten sollen. Das Filterargument wird zwischen Groß - und Kleinschreibung unterschieden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Dateinamen können mehrere Erweiterungen haben und das Erweiterungsargument wird mit jedem von ihnen verglichen. Die AddType-Direktive ordnet die angegebenen Dateinamenerweiterungen dem angegebenen Inhaltstyp zu. MIME-Typ ist der MIME-Typ, der für Dateinamen verwendet wird, die eine Erweiterung enthalten. Diese Zuordnung wird zu allen bereits in Kraft gesetzt, überschreibt alle Zuordnungen, die bereits für die gleiche Erweiterung vorhanden sind. Diese Direktive kann verwendet werden, um Zuordnungen hinzuzufügen, die nicht in der MIME-Typen-Datei aufgelistet sind (siehe die Direktiven TypesConfig). AddType image / gif. gif Es wird empfohlen, dass neue MIME-Typen unter Verwendung der AddType-Direktive hinzugefügt werden, anstatt die TypesConfig-Datei zu ändern. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Dateinamen können mehrere Erweiterungen haben und das Erweiterungsargument wird mit jedem von ihnen verglichen. Verfügbar in Apache 2.0.26 und höher. MultiviewsMatch erlaubt drei verschiedene Verhaltensweisen für Modnegotiation s Multiviews-Feature. Multiviews ermöglicht eine Anforderung für eine Datei, z. B. Index. html. Um alle ausgehandelten Erweiterungen, die der Basisanforderung folgen, z. B. Index. html. en. Index. html. fr. Oder index. html. gz. Die Option NegotiatedOnly sieht vor, dass jede Erweiterung, die dem Basisnamen folgt, mit einer erkannten modmime-Erweiterung für Inhaltsverhandlungen korrelieren muss, z. B. Zeichensatz, Inhaltstyp, Sprache oder Kodierung. Dies ist die strengste Umsetzung mit den wenigen unerwarteten Nebenwirkungen und ist das Standardverhalten. Um Erweiterungen zuzuordnen, die mit Handlern und / oder Filtern verknüpft sind, setzen Sie die MultiviewsMatch-Anweisung auf Handler. Filter. Oder beide Option Schlüsselwörter. Wenn alle anderen Faktoren gleich sind, wird die kleinste Datei, z. B. Bei der Entscheidung zwischen index. html. cgi von 500 Byte und index. html. pl von 1000 Bytes, würde die. cgi-Datei in diesem Beispiel gewinnen. Benutzer von. asis-Dateien können es vorziehen, die Handler-Option zu verwenden, wenn. asis-Dateien dem Asis-Handler zugeordnet sind. Sie können schließlich zulassen, dass alle Erweiterungen übereinstimmen, auch wenn modmime die Erweiterung nicht erkennt. Dies war das Verhalten in Apache 1.3 und kann zu unvorhersehbaren Ergebnissen führen, wie zum Beispiel das Versenden von. old - oder. bak-Dateien, die der Webmaster nie erwartet hatte. Die folgende Konfiguration ermöglicht beispielsweise, dass Handler und Filter an Multviews teilnehmen können, aber keine Dateien ausschließen: MultiviewsMatch Handlers Filter Entfernt alle Zeichensatzzuordnungen für eine Erweiterung der Erweiterung "RemoveCharset" von Dateierweiterungen. Virtuellen Host, Verzeichnis. Htaccess RemoveCharset ist nur in Apache 2.0.24 und höher verfügbar. Die RemoveCharset-Direktive entfernt alle Zeichensatzzuordnungen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. RemoveCharset. html. shtml Entfernt alle Inhaltscodierungszuordnungen für eine Dateierweiterung RemoveEncoding-Erweiterungserweiterung. Virtuellen Host, Verzeichnis. Htaccess Die RemoveEncoding-Direktive entfernt alle Codierungsassoziationen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Ein Beispiel für seine Verwendung könnte sein: /foo/.htaccess: AddEncoding x-gzip. gz AddType text / plain. asc ltFiles. gz. ascgt RemoveEncoding. gz lt / Filesgt Dadurch wird foo. gz als mit codiert markiert markiert Die gzip-Methode, aber foo. gz. asc als eine uncodierte Klartextdatei. RemoveEncoding-Direktiven werden nach allen AddEncoding-Direktiven verarbeitet, so dass es möglich ist, die Effekte des letzteren rückgängig zu machen, wenn beide innerhalb derselben Verzeichniskonfiguration auftreten. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Die RemoveHandler-Direktive entfernt alle Handlerassoziationen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Ein Beispiel für seine Verwendung könnte sein: /foo/.htaccess: AddHandler server-parsed. html /foo/bar/.htaccess: Dies hat die Wirkung der Rückgabe von HTML-Dateien im Verzeichnis / foo / bar, um als normale Dateien behandelt zu werden , Und nicht als Kandidaten für die Analyse (siehe Modulmodul). Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. RemoveInputFilter ist nur in Apache 2.0.26 und höher verfügbar. Die RemoveInputFilter-Direktive entfernt alle Eingabefilterzuordnungen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Entfernt alle Sprachassoziationen für einen Satz von Dateierweiterungen RemoveLanguage Erweiterungserweiterung. Virtuellen Host, Verzeichnis. Htaccess RemoveLanguage ist nur in Apache 2.0.24 und höher verfügbar. Die RemoveLanguage-Direktive entfernt alle Sprachassoziationen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Entfernt alle Ausgabefilterzuordnungen für eine Erweiterung der Dateierweiterungen RemoveOutputFilter. Virtuellen Host, Verzeichnis. Htaccess RemoveOutputFilter ist nur in Apache 2.0.26 und höher verfügbar. Die RemoveOutputFilter-Direktive entfernt alle Ausgabefilterzuordnungen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Entfernt alle Inhaltstypzuordnungen für eine Dateierweiterung RemoveType-Erweiterungserweiterung. Virtuellen Host, Verzeichnis. Htaccess Die RemoveType-Direktive entfernt alle MIME-Typ-Zuordnungen für Dateien mit den angegebenen Erweiterungen. Dadurch können. htaccess-Dateien in Unterverzeichnissen alle Verknüpfungen rückgängig machen, die von übergeordneten Verzeichnissen oder den Serverkonfigurationsdateien übernommen werden. Ein Beispiel für seine Verwendung könnte sein: /foo/.htaccess: Dadurch wird jede spezielle Behandlung von. cgi-Dateien im Verzeichnis / foo / und darunter unterdrückt, wodurch bewirkt wird, dass die Dateien als DefaultType behandelt werden. RemoveType-Direktiven werden nach allen AddType-Direktiven verarbeitet, so dass es möglich ist, dass sie die Effekte des letzteren rückgängig machen können, wenn beide innerhalb derselben Verzeichniskonfiguration auftreten. Das Erweiterungsargument berücksichtigt die Groß - / Kleinschreibung und kann mit oder ohne führenden Punkt angegeben werden. Die TypesConfig-Direktive setzt den Speicherort der Konfigurationsdatei des MIME-Typs. Dateipfad ist relativ zum ServerRoot. Diese Datei setzt die Standardliste der Zuordnungen von Dateinamenerweiterungen auf Inhaltstypen. Die meisten Administratoren verwenden die bereitgestellte mime. types-Datei, die gemeinsame Dateinamenerweiterungen mit IANA-registrierten Inhaltstypen verknüpft. Die aktuelle Liste wird unter iana. org/assignments/media-types/index. html geführt. Dies vereinfacht die httpd. conf-Datei, indem sie die meisten Medientypdefinitionen bereitstellt und bei Bedarf durch AddType-Direktiven überschrieben werden kann. Sie sollten die Datei mime. types nicht bearbeiten, da sie beim Aktualisieren Ihres Servers ersetzt werden kann. Die Datei enthält Zeilen im Format der Argumente zu einer AddType-Direktive: Der Fall der Erweiterung spielt keine Rolle. Leerzeilen und Zeilen, die mit einem Hash-Zeichen () beginnen, werden ignoriert. Bitte senden Sie keine Anfragen an das Apache HTTP Server-Projekt, um neue Einträge in die verteilte mime. types-Datei einzufügen, es sei denn, (1) sie bereits mit IANA registriert sind und (2) weit verbreitete, nicht-widersprüchliche Dateinamenerweiterungen über Plattformen hinweg verwendet werden . Werden die Kategorien / x-Subtypanforderungen automatisch zurückgewiesen, ebenso wie neue Erweiterungen mit zwei Buchstaben, da sie wahrscheinlich später mit dem bereits überfüllten Sprachen - und Zeichensatz-Namensraum in Konflikt geraten werden. Hinweis: Dies ist kein QampA Abschnitt. Die hier gezeigten Kommentare sollten auf Vorschläge zur Verbesserung der Dokumentation oder des Servers hingewiesen werden und können von unseren Moderatoren wieder entfernt werden, wenn sie entweder implementiert oder als ungültig / nicht-thematisch betrachtet werden. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, httpd, on Freenode, or sent to our mailing lists . Copyright 2016 The Apache Software Foundation. Licensed under the Apache License, Version 2.0 .


Comments

Popular posts from this blog

Forex Dealers Lucknow

Binary Options Factory

Moving Average Jmp