使用服务器发送事件浏览器缓存以前的数据时.如何防止浏览器缓存



我的代码显示下面。我正在使用pythoneve flask angularjs。

def testing():
    message = "hai"
    yield 'data: %snn' % message

@app.route('/stream')
def stream():
    return flask.Response(testing(),mimetype="text/event-stream")

您可以在客户端或服务器端执行此操作,方法如下:

在客户端(浏览器),最简单的方法是将查询参数附加到您的请求中,即

$http.get('/stream?b=123456');

其中123456是随机字符串,可以是以毫秒为单位的时间戳。随机参数将强制浏览器重新发送请求而不使用其缓存。

或者在服务器端,您将发送特殊的缓存控制标头:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

这些中的任何一个都应该可以解决问题,只要确保您使用的语言正确实现它即可。

最新更新