2009-07-08 6 views
0

Ich weiß fast nicht einmal, wie ich anfangen soll, diese Frage zu beschreiben - ich bin völlig verblüfft. Im Grunde genommen habe ich einen maßgeschneiderten F4V-Videoplayer, der über eine HTTP-Anfrage ein F4V ergreift und dann das Video mit einem Standard-AS3 abspielt.F4V Player funktioniert auf jeder Seite aber

Jetzt habe ich drei Websites auf identische SliceHost Slices, das gleiche Betriebssystem, die gleiche PHP-Version, auf der gleichen Plattform, mit identischen Apache-Einstellungen, alles. Auf einer der Websites (nur einer davon) werden die Videos nicht abgespielt, wenn der Player zum ersten Mal geladen wird. Stattdessen muss die Seite aktualisiert werden, um das Video abzuspielen und es im Wesentlichen aus dem Cache wiederzugeben. Andernfalls wird gewartet, als hätte es nie genug Dateien heruntergeladen, um die Wiedergabe zu starten. Außerdem wird auf der gleichen Seite, auf nur einem der Videos, das Audio abgespielt, aber nicht das Video, bis etwa zum dritten oder vierten Mal. Danach wird das Video neben dem Audio wiedergegeben.

Ich habe die bewährten, funktionierenden SWF-Dateien von einer funktionalen Site zur defekten Site verschoben und sehe das gleiche Ergebnis. Ich habe die defekten F4V-Dateien auf die funktionale Seite hochgeladen und sie funktionieren gut. Ich habe sichergestellt, dass das HTML und Javascript, die den Player laden, identisch sind.

Gibt es etwas, das ich vergessen habe zu überprüfen, dass dieses Problem verursachen könnte? Jemand mit etwas mehr Wissen über Browser oder Flash-Caching?

Weitere Informationen:
Ich habe eine nocache Richtlinie, obwohl, wie man hätte erwarten können, dass es verursacht auf den Auffrischungen sowie beginnen scheitern. Ich habe HTTPFox verwendet, um auf die Anfragen zu schauen, obwohl nichts herausgekommen ist. Die einzige Sache, die ich wirklich sammeln kann, ist, dass sie korrekt zu spielen scheint, wenn sie aus dem Cache abgerufen wird, aber nicht, wenn sie von der Site angefordert wird. Es wird jedoch auf den anderen Websites korrekt wiedergegeben, auch wenn eine Anfrage gestellt wird.

An Standorten, an denen die Anforderung korrekt ausgeführt wird, zeigt HTTPFox die korrekte Größe (mehrere MB) der Daten an, die in der Anforderung zurückgegeben werden. Auf der fehlerhaften Website werden weniger als 1 KB Daten angezeigt, die mit der F4V-Anforderung zurückgegeben werden.

Antwort

0

Hier ist die richtige Antwort. Ich brauchte einen Moment, um die HTTP-Anfragen sorgfältiger zu vergleichen und das Problem zu entdecken. Es scheint, dass der fragliche Server versucht hat, alles außer Bildern wegen einer schlechten Apache-Konfiguration zu gzipieren. Durch die Änderung der Konfiguration, nur einige Dateitypen gzip zu entpacken, wurde das Problem gelöst. Danke für deine Hilfe Lex.

0

Bearbeitet als dies ist derzeit die beste Antwort.

In diesem Fall war das Problem, dass GZIP auf eine einzelne Site angewendet wurde. Andere Tings zu suchen sind:

  • Caching
  • MIME-Typen
  • Protocol (Version und SSL)
  • Compression

Probleme zu identifizieren, wie dies Sie Tools verwenden können, wie zum Beispiel Fiddler (jedoch gibt es andere speziell für den Nicht-MS-Stack wie Wireshark). Mithilfe eines Tools wie diesem können Sie Antworten und Anforderungen im Detail vergleichen und einander gegenüberstellen und sie sogar ändern und dann erneut wiedergeben, um das Problem einzugrenzen.

+0

Ich habe eine nocache-Direktive hinzugefügt, obwohl das, wie Sie vielleicht erwartet haben, dazu führte, dass die Aktualisierung ebenfalls fehlschlägt. Ich habe HTTPFox verwendet, um auf die Anfragen zu schauen, obwohl nichts herausgekommen ist.Die einzige Sache, die ich wirklich sammeln kann, ist, dass sie korrekt zu spielen scheint, wenn sie aus dem Cache abgerufen wird, aber nicht, wenn sie von der Site angefordert wird. Es wird jedoch auf den anderen Websites korrekt wiedergegeben, auch wenn eine Anfrage gestellt wird. – Travis

Verwandte Themen