我在使用 XMySQL 时遇到 Swift 304 错误 - 这是我的解决方案,需要更多建议吗?

问题描述 投票:0回答:0

我在我的服务器上安装了 MySQL,并使用 xmysql 将它连接到 localhost:3000。我使用 Cloudflare 通过 localhost:3000 重定向到我自己的域。是的……它起作用了。然后我在提取数据时开始在 xmysql 上出现 304 错误。到目前为止做得很好,但为什么不起作用?在第 3 个小时结束时我想到问题与缓存有关。我在这里添加解决方案,这样你就不用担心了。

首先,错误 304 是一个“未修改”错误,表示尽管您请求了一个网页或应用程序,但服务器没有将其发送给您。这意味着服务器具有您请求的资源的缓存版本,并且它认为缓存版本仍然是最新的。

遇到这种情况,可以尝试以下步骤使缓存版本失效:

  1. 清除缓存:在尝试再次加载缓存页面之前,必须清除缓存版本。为此,请从 Xcode 的模拟器菜单中选择“重置内容和设置”。这将清除缓存并删除您应用程序的所有缓存版本。

  2. 按应用清除缓存:您可以直接清除应用的缓存版本。例如,您可以使用 URLCache.shared.removeCachedResponse(for: request) 从缓存中删除响应。

  3. 更改请求URL:在请求URL末尾添加随机参数可能会导致服务器停止使用缓存版本。例如,您可以在请求末尾添加一个随机参数,如“?idontusecacheiusecreditcard=123”。

如果你要问其中哪一个有效,第三个有效。这是 Swift 中的代码:

let configuration = URLSessionConfiguration.default configuration.urlCache = nil configuration.requestCachePolicy = .reloadIgnoringLocalCacheData 

let session = URLSession(configuration: configuration) 

let dataTask = session.dataTask(with: url) { (data, response, error) in
mysql swift swiftui httprequest http-status-code-304
© www.soinside.com 2019 - 2024. All rights reserved.