Flex从服务器请求文件如何避免缓存
例如,在程序初始化的时候需要从服务器获取该用户的个性化配置文件setting.xml。通常我们会使用URLLoader,直接把该文件的url地址赋给URLRequest然后载入。在运行的过程中,用户修改了一些个性化设置,于是程序把最新的设置提交给服务器,让后台重新生成一个setting.xml替换原来的文件。
但是如果浏览器打开了缓存功能,那么下一次运行程序的时候,当再次请求这个文件,浏览器就会先从本地缓存中找到该文件,而不是从服务器下载最新文件。所以你可能会以为自己上次修改的设置并没有保存下来。
解决的方法是在文件地址后面随便加个参数,例如
"setting.xml?rtp=" + String(Math.random() * 65535)
实际上rtp只是个无意义的随机参数,但这样做可以避免浏览器从缓存里取文件而不是从服务器上重新获取。
同时页面设置:
HTML网页
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
ASP网页
<% Response.Expires = -1 Response.ExpiresAbsolute = Now() - 1 Response.cachecontrol = "no-cache" %>
PHP网页
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");
JSP
response.setHeader("Pragma","No-Cache"); response.setHeader("Cache-Control","No-Cache"); response.setDateHeader("Expires", 0);
C#
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)