7 Stimmen

Warum sollte ein Browser zwei verschiedene Anfragen für dieselbe Datei stellen?

Ich bin dabei, ein von mir geschriebenes Programm zu debuggen und habe etwas Seltsames bemerkt. Ich habe einen HTTP-Server auf Port 12345 eingerichtet, auf dem eine einfache OGG-Videodatei liegt, und versucht, von Firefox aus darauf zuzugreifen.

Bei der Überprüfung der Netzwerkanfragen stellte ich fest, dass diese beiden Anfragen gestellt wurden:

GET /video.ogv HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

GET /video.ogv HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Range: bytes=8122368-

Das Video ist fast 8 MB groß. Die Tatsache, dass die zweite Anforderung 8122368 Bytes, also 7932 KB, angibt, deutet darauf hin, dass sie aus irgendeinem Grund das Ende der Datei anfordert. Hat jemand eine Idee?

8voto

SimonDever Punkte 2512

Um das Suchen und Abspielen von noch nicht heruntergeladenen Bereichen der Medien zu unterstützen, verwendet Gecko HTTP 1.1 Byte-Range-Anfragen, um die Medien von der Suchzielposition abzurufen. Da Ogg-Dateien ihre Dauer nicht enthalten, wird die anfängliche Download-Verbindung abgebrochen. Dann wird das Ende der Ogg-Datei gesucht und ein paar Daten gelesen, um die Dauer des Mediums zu ermitteln. Informationen aus aquí y aquí .

2voto

Einige Medienformate enthalten am Ende der Datei Metadaten, die in der Regel erforderlich sind, damit das Video richtig gesucht werden kann.

0voto

GrayWizardx Punkte 17771

Es werden tatsächlich 8122368 Bytes angefordert, beginnend vom Ende an rückwärts. Das sind 7,74 MB, wenn ich meine Berechnungen richtig gemacht habe.

könnte es etwas damit zu tun haben, wie die Pufferung für diesen Dateityp durchgeführt wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X