#http #http2 #spdy
#http #http2 #spdy
Вопрос:
могу ли я использовать принудительный механизм сервера HTTP2 для обновления ресурса, который уже известен клиенту?
Пример:
У меня есть некоторый ресурс под https://myserver.org/myresource.json
, который возвращает {"state": "off"}
Как только состояние изменит форму «выкл.» на «вкл.», я хочу отправить запрос {"state": "on"}
клиенту по тому же URL (т.Е. https://myserver.org/myresource.json
).
Спасибо за вашу поддержку!
Комментарии:
1. Кстати: для тех, кому интересно, почему я спрашиваю: я хотел избавиться от дополнительного канала WebSocket в w3.org/Submission/2016/SUBM-viwi-protocol-20161213
Ответ №1:
Вы можете отправить его, но это только обновит кэш клиентов и ничего не изменит на веб-странице. Для этого вам нужно, чтобы клиент повторно извлек ресурс (через XHR / fetch), который может использовать значение непосредственно из кэша.
Вы можете найти несколько примеров по этому поводу здесь: https://www.igvita.com/2013/06/12/innovating-with-http-2.0-server-push / в главе Клиентские уведомления для принудительного доступа сервера.
Лично я не нашел ему особого применения и предпочел бы отправлять обновленный контент напрямую через websockets или SSE.
Комментарии:
1. Хм .. это немного разочаровывает. Но почему-то я ожидал чего-то подобного, причина этого, безусловно, заключается в его назначении для предварительного кэширования ресурсов для веб-страниц