10得票3回答
为什么SOAP不能使用HTTP缓存机制

我正在从SOAP转向REST,我想说服我的同事这是一个明智的举动。对于我们来说,SOAP提供额外的安全机制是不必要的。多年来,SOAP和WSDL带来的额外开销只会给我们带来麻烦。 除了明显的简化之外,对于我们的系统而言,真正有价值的优点是HTTP缓存机制。我已经阅读了有关此主题的文章,但我仍...

9得票2回答
Retrofit:服务器同时返回ETag和Cache-Control: max-age=60,如果请求时间小于60秒,缓存是否应该被使用?

我正在使用配置为带缓存的OkHttp的Retrofit。我调用了这个API:https://api.github.com/users/bod/repos,它返回了一个Etag和Cache-Control: public, max-age=60, s-maxage=60头部。 我进行了两次请求...

9得票2回答
如何在使用 Retrofit 时避免解析服务器返回的相同响应?

我曾经在处理服务器响应时,通过计算响应的哈希值来避免重复解析 未发生改变 的响应: public class HttpClient { protected OkHttpClient mClient = new OkHttpClient(); public String g...

9得票1回答
Varnish + 静态 HTML 页面

我最近了解到一个名为Varnish的http网站加速器。根据我所读的内容,Varnish通过使用反向代理配置,优化与HTTP服务器的每个通信进程,从而加快了网站的交付速度。 我的问题是,如果您有一个已配置其缓存机制直至静态html文件的网站,那么Varnish会对此产生多大影响?反向代理是否...

9得票2回答
显式禁用REST服务的缓存

我需要将Cache-Control: must-revalidate,no-cache,no-store应用于我们后端REST服务的所有响应。我有两个问题: 这样做常见吗?出于某种原因,我认为这并不必要,但我没有任何来源来支持我的说法。 我提到的值是否足够?或者我应该设置更多? 编辑:...

9得票1回答
Service worker缓存与HTTP缓存的区别

我在几个生产网站中禁用了服务工作者,当我使用Chrome开发工具(Network选项卡)进行调试时,我可以看到使用HTTP缓存(从磁盘缓存和内存缓存)比使用服务工作者(从serviceworker)在资源加载时间方面表现更好。 我完全同意服务工作者在缓存管理和离线使用方面提供了更好的控制。 ...

9得票3回答
为什么有些 CSS、JS 和图像文件会从磁盘缓存加载,而其他的不会呢?

我正在运行启用了缓存插件的WP网站。 网站运行缓慢,因此我决定检查哪个元素需要更多时间来加载。 直接打开F12(Chrome Web工具),然后进入Network选项卡。 我看到的是一些文件从磁盘缓存中加载,而另一些则没有。 请参见附图(列“大小”)。 如果你知道答案,请分享一下。 谢...

9得票3回答
在安卓中,Retrofit+Okhttp是否默认使用HTTP缓存?

我在我们的一个应用程序中使用了Retrofit和Okhttp。 我实际上找不到有关Retrofit默认行为的好解释。 如果Okhttp在类路径上,它将自动使用。但据我所见,默认的HttpResponseCache为空。 我需要显式地使用Retrofit和Okhttp启用缓存吗?

9得票1回答
Etags和last-modified在https SSL上如何使用?

能否在安全的HTTPS连接上使用HTTP缓存进行有条件的GET请求?我已经让缓存在非安全的HTTP上运行,但是当我切换到HTTPS时,浏览器停止发送if-none-match和if-modified-since头,因此缓存被破坏了。我尝试了各种Cache-Control设置,如public、m...

9得票3回答
使用`Cache-Control: public, s-maxage=0`可以在nginx缓存后立即过期/重新验证。

我希望使用HTTP代理(如nginx)来缓存大型/昂贵的请求。对于任何已授权的用户,这些资源都是相同的,但它们的身份验证/授权需要在每个请求上由后端进行检查。 听起来像是使用Cache-Control: public, max-age=0以及nginx指令proxy_cache_revali...