504 Unsatisfiable Request (only-if-cached)
在使用 okhttp 过程中,有可能会报题错误。其实这个问题很复杂,涉及到很多情况,比如 缓存、Nginx 、okhttp配置。当初碰到此问题时,花费很多时间和精力,太奇怪了。后面直接采用粗暴的做法解决(后面会说)。
出现这种情况一般来说是我们前端配置了缓存,但是后台服务端却没有合理处理缓存请求头。
解法一 Cache-Control
看看 OkHttpClient 的配置,是否配置了缓存。不直接分析 OkHttpClient 的缓存机制,简单说做法,先全局搜索Cache-Control
,看看有没有在头部配置缓存,如果搜到了,找到对应头部,去掉它。
如果没搜索到,再搜索CacheControl.FORCE_CACHE
,看看有没有设置请求缓存,如果有也去掉。也就是说不加缓存,无网不能获取数据,有网都用接口中的数据。
解法二 域名改成IP
因为后台使用Nginx并没有处理我们请求头中的缓存,所以不用域名做地址,用域名映射的IP,这样就不会通过Nginx,直接通过IP+Port请求接口。

未经允许不得转载:老郭种树 » Android Nginx Retrofit+Okhttp.HTTP 504 Unsatisfiable Request (only-if-cached)
最新评论
靠谱,能被我放到每篇文章推广的,是很靠谱才做的。
上面的话费充值靠谱吗
Free adult webcam free. Free registration.Free web cam women
以前好像还用过一个 dapanso.com#0002
vps访问github慢 有办法吗?