簡體   English   中英

Android WebView不緩存HTTPS內容

[英]Android WebView not caching HTTPS content

我有一個單頁webapp,它顯示在Android WebView(Android Jelly Bean)中。 這是一個不錯的大小,所以我想盡可能多地利用緩存。

如果應用程序通過HTTP提供,則緩存填充到大約8兆,並且在應用程序重新啟動時,Web內容幾乎立即從緩存加載(未觀察到網絡流量)。

但是,如果應用程序是通過HTTPS提供的,則只使用一小部分緩存(幾百K),並且在應用程序重新啟動時,將再次從服務器請求所有Web資產(JS / CSS等)。 由於我沒有root設備且文件看起來已被重命名(例如webviewCacheChromium / data_0等),因此很難確切地看到正在緩存的文件。

我嘗試設置'Cache-Control:max-age'響應標頭(因為我相信這可以強制在舊瀏覽器中使用https緩存),但它沒有任何區別。

我找不到任何暗示WebView默認不會緩存https內容的內容。 我相信大多數現代瀏覽器都是這樣的 - 我希望Android WebView能夠做到這一點。

我在這里錯過了什么嗎? 是否需要告知WebView緩存https內容?

提前致謝,

尼爾。

排序問題。

萬一以后任何人都會遇到同樣的問題....

由於SSL錯誤(不幸的是,它被應用程序中的其他地方吞沒)導致應用程序未正確緩存。 基本上,如果您沒有正確設置SSL證書,您將看到這一點。

要檢查此擴展WebViewClient.onReceivedSslError()並記錄任何錯誤。

我們有兩個不同的錯誤,因為我們的SSL證書沒有正確設置 - 一旦修復,應用程序就會按預期緩存。

希望這可以節省一些人經歷的浪費時間:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM