如何在不与服务器通信的情况下阻止 WKWebView 中的 304 请求加载缓存图像?
How do I block 304 request in WKWebView to load cached images without communicating with the server?
所以我正在开发一个基于 WKWebView 的 iOS 应用程序。它由 Cordova 生成。我的问题是,每次我从服务器加载图像时,它都可能很慢,因为与服务器的连接有时真的很慢。
我尝试将图像保存到缓存中,但有时它仍然会很慢,因为我在控制台中发现我的 WKWebView 仍将与服务器 (304) 通信以验证我缓存图像的版本。
有什么方法可以阻止 304 请求并直接加载缓存的图像吗?
我相信 WKWebView 应该自动(或者更确切地说默认情况下)利用 HTTP header 中的缓存提示。您需要 set-up/increase 在您的服务器上利用浏览器缓存。如何执行此操作取决于您使用的服务器,但通常很容易执行。使用 Apache Web 服务器,您需要将服务器配置(通常位于 /etc/httpd/conf/httpd.conf)编辑为 Include conf/extra/httpd-leverage-cacheing.conf
,并根据需要编辑 sub-config 文件。通常,图像可以使用 1 到 4 周,具体取决于它们的更改频率。
所以我通过更改为 linux 服务器而不是节点服务器来解决这个滞后问题。就是这样哈哈
所以我正在开发一个基于 WKWebView 的 iOS 应用程序。它由 Cordova 生成。我的问题是,每次我从服务器加载图像时,它都可能很慢,因为与服务器的连接有时真的很慢。 我尝试将图像保存到缓存中,但有时它仍然会很慢,因为我在控制台中发现我的 WKWebView 仍将与服务器 (304) 通信以验证我缓存图像的版本。 有什么方法可以阻止 304 请求并直接加载缓存的图像吗?
我相信 WKWebView 应该自动(或者更确切地说默认情况下)利用 HTTP header 中的缓存提示。您需要 set-up/increase 在您的服务器上利用浏览器缓存。如何执行此操作取决于您使用的服务器,但通常很容易执行。使用 Apache Web 服务器,您需要将服务器配置(通常位于 /etc/httpd/conf/httpd.conf)编辑为 Include conf/extra/httpd-leverage-cacheing.conf
,并根据需要编辑 sub-config 文件。通常,图像可以使用 1 到 4 周,具体取决于它们的更改频率。
所以我通过更改为 linux 服务器而不是节点服务器来解决这个滞后问题。就是这样哈哈