Saturday, 28 October 2017

Apache Mime Typ Binär Optionen


In ubuntu, ich laufe einfache html-Seite, die mp4-Video laufen kann, habe ich Apache Server konfiguriert und habe einfache Test-Seite für hallo Welt, seine funktionieren gut. Im Apache Webserver habe ich gelesen, dass wir den folgenden Code in die Datei httpd. conf oder eine. htaccess-Datei im Verzeichnis hinzufügen müssen, in dem unsere Videodateien sind. Also meine Frage ist, wo ist diese httpd. conf oder. htaccess-Datei zur Verfügung, muss man manuell diese Dateien erstellen oder sie sind irgendwo gespeichert. Der Code meiner HTML-Seite ist so: Bitte geben Sie mir die Vorschläge. Die Standardkonfigurationsdatei für die Dateien, die von Ihrer Apache-Installation bedient werden, ist etcapache2sites-enabled000-default. Es ist eine gute Idee, die Originaldatei zu sichern, bevor du mit dieser Datei herumspielt. Jedes Mal, wenn Sie diese Datei bearbeiten, muss Apache neu gestartet werden, damit die Änderungen wirksam werden - sudo service apache2 restart (oder) sudo service apache2 reload. Wohingegen Änderungen in. htaccess nicht benötigen Apache neu gestartet werden. Wie schon erwähnt, geht die. htaccess-Datei in den DocumentRoot der Website. Schauen Sie sich die offizielle Dokumentation zum Aktivieren von. htaccess-Dateien an. Um die. htaccess-Dateien wie erwartet zu bearbeiten, müssen Sie diese Datei bearbeiten: Suchen Sie nach einem Abschnitt, der so aussieht: Sie müssen die Zeile mit AllowOverride None ändern, um AllowOverride All zu lesen. Dies sagt Apache, dass es in Ordnung ist,.htaccess-Dateien zu erlauben, um vorherige Anweisungen zu überfahren. Du musst Apache neu laden, bevor diese Änderung einen Effekt hat: 2009.12.08 Hinweis: In der LAMP Download vor etwa einer Woche mit Ubuntu 9.10 (Karmic) war die Standard-Konfigurationsdatei etcapache2sites-available000-default und enthielt AllowOverride None unter ltDirectory gt in Zusätzlich zu ltDirectory varwwwgt. Auch Verzeichnisse in wwwvar mit. htaccess-Dateien defauliert, um nicht den Apache-Server Lesezugriff, was in der Apache-Fehler Um zu beheben, sudo nautilus dann mit der rechten Maustaste auf das Verzeichnis mit der. htacces s-Datei, wählen Sie Eigenschaften, dann wählen Sie Berechtigungen und Geben Sie der Benutzergruppe, die Sie sich als mindestens Leseberechtigung anmelden. Generiert die Textdarstellung dieses Inhaltstyps, der als Wert eines Content-Type-Headers verwendet werden kann. Erstellt eine neue Instanz von ContentType. Parameter: mimeType - MIME-Typ. Es darf nicht null oder leer sein. Es darf keine Zeichen ltgt, ltgt, lt, gt enthalten durch die HTTP-Spezifikation. Charset - charset Rückgabewert: Inhaltstyp Erstellt eine neue Instanz von ContentType ohne Zeichensatz. Parameter: mimeType - MIME-Typ. Es darf nicht null oder leer sein. Es darf keine Zeichen ltgt, ltgt, lt, gt enthalten durch die HTTP-Spezifikation. Returns: content type Erstellt eine neue Instanz von ContentType. Parameter: mimeType - MIME-Typ. Es darf nicht null oder leer sein. Es darf keine Zeichen ltgt, ltgt, lt, gt enthalten durch die HTTP-Spezifikation. Charset - charset Es darf keine Zeichen ltgt, ltgt, lt, gt enthalten durch die HTTP-Spezifikation. Dieser Parameter ist optional. Rückgabewert: Inhaltstyp Throws: UnsupportedCharsetException - Wird ausgelöst, wenn der genannte Charset in dieser Instanz der Java Virtual Machine nicht verfügbar ist. Erstellt eine neue Instanz von ContentType mit den angegebenen Parametern. Parameter: mimeType - MIME-Typ. Es darf nicht null oder leer sein. Es darf keine Zeichen ltgt, ltgt, lt, gt enthalten durch die HTTP-Spezifikation. Params - Parameter. Rückgabewert: Inhaltstyp Throws: UnsupportedCharsetException Seit: 4.4 Analysiert die Textdarstellung des Content-Type-Werts. Parameter: s - text Rückgabewert: Inhaltstyp Throws: ParseException - wenn der angegebene Text keinen gültigen Content-Type-Wert darstellt. Nicht unterstützteCharsetException - Wird ausgelöst, wenn der genannte Zeichensatz in dieser Instanz der Java Virtual Machine nicht verfügbar ist. Extrahiert den Content-Type-Wert von HttpEntity genau wie im Content-Type-Header der Entität angegeben. Gibt null zurück, wenn nicht angegeben. Parameter: entity - HTTP entity Rückgabewert: content type Throws: ParseException - wenn der angegebene Text keinen gültigen Content-Type-Wert darstellt. Nicht unterstütztCharsetException - Wird ausgelöst, wenn der genannte Zeichensatz in dieser Instanz der Java Virtual Machine nicht verfügbar ist. GetLenient extrahiert den Content-Type-Wert von HttpEntity. Rückgabewerte null, wenn nicht angegeben oder falsch (konnte nicht analysiert werden) Parameter: entity - HTTP entity Rückgabewert: content type Seit: 4.4 getOrDefault Extrahiert den Content-Type-Wert von HttpEntity oder gibt den Standardwert DEFAULTTEXT zurück, wenn nicht explizit angegeben. Parameter: entity - HTTP entity Rückgabewert: content type Throws: ParseException - wenn der angegebene Text keinen gültigen Content-Type-Wert darstellt. Nicht unterstützteCharsetException - Wird ausgelöst, wenn der benannte Zeichensatz in dieser Instanz der Java Virtual Machine nicht verfügbar ist getLenientOrDefault Extrahiert den Content-Type-Wert von HttpEntity oder gibt den Standardwert DEFAULTTEXT zurück, wenn nicht explizit angegeben oder falsch (konnte nicht analysiert werden). GetByMimeType Gibt Content-Type für den angegebenen MIME-Typ zurück. Parameter: mimeType - MIME-Typ Rückgabewert: Inhaltstyp oder Null, wenn nicht bekannt. Seit: 4.5 mitCharset Erstellt eine neue Instanz mit diesem MIME-Typ und dem angegebenen Zeichensatz. Parameter: charset - charset Gibt eine neue Instanz mit diesem MIME-Typ und dem angegebenen Zeichensatz zurück. Seit: 4.3 mitCharset Erstellt eine neue Instanz mit diesem MIME-Typ und dem angegebenen Charset-Namen. Parameter: charset - name Gibt eine neue Instanz mit diesem MIME-Typ und dem angegebenen Charset-Namen zurück. Throws: UnsupportedCharsetException - Wird ausgelöst, wenn der genannte Charset in dieser Instanz der Java Virtual Machine nicht verfügbar ist Seit: 4.3 withParameters Erstellt eine neue Instanz mit diesem MIME-Typ und den angegebenen Parametern. Parameter: params - Rückgabewert: eine neue Instanz mit diesem MIME-Typ und den angegebenen Parametern. Throws: UnsupportedCharsetException Seit: 4.4Handling Binärdaten mit Axis2 (MTOMSwA) Einleitung Trotz Flexibilität, Interoperabilität und globaler Akzeptanz von XML gibt es Zeiten, in denen Serialisierung von Daten in XML nicht sinnvoll ist. Web-Services-Benutzer können Binär-Attachments von verschiedenen Sorten wie Bilder, Zeichnungen, XML-Dokumente usw. zusammen mit einer SOAP-Nachricht übertragen. Solche Daten sind oft in einem bestimmten Binärformat. Traditionell wurden zwei Techniken für den Umgang mit opaken Daten in XML verwendet. Das Senden von binären Daten durch den Wert wird durch Einbettung von opaken Daten (natürlich nach irgendeiner Form von Codierung) als Element - oder Attributinhalt der XML-Komponente von Daten erreicht. Der Hauptvorteil dieser Technik ist, dass es 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 entweder base64 oder hexadezimaler Textcodierung. Beide Techniken blasen die Größe der Daten auf. Für die UTF-8-zugrunde liegende Textcodierung erhöht die Base64-Codierung die Größe der Binärdaten um einen Faktor von 1,33x der ursprünglichen Größe, während die Hexadezimalcodierung Daten um den Faktor 2x erweitert. Die obigen Faktoren werden verdoppelt, wenn UTF-16 Textcodierung verwendet wird. Auch von besorgniserregend ist der Overhead in den Bearbeitungskosten (sowohl real als auch wahrgenommen) für diese Formate, vor allem bei der Dekodierung wieder in rohe Binärdatei. Das Senden von Binärdaten durch Referenz wird durch das Anfügen von reinen Binärdaten als externe, nicht gepardete allgemeine Entitäten außerhalb des XML-Dokuments und anschließendes Einbetten von Referenz-URIs an diese Entitäten als Elemente oder Attributwerte erreicht. Dies verhindert das unnötige Aufblasen von Daten und Verschwendung von Rechenleistung. Das primäre Hindernis für die Nutzung dieser unparsed Entities ist ihre starke Abhängigkeit von DTDs, die Modularität sowie die Verwendung von XML-Namespaces beeinträchtigt. Es gab mehrere Spezifikationen, die in der Web-Service-Welt eingeführt wurden, um mit diesem binären Attachment-Problem unter Verwendung der quotby-Referenzquot-Technik umzugehen. SOAP mit Attachments ist ein solches Beispiel. Da SOAP Dokumenttyp-Deklarationen (DTD) in Meldungen verbietet, führt dies zu dem Problem, Daten nicht als Teil des Meldungs-Infosets darzustellen und damit zwei Datenmodelle zu erzeugen. Dieses Szenario ist wie das Senden von Anhängen mit einer E-Mail-Nachricht. Auch wenn diese Anhänge mit dem Nachrichteninhalt zusammenhängen, sind sie nicht in der Nachricht. Dies führt dazu, dass die Technologien, die die Daten auf der Grundlage der XML-Komponente der Daten verarbeiten und beschreiben, zu Fehlfunktionen führen. Ein Beispiel ist WS-Security. Wo ist MTOM Come In MTOM (SOAP Message Transmission Optimization Mechanism) ist eine weitere Spezifikation, die auf die Lösung der quotAttachmentsquot Problem konzentriert. MTOM versucht, die Vorteile der beiden oben genannten Techniken zu nutzen, indem man versucht, die beiden Techniken zusammenzuführen. MTOM ist eigentlich ein quotby-Referenzquot-Verfahren. Das Drahtformat einer MTOM-optimierten Nachricht ist dasselbe wie die SOAP mit Attachments-Nachricht, die es auch rückwärts kompatibel mit SwA-Endpunkten macht. Das bemerkenswerteste Merkmal von MTOM ist die Verwendung des XOP: Include-Elements, das in der XML Binary Optimized Packaging (XOP) - Spezifikation definiert ist, um auf die binären Attachments (externe ungepufferte allgemeine Entitäten) der Nachricht zu verweisen. Mit der Verwendung dieses exklusiven Elements wird der angehängte Binärinhalt logisch inline (mit dem Wert) mit dem SOAP-Dokument, obwohl er tatsächlich separat angehängt ist. Dies verschmilzt die beiden Bereiche, indem es möglich ist, 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 veraltet ist. Auf einer leichteren Note hat MTOM den Referenzmechanismus von SwA standardisiert. Das folgende ist ein Auszug aus der XOP-Spezifikation. Auf der konzeptionellen Ebene können diese Binärdaten als Basis64-codiert im XML-Dokument betrachtet werden. Da diese konzeptionelle Form bei einer Verarbeitung des XML-Dokuments erforderlich ist (z. B. zum Signieren des XML-Dokuments), ist es notwendig, eine Eins-zu-Eins-Korrespondenz zwischen XML-Infosets und XOP-Paketen zu haben. Daher ist die konzeptionelle Darstellung solcher Binärdaten so, als wäre sie base64-codiert, wobei die kanonische lexikalische Form des XML-Schema base64Binary-Datentyps verwendet wurde (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 Attachments und MTOM (SOAP Message Transmission Optimization Mechanism). MTOM mit Axis2 Programmiermodell AXIOM ist (und kann das erste) Objektmodell sein, das die Fähigkeit hat, binäre Daten zu halten. Es hat diese Fähigkeit, wie OMText rohen binären Inhalt in Form von javax. activation. DataHandler halten kann. OMText wurde zu diesem Zweck aus zwei Gründen ausgewählt. Einer 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-Datentyps befinden. Anderes ist, das Infoset sowohl im Sender als auch im Empfänger zu bewahren. (Um den Binärinhalt in der gleichen Art von Objekt zu speichern, unabhängig davon, ob es optimiert ist oder nicht). MTOM ermöglicht die selektive Verschlüsselung von Teilen der Nachricht, die es uns ermöglicht, basendecodierte Daten sowie extern angehängte rohe Binärdaten zu senden, die durch das in einer SOAP-Nachricht zu sendende quotXOPquot-Element (optimierter Inhalt) referenziert werden. Sie können festlegen, ob ein OMText-Knoten, der rohe Binärdaten oder base64encodierte Binärdaten enthält, qualifiziert ist, um zum Zeitpunkt des Aufbaus dieses Knotens oder später optimiert zu werden. Für eine optimale Effizienz von MTOM empfiehlt es sich, kleinere Binär-Anhänge mit Base64encoding (nicht optimiert) und größeren Anhängen als optimierten Inhalt zu versenden. Außerdem kann ein Benutzer einen optimierbaren Binärinhaltsknoten unter Verwendung eines base64-codierten Strings erstellen, der einen codierten Binärinhalt enthält, der mit dem MIME-Typ der tatsächlichen Binärdarstellung versehen ist. Axis2 verwendet javax. activation. DataHandler, um die Binärdaten zu verarbeiten. Alle optimierten Binärinhaltsknoten werden als Base64-Strings serialisiert, wenn quotMTOM nicht aktiviert ist. Sie können auch binäre Content-Knoten erstellen, die auf keinen Fall optimiert werden. Sie werden serialisiert und als Base64 Strings gesendet. Aktivieren der MTOM-Optimierung auf der Client-Seite In Optionen setzen Sie die quotenableMTOMquot-Eigenschaft auf True beim Senden von Nachrichten. Wenn diese Eigenschaft auf True gesetzt ist, wird jede SOAP-Hüllkurve, unabhängig davon, ob sie einen optimierbaren Inhalt enthält oder nicht, als MTOM-optimierte MIME-Nachricht serialisiert. Axis2 serialisiert alle Binär-Content-Knoten als Base64-codierte Strings, unabhängig davon, ob sie qualifiziert sind, um optimiert zu werden oder nicht, wenn die quotenableMTOMquot-Eigenschaft auf False gesetzt ist. Wenn der Umschlag enthält Elementinformationen des Namens xop: Include (siehe XML-Binär optimierte Verpackung 3. XOP Infosets Constructs). Der Benutzer muss nichts angeben, damit Axis2 MTOM-optimierte Nachrichten empfangen kann. Axis2 identifiziert und de-serialisiert entsprechend, wie und wann eine MTOM-Nachricht eintrifft. Aktivieren der MTOM-Optimierung auf der Serverseite Der Axis 2-Server identifiziert automatisch eingehende MTOM-optimierte Meldungen basierend auf dem Content-Typ und de-serialisiert sie entsprechend. Der Benutzer kannMTOM auf der Serverseite für ausgehende Nachrichten aktivieren, Um MTOM global für alle Dienste zu aktivieren, können Benutzer den quotenableMTOMquot-Parameter in der Axis2.xml auf True setzen. Wenn es gesetzt ist, werden alle ausgehenden Nachrichten serialisiert und als MTOM-optimierte MIME-Nachrichten gesendet. Wenn es nicht gesetzt ist, werden alle Binärdaten 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. Sie müssen den Server nach der Einstellung dieses Parameters neu starten. Zugriff auf empfangene Binärdaten (Beispielcode)

No comments:

Post a Comment