Wie kann ich Django sagen, dass es die HTTP POST-Daten nicht puffern soll?

9

Der Client sendet mjpeg stream als HTTP POST:

%Vor%

Ich sehe überhaupt keine eingehenden Daten in Django. request.read(6) gibt eine leere Zeichenfolge zurück. Ich füge gefälschte "content-Length" Header hinzu:

%Vor%

Jetzt liest es die gesamten Daten mit maximaler Geschwindigkeit. request.read(6) gibt (mit den ganzen Daten, nicht nur erwarteten 6 Bytes) nur zurück, nachdem ich die Verbindung unterbrochen habe.

Das gleiche Verhalten ist, wenn ich "PUT" anstelle von "POST" benutze.

Wie wird die Pufferung der POST-Anfrage ausgeschaltet?

    
Vi. 05.07.2011, 18:27
quelle

1 Antwort

1

Es ist ein bisschen eine Vermutung hier (weil Sie nicht erklärt haben, wie Sie die Website genau bedienen), aber ich würde denken, dass es nicht Django ist, der die Pufferung tut, aber ein Web-Server davor. Ob dies deaktiviert oder abgeschwächt werden kann, hängt vom Server ab, den Sie tatsächlich verwenden.

Vielleicht interessieren Sie sich für Folgendes (im Fall von Nginx):

Grundsätzlich scheint es, dass mit Nginx deaktivieren dieses Verhalten möglicherweise nicht möglich ist (siehe deaktivieren Puffer Pufferung in nginx ). Ich bin mir nicht sicher über andere Server, aber es gibt viele Diskussionen da draußen, also sollte Google viele Informationen liefern.

    
kgr 17.03.2013 12:25
quelle

Tags und Links