kurz vor der endgültigen Verabschiedung steht, und die zugehörige Dokumentation sind auf http://www.w3.org/TR/cors/ zu finden.
Aus HTML-Sicht ist das
crossorigin
-Attribut schnell erklärt.
Beispiel
Hier ein Bild von dem Vorfall:
crossorigin="anonymous">
Und hier noch ein Amateur-Video:
crossorigin="use-credentials">
Erläuterung
Das
crossorigin
-Attribut kann in den Tags oder Start-Tags der Elemente
img
,
video
,
audio
,
link
und
script
notiert werden. Es kann zwei Werte annehmen:
crossorigin= "anonymous"
oder
crossorigin="use-credentials"
. Die Wertzuweisung
"anonymous"
bedeutet: CORS-Richtlinien kommen nicht zum Einsatz, und
"use-credentials"
bedeutet, dass CORS-Richtlinien angewendet werden, falls das erforderlich ist.
CORS-Richtlinien sind vor allem für den Fall gedacht, dass clientseitige Scripts, die nicht von der eigenen Website stammen, direkt mit HTTP eine Grafik, ein Video usw. von Ihrer Website abrufen. Das kann beispielsweise bei Scripts der Fall sein, welche die sogenannte Ajax-Schnittstelle (XMLHttpRequest-Objekt) verwenden, oder auch bei Scripts für canvas-Elemente. Im Zusammenhang mit dem
link
-Element und Fremd-Referenzierungen ist die Angabe eigener Web-Fonts (auf dem Server gespeicherte, in Webseiten verwendete Schriftarten) von Bedeutung.
CORS besteht im wesentlichen aus einer Reihe neue HTTP-Response-Header. Diese regeln, von welchen fremden Websites wie auf eine Ressource zugegriffen werden darf.
Weitere Informationen
Wenn Sie sich näher über die HTTP-technischen Hintergründe und das Scripting mit solchen HTTP-Headern beschäftigen wollen, sind folgende Quellen empfehlenswert:
• http://acadopus.de/javascript/cross-origin-ajax-mit-cors_5902.html als Einstieg (deutschsprachig)
• https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control als ausführliches Tutorial (englischsprachig)
Referenzinformationen
Attributreferenz
crossorigin
:
JavaScript-seitige Implementierung von CORS-Richtlinien:
7.6 Backgrounds
Während Sprachen wie HTML und CSS offene W3C-Standards sind, ist die Lage bei Grafik- und Multimediaformaten, die im Web zum Einsatz kommen, wesentlich verworrener. Die vorherrschenden Formate sind teilweise ebenso wie HTML und CSS offene W3C-Standards. Es gibt jedoch auch lizenzrechtlich problematischere Formate. Besonders um die Audio- und Video-Codecs hat es im Vorfeld zu HTML5 zum Teil erhebliche Auseinandersetzungen über die Codecs gegeben, die jeder Browser, der die Elemente
audio
und
video
interpretiert, implementiert haben sollte. Dieser Buchabschnitt vermittelt ein wenig Hintergrundwissen zu den Formaten, ihren technischen Vor- und Nachteilen sowie ihrem Lizenzhintergrund.
7.6.1 Pixelgrafik-Formate
Seit den Anfängen der Computergrafik wurden Dutzende von Speicherformaten für Rastergrafiken (Pixelgrafiken) entwickelt. Für Webgrafik sind nur drei dieser Formate von Bedeutung: GIF, JPEG und PNG. Andere Formate sind entweder zu stark auf Printmedien optimiert, oder sie sind proprietär an bestimmte Software gebunden, oder sie sind aus heutiger Sicht veraltet.
Das GIF-Format
Dateien des GIF-Formats haben die übliche Dateinamenendung .gif und den MIME-Type image/gif . In HTML lassen sich GIF-Grafiken mit Hilfe des
img
-Elements einbinden (siehe Pixelgrafik-Referenzen ).
GIF steht für Graphics Interchange Format und wurde 1987 vom damaligen Online-Anbieter CompuServe eingeführt. Es zeichnet sich durch eine hohe und verlustfreie Kompression aus, die allerdings wesentlich mit reduzierten Farbwerten erreicht wird. Im Online-Bereich, wo die Übertragung von Daten zunächst viel Geld und Zeit kostete, setzte sich das GIF-Format schnell durch. Der heute weitverbreitete Standard des GIF-Formats ist das sogenannte »89er-Format«. Dieses Format bietet drei Möglichkeiten an, die das GIF-Format für den Einsatz im Web besonders interessant machen:
• Interlaced : Eine Grafik, die mit dieser Option abgespeichert ist, wird beim Laden nicht zeilenweise eingelesen und aufgebaut, sondern schichtweise. Dabei erscheint die Grundstruktur der Grafik sehr schnell am Bildschirm des Anwenders. Beim weiteren Ladevorgang wird die Grafik dann immer deutlicher und feiner aufgelöst am Bildschirm angezeigt.
• Animation :