python - 请求 URL 后推送数据

标签 python wsgi

鉴于,当用户在我的服务器上请求 /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/

相关文章:

python - 属性错误 : 'Pipeline' object has no attribute '_transfer_param_map_to_java'

python - 如何让 py.test 识别子目录中的 conftest.py?

python - 我在哪里可以找到一个高质量的 python 音乐库,它可以播放不是 pygame 的 OGG、ACC 和/或 MP3?

python - uWSGI 与切诺基 : first steps

firebird - 带 Pyramid 的独立 web2py-DAL - 请求、线程和内存

python - PythonAnywhere 上 Flask 的日志记录格式

python - 如何将杂乱的字典扁平化为列表?

python - 启动 Python 进程后 wait() 返回 -1,errno=10

python - Flask 不从新的 sql 数据更新数据 - Nginx、Uwsgi、Centos7、Mysql

python - Apache 子进程在分配一个巨大的 block 后不释放内存