我正在考虑在WSGI服务器/应用程序中支持HTTP/1.1 Byte serving:
WSGI PEP 333提到WSGI服务器可以实现字节服务的处理(来自RFC 2616第14.35.2节定义了Accept-Range / Range / Content-Range响应/请求/响应头)并且应用程序应该实现如果宣布能力:
服务器可以传输字节范围 应用程序的响应如果 客户要求的,以及 应用程序本身不支持 字节范围。然而,再次, 应用程序应执行此操作 如果需要,可以自行运作。
我已经执行了一些谷歌搜索,但发现很少有关于哪些可用的WSGI服务器/中间件/应用程序实现Byte-Ranges的信息?有没有人有这方面的经验,可以暗示我进一步挖掘的地方?
编辑:任何人都可以评论,我如何能够提出问题才能找到答案?答案 0 :(得分:3)
我认为webob可以解决这个问题,请参阅file example的结尾,以获得有效搜索所服务文件的范围请求实现。
答案 1 :(得分:0)
您只需使用WebOb并创建响应为Response(conditional_request=True)
或subclass the WebOb Response object,使conditional_request=True
成为默认值。
当conditional_request=True
和请求范围时,WebOb的Response.app_iter_range
将完整的响应包装起来,仅返回请求的范围。
WebOb file serving example显示了如何在不产生整个响应的情况下获得一系列字节的情况下实现自己的app_iter_range
。