2009-02-23 25 views
5

Tôi đang tìm vào hỗ trợ HTTP/1.1 Byte serving trong WSGI máy chủ/Đơn đề nghị:WSGI byte dao động phục vụ

  • nối lại tải phần
  • đa phần tải
  • tốt hơn luồng

WSGI PEP 333 đề cập đến rằng máy chủ WSGI có thể thực hiện việc xử lý việc phân phát byte (từ mục RFC 2616 phần 14.35.2 xác định phản hồi Phạm vi/Phạm vi/Phạm vi đáp ứng/yêu cầu/phản hồi h eaders) và ứng dụng nên thực hiện nó nếu thông báo khả năng:

Một máy chủ có thể truyền dãy byte của phản ứng của ứng dụng nếu theo yêu cầu của khách hàng, và các ứng dụng không natively hỗ trợ byte dãy. Tuy nhiên, một lần nữa, ứng dụng sẽ tự thực hiện chức năng này nếu muốn.

Tôi đã thực hiện một số Googling nhưng tìm thấy rất ít thông tin về các máy chủ/phần mềm trung gian/ứng dụng WSGI có sẵn nào thực hiện Byte-Ranges? Có ai có một kinh nghiệm trong lĩnh vực này và có thể gợi ý cho tôi nơi để đào sâu hơn?

EDIT: Bất kỳ ai có thể nhận xét, làm thế nào tôi có thể nâng cao câu hỏi để có thể tìm thấy câu trả lời?

+0

Nếu bạn không có may mắn ở đây, hãy thử http://mail.python.org/mailman/listinfo/web-sig. Cá nhân tôi không cảm thấy phạm vi byte và wsgi phù hợp với nhau. – Constantin

+0

Sẽ làm. Tôi thậm chí đã chuẩn bị bài đăng trong Bản nháp của mình, chờ một hoặc hai ngày để xem có câu trả lời nào ở đây không. – myroslav

Trả lời

3

Tôi nghĩ rằng webob có thể thực hiện thủ thuật, xem phần cuối của file example để thực hiện yêu cầu phạm vi có hiệu quả tìm kiếm vào tệp đang được phân phối.

0

Bạn chỉ cần sử dụng WebOb và tạo phản hồi là Response(conditional_request=True) hoặc subclass the WebOb Response object làm cho conditional_request=True làm mặc định.

Khi conditional_request=True và yêu cầu được yêu cầu cho một phạm vi, số Response.app_iter_range của WebOb sẽ hoàn thành phản hồi hoàn chỉnh để chỉ trả lại phạm vi được yêu cầu.

WebOb file serving example cho biết cách bạn sẽ triển khai app_iter_range của riêng mình cho các trường hợp thiết thực để nhận phạm vi byte mà không tạo ra toàn bộ phản hồi.

Các vấn đề liên quan