Unterstützung Byte Range Requests (Podcasts u.a.)

Wenn Sie für das Publizieren von Podcasts ein Skript verwenden, welches eine Weiterleitung im HTTP-Header angibt, ist der folgende Hinweis nur dann relevant, wenn mehr als fünf Weiterleitungen definiert sind. Apple wertet bis zu fünf Weiterleitungen aus und stellt den Byte Range Request erneut beim Weiterleitungsziel. [Courtesy: Ribeaud, 4082448]

Der Apache Webserverdienst unterstützt standardmässig Byte Range Requests. Dies können Sie einfach durch einen entsprechend simulierten Aufruf via PHP verifzieren:

header("Content-Type: text/plain");
$range = "58-128";
$host = "www.meindomainname.ch"; // ersetzen durch entsprechenden Domainnamen
$socket = fsockopen($host,80);
// xml-Dateinamen je verfügbarer Datei anpassen
$kopf = "GET /podcast.xml HTTP/1.1\r\nHost: $host\r\nRange:bytes=$range\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
fwrite($socket,$kopf);
echo fread($socket,2048);
?>

Bei Byte Range Requests liefert der Webserver nur den in der Anfrage definierten Teil der Daten, siehe Antwortteile des Headers

HTTP/1.1 206 Partial Content
...
Accept-Ranges: bytes Content-Length: 71 Content-Range: bytes 58-128/...
Wenn Sie in diesem Zusammenhang auf Probleme stossen, versuchen Sie vermutlich entsprechende Anfragen mit PHP z.B. zu Statistikzwecken und/oder Weiterleitung zu verarbeiten, wodurch der Byte Range Request verloren geht.

Lösungsansatz:
Ist eine Byte Range Anfrage erfolgt, so ist in PHP die Variable $_SERVER['HTTP_RANGE'] verfügbar, welche sie entsprechend auswerten und weiterverwenden können.


Verwandte Artikel

keine

Anhänge

keine
Clip to Evernote

Aktion

Seite drucken Seite drucken

Seite mailen Seite mailen

Kommentar schreiben Kommentar schreiben

Abonnieren

Zu den Favoriten Zu den Favoriten

Hervorhebung entfernen Hervorhebung entfernen

BearbeitenBearbeiten

Quick Edit

PDF-Export

Rating ( )

Wie bewerten Sie diese Antwort?



Danke fürs Bewerten dieser Antwort.

Fortfahren