【问题标题】:Does OkHttp support HTTP/2 server push?OkHttp 是否支持 HTTP/2 服务器推送?
【发布时间】:2017-03-04 09:23:08
【问题描述】:

我正在使用 OkHttp 库和 HTTP/2 开发一个 Android 视频流应用程序。我正在研究使用 HTTP/2 协议的服务器推送功能的可能性,但我不确定 OkHttp 是否支持。

我有一个基本的服务器实现来测试 HTTP/2 推送,它在 chrome 浏览器上运行没有问题(即,推送的内容存储在缓存中并由浏览器从缓存中检索)。当我使用带有 OkHttp 库的 Android 应用程序时,不再将内容推送到客户端的缓存中(顺便说一下,它已初始化并正常工作)。特别是,对于服务器想要推送的每个内容,客户端都会向服务器发送一个重置流。

你知道 OkHttp 是否支持推送流吗?如果它确实支持服务器推送,是否有使其工作的最佳实践?提前感谢您的回答。

【问题讨论】:

    标签: http2 okhttp3 server-push okhttp


    【解决方案1】:

    目前没有。我们是rewriting 缓存持久性,这是一个很大的努力。如果您想阅读内部信息,则有回调,但它们目前只是取消推送的流。

    【讨论】:

    • 感谢您的回答。所以推送在任何情况下都不起作用?为了避免混淆,我想指出,在文档中,服务器推送被指定为受支持的功能 (square.github.io/okhttp/2.x/okhttp/index.html?com/squareup/…)。
    • 您对该文档的阅读过多。那只是想告诉你什么是 HTTP/2。
    • 我明白了,谢谢!我可以通过创建自定义“PushObserver”类来使用服务器推送。再次感谢您的建议。
    • 听起来不错。仅供参考,internal 子包中的所有内容都是不稳定的非公共 API。访问这些 API 需要您自担风险。
    • 嘿,Jesse,你知道服务器推送功能是否是 OKHttp 现在完全支持的吗?还是以前的答案仍然准确?提前致谢!
    猜你喜欢
    • 2016-02-05
    • 2011-05-22
    • 2013-01-14
    • 2011-06-07
    • 2017-09-22
    • 2017-09-06
    • 2016-06-14
    • 2017-05-20
    • 2015-06-03
    相关资源
    最近更新 更多