wake-up-neo.com

Was bedeutet die Statusmeldung "HTTP 206 Partial Content" und wie lade ich Ressourcen vollständig?

Ich habe einige Bild-Tags auf einer Site wie dieser.

<img src="img.png"/>

Wenn ich versuche, sie zu laden, werden sie nur zur Hälfte geladen. Wenn ich die Anfrage in der Netzwerkkonsole überprüfe, sehe ich, dass die Antwort ist:

206 Teilinhalt

Ich habe es gegoogelt und es heißt, dass es so sein wird, wenn ein Bereich in der Kopfzeile gesetzt ist. Aber wo sind diese Überschriften eigentlich gesetzt? Und wie vermeide ich das und lade die Vollbilder?

31
prasadmsvs

Von der Antwort von user16639 zur Frage Warum zeigt Firebug bei einer Video-Ladeanforderung die Antwort "206 Partial Content" an?

Dieser Teilinhaltscode (206) kann vom Server gesendet werden, wenn der Client nach einem Bereich gefragt hat (z. B. "Geben Sie mir die ersten 2 MB Videodaten ").

Es ist für das Herunterladen von Daten in Blöcken von entscheidender Bedeutung, um das Abrufen nicht verwendeter Ressourcen zu vermeiden. (Ich schaue mir selten ein vollständiges Video online an.) Sehen Sie sich die ausgehende Anforderung für einen Range -Header an.

36
csaron92

Es ist Sache des Kunden, einen weiteren Anruf zu tätigen, um den Rest der Daten (oder das nächste Bit) abzurufen. Sie müssen nichts tun, sie erhalten schließlich das vollständige Bild, auch wenn mehrere http-Aufrufe erforderlich sind.

5
Penfold

Ich hatte ein ähnliches Problem beim Laden von Schriftarten aus verschiedenen Unterdomänen. In meinem Fall bekam ich 206 aufgrund von domänenübergreifenden Problemen und löste das Problem, indem ich einfach eine .htaccess-Datei in meinen Stammordner legte:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>
1
thiago marini

Zuerst:

Das HTTP 206 Partial Content Antwortcode für den Erfolgsstatus zeigt an, dass die Anforderung erfolgreich war und der Text die angeforderten Datenbereiche enthält, wie im Header Range der Anforderung beschrieben.

Wenn es nur einen Bereich gibt, wird Content-Type der gesamten Antwort wird auf den Typ des Dokuments festgelegt, und ein Content-Range wird gestellt.

Wenn mehrere Bereiche zurückgesendet werden, wird Content-Type ist eingestellt auf multipart/byteranges und jedes Fragment deckt einen Bereich ab, mit Content-Range und Content-Type beschreibt es.

( Aus Mozillas ausgezeichneter HTTP-Statuscode-Referenz. )

Nächster:

Auf Ressourcen gesetzte HTTP-Header werden normalerweise vom Webserver festgelegt. Wenn die Datei jedoch groß ist, wie eine Videodatei der Browser kann einen Block anfordern der Ressource, die geladen wird. Normalerweise ist ein HTTP 206 Header wird von einer vom Client initiierten Anfrage zurückgegeben. Die in Apache für Ressourcen festgelegten Header werden in mod_headers Abschnitt des httpd.conf. Suchen Sie in der folgenden Zeile, ob Teilinhalt aktiviert ist:

Header set Accept-Ranges bytes

In diesem Abschnitt wird das Verhalten der von Apache festgelegten Header gesteuert.

Das Setzen der Header kann jedoch auf verschiedene Arten erfolgen. Wenn Sie beispielsweise Apache verwenden, können Sie die geladenen Bilder so steuern, dass sie zwischengespeichert werden. Dies kann mit dem [a2enmod module][2]. Dies reduziert die Belastung Ihres Servers.

0
Aran Mulholland