При использовании сервера отправляются события, браузер кэширует предыдущие данные. Как предотвратить кеширование в браузере
Мой код показан ниже. Я использую антуражную колбу с питоном.
def testing():
message = "hai"
yield 'data: %s\n\n' % message
@app.route('/stream')
def stream():
return flask.Response(testing(),mimetype="text/event-stream")
1 ответ
Вы можете сделать это на стороне клиента или сервера, вот как:
На стороне клиента (в браузере) проще всего было бы привязать параметр запроса к вашему запросу, т.е.
$http.get('/stream?b=123456');
где 123456 - случайная строка, может быть отметкой времени в миллисекундах. Случайный параметр заставит браузер переслать запрос и не использовать его кеш.
ИЛИ на стороне сервера, вы бы отправили специальные заголовки контроля кэша:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
Любой из них должен сработать, просто убедитесь, что вы правильно реализовали его на языке, который вы используете.