鉴于,当用户在我的服务器上请求 /foo
时,我发送以下 HTTP 响应(不关闭连接):
Content-Type: multipart/x-mixed-replace; boundary=-----------------------
-----------------------
Content-Type: text/html
<a href="/bar">foo</a>
当用户转到 /bar
(这将发送 204 No Content
所以 View 不会改变),我想在初始发送以下数据响应。
-----------------------
Content-Type: text/html
bar
我如何从初始响应中获得触发此请求的第二个请求?我正计划可能创建一个奇特的 [支持 multipart/x-mixed-replace 的引擎(目前只有 Gecko)]-仅电子邮件 webapp,它可以在没有任何 JavaScript 的情况下执行服务器推送和 Ajax 效果,只是为了好玩。
最佳答案
没有完整的答案,但是:
在您的问题中,您描述了一个 Comet式建筑。关于 Python/WSGI 中 cometd 式技术的支持,有一个 StackOverflow question ,其中讨论了支持长时间运行请求的各种 Python 服务器,例如 Comet。
同样有趣的是 Python Web-SIG 中的这个邮件线程:"Could WSGI handle Asynchronous response?" . 2008 年 5 月,Web-SIG 对 asynchronous requests in WSGI 的主题进行了广泛讨论。 .
最近的发展是evserver ,一个轻量级的 WSGI 服务器,它实现了 Asynchronous WSGI extension由 Christopher Stawarz 于 2008 年 5 月在 Web-SIG 中提出。
最后,Tornado web server支持non-blocking asynchronous requests .它有一个使用长轮询的聊天示例应用程序,这与您的要求有相似之处。
关于python - 请求 URL 后推送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576715/