Vi.*_*Vi. 9 python django http-post buffering
客户端将mjpeg流发布为HTTP POST:
POST /feed/testfeed HTTP/1.0
Content-type: multipart/x-mixed-replace; boundary=--myboundary
--myboundary
Content-length: 14179
Content-type: image/jpeg
....JFIF....
....
Run Code Online (Sandbox Code Playgroud)
我看不到Django中的传入数据.request.read(6)
返回空字符串.我添加了假的"content-Length"标题:
POST /feed/testfeed HTTP/1.0
Content-Length: -1
Content-type: multipart/x-mixed-replace; boundary=--myboundary
...
Run Code Online (Sandbox Code Playgroud)
现在它以最大速度读取整个数据.request.read(6)
仅在我中断连接后才返回(包含整个数据,而不仅仅是预期的6个字节).
当我使用"PUT"请求而不是"POST"请求时,行为相同.
如何关闭POST请求的缓冲?
这里有一点猜测(因为你没有解释你如何准确地为网站提供服务),但我认为不是 Django 进行缓冲,而是在它前面的 Web 服务器。是否可以禁用或缓解此问题取决于您实际使用的服务器。
您可能对以下内容感兴趣(对于 Nginx):
基本上看来,使用 Nginx 禁用此行为可能是不可能的(请参阅禁用 nginx 中的请求缓冲)。不确定其他服务器,但那里有很多讨论,所以使用谷歌应该会产生大量信息。
归档时间: |
|
查看次数: |
895 次 |
最近记录: |