Tôi đã có một cái nhìn như sau:Truyền HTTP response, đỏ bừng chuyển sang trình duyệt
from django.views.decorators.http import condition
def stream():
for i in range(0, 40):
yield " " * 1024
yield "%d" % i
time.sleep(1)
@condition(etag_func=None):
def view(request):
return HttpResponse(stream(), mimetype='text/html')
Tuy nhiên, nó chắc chắn có vẻ không được streaming ở tất cả. Tất cả các dữ liệu được bán cùng một lúc, cuối cùng, sau khoảng 40 giây. Làm thế nào tôi có thể làm cho nó tuôn ra một cách chính xác?
liên quan: http://stackoverflow.com/questions/2922874/how-to-stream-an-httpresponse-with-django – miku
Vâng, đó là nơi tôi có ý tưởng mã để thử, tuy nhiên, nó không có vẻ để làm việc cho tôi. Không chắc tôi đang làm gì sai ở đây. – synic
Những gì bạn đang làm là hoàn toàn không tiêu chuẩn và chỉ có một phép lạ xảy ra vì các chi tiết về cách một số trình duyệt thực hiện http. Tôi muốn nói, hãy thử nó với một loạt các trình duyệt và số lượng khác nhau của khoảng trắng .. Cuối cùng, bạn có thể sẽ tìm thấy một lỗ hổng bảo mật khai thác từ xa. –