Ankündigung

Einklappen
Keine Ankündigung bisher.

falsche content-length

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • notyyy
    hat ein Thema erstellt falsche content-length.

    falsche content-length

    Hallo,

    ich bekomme in regelmäßigen Abständen in Flash -> PHP Requests vom Apache Seiten in denen die Content-length nicht gesetzt ist., Firebug zeigt diese als ? an.

    habt ihr eine Idee warum dies geschieht?

    _best,

    T

  • notyyy
    antwortet
    ich bin mir sicher, was jedoch glaube ich auch geholfen hat:
    <cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-http-request-headers-from domain="*" headers="*" /> <!-- // dies -->
    <allow-access-from domain="*" />
    <allow-access-from domain="*" />
    </cross-domain-policy>

    Einen Kommentar schreiben:


  • jw-lighting
    antwortet
    Bist du dir sicher, das Chrome wegen dem Content-Length streikt?
    Wenn du den header sendest, sollte es keine Grund dazu geben.

    Checke doch sonst auch mal andere Möglichkeiten, z.B. das XML was du sendest.

    Einen Kommentar schreiben:


  • robo47
    antwortet
    mal mit wireshark kombiniert mit debugging im script versucht ?

    sprich loggen von "fertig" messages am ende des scripts und dann schauen ob das script ... segfaulted oder ähnliches ? sprich halt mal apache und php alles logging auf höchste stufe, logging in dateien aktivieren ... etc und dann mal mit nem cmd-tool ala apache-bench einfach mal massiv viele requests fahren schauen ob du "fehler" reproduzieren kannst, und dann wenn du fehler /probleme findest (du weist ja es haben XX requests stattgefunden, und so viele einträge müssten in deiner log sein) findest einfach mal die wireshark-logs auswerten oder halt noch xdebug mit ins boot holen und profiles erzeugen lassen.

    Ich mein wir können hier nur raten, von einem kaputten php über kaputtes verhalten im browser zu sonstwas

    Du musst versuchen es irgendwie schaffen so viel wie möglich informationen dabei sammeln und vor allem schauen wo das problem auftritt, sprich sendet der webserver nicht immer komplett, bricht php ab, verkaggt der browser es aufgrund von caching oder baut flash mist.

    Einen Kommentar schreiben:


  • notyyy
    antwortet
    ja, ist mir bewusst. nur wie kann es sein, dass wenn ich dies nicht tue, im u.a. Google Chrome von Flash geladene XML's nicht korrekt ankommen.

    ?

    Einen Kommentar schreiben:


  • jw-lighting
    antwortet
    Lässt sich auch einfach machen, wenn man Output Buffering benutzt:

    PHP-Code:
    <?php

    ob_start
    ();

    // eigentliches Skript

    $output ob_get_clean();
    header('Content-Length: '.strlen($output));
    echo 
    $output;

    ?>

    Einen Kommentar schreiben:


  • robo47
    antwortet
    Die Content-Length kann man NUR setzen wenn man vorher weis wie groß der output ist, also dann wenn man z.b. Dateien zum Download anbietet und durch php durchschleift oder ein system zum einsatz kommt wo eh jeglicher content in einem gerendert wird und dann gesendet wird, also in den meisten Fällen wo ein System zum Einsatz kommt wo kein output während dem script sondern erst am Ende erzeugt wird.

    Bei Datei-Downloads ist es mehr als üblich das zu machen schon alleine damit der user weis wie groß sein download sein wird, bei normalen seiten wo man den content als ganzes ausgibt, bricht man sich keinen ab wenn man es machen kann, sind ja im endeffekt nur 1-2 zeilen, wird aber oft einfach vergessen.
    Gerade bei MVC-Systemen mit einem Response-Objekt lässt sich sowas ja sehr einfach automatisieren.

    Einen Kommentar schreiben:


  • notyyy
    antwortet
    interessant ist das verhalten im google Chrome, er zeigt nichts an. mir ist das Problem nun zum ersten mal wirklich aufgefallen, es ist doch eher unüblich, dass die content-length manuell gesetzt wird!?.

    Einen Kommentar schreiben:


  • robo47
    antwortet
    Content-Length ist bei dynamischen scripten (php, perl, ... ) keine sache des webservers! Sondern des Scripts!

    Wie auch, woher soll der webserver VOR der ersten ausgabe, wenn die header gesendet werden, schon wissen wie viel man mit PHP später ausgeben wird ?
    Ein Script muss diese Header setzen wenn die Gegenseite darauf aufbauen will.

    Wenn also wirklich header auftauchen würde ich an deiner Stelle das ganze mal nicht mit Firebug versuchen zu debuggen sondern wireshark oder ähnlichem und schauen ob da die header auftauchen.

    Einen Kommentar schreiben:


  • notyyy
    antwortet
    Zitat von fireweasel Beitrag anzeigen
    Weil serverseitig vergessen wurde, den Header zu setzen?
    lustig, sollte jedoch der apache nicht ich zuständig für sein

    Einen Kommentar schreiben:


  • fireweasel
    antwortet
    Zitat von notyyy Beitrag anzeigen
    Hallo,

    ich bekomme in regelmäßigen Abständen in Flash -> PHP Requests vom Apache Seiten in denen die Content-length nicht gesetzt ist., Firebug zeigt diese als ? an.
    Meintest du:
    Auf der Client-Seite kommen HTTP-Responses an, die serverseitig mit PHP erzeugt wurden und keinen "Content-Length"-Header beinhalten.
    ???

    habt ihr eine Idee warum dies geschieht?
    Weil serverseitig vergessen wurde, den Header zu setzen?

    (Unter der Annahme, dass meine Interpretation deines Posts richtig ist.)

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von notyyy Beitrag anzeigen
    in Flash -> PHP Requests vom Apache Seiten
    In, Pfeil, vom ...?

    Beschreibe bitte mal verständlich, wer was wo von wem anfordert.

    Einen Kommentar schreiben:

Lädt...
X