Tag: 浏览器缓存

expires_in max-age缓存控制不起作用

我无法让max-age缓存控件正常工作,我使用expires_in导致“Cache-Control:max-age = 86400,public,must-revalidate”标头。 但是,浏览器仍然将请求发送到服务器,至少它被定义为“304 not modified”,这意味着ETag / If-None-Match标头正常工作。 我已经在我的localhost和heroku上用webrick测试了它,使用chrome 45和Safari。 不,我的开发工具没有打开,并且未选中“禁用缓存”。 我也试图删除expires_in方法调用的“,must_revalidate:true”。 我错过了什么? 以下是Chrome中网络的输出: 常规:远程地址:127.0.0.1:3000请求URL: http ://localtest.me:3000 / api / books请求方法:GET状态代码:304未修改 响应标头: Access-Control-Allow-Origin:* Access-Control-Request-Method:* Cache-Control:max-age = 86400,public,must-revalidate Connection:Keep-Alive Date:Tue,08 Sep 2015 13: 28:01 GMT Etag:W /“1f1b2d0b822830bc74e7c47a116205be”服务器:WEBrick / 1.3.1(Ruby / 2.2.1 / 2015-02-26)X-Content-Type-Options:nosniff X-Frame-Options:SAMEORIGIN X-Request -Id:c70d4715-dcff-4558-85af-9d21556d406a X-Runtime:0.553353 X-Xss-Protection:1; 模式=块 请求标题:接受:text / html,application / xhtml + xml,application […]

使用Twitter Bootstrap的Rails:仍在提供旧资产

在这里坚果。 我正在开发一个rails应用程序,我正在使用twitter-bootstrap-rails gem以便在我的应用程序中包含Twitter Bootstrap样式。 这个gem在app / assets / stylesheets中生成一个名为’bootstrap_and_overrides.css.less’的文件,我一直用它来修改一些引导变量并包含我自己的CSS覆盖。 一切都很好,直到今天。 出于某种原因,我今天对此文件所做的更改将保存到文件中,但Rails仍在提供该文件的旧版本! 我搜索过,发现文件中没有任何预编译版本(公共/资产中没有)…只有我修改过的资产/样式表中的那个。 对于应用程序中的目录,一切看起来都很好,但是当我启动rails服务器,加载页面,并使用元素检查器查看样式表时,它使用旧版本的’bootstrap_and_overrides.css.less’我已删除的规则。 我已经在我的浏览器中关闭了缓存,并在4种不同的浏览器中尝试了它,所以我很确定这不是浏览器缓存的结果。 rails资产管道似乎只是服务于一个不存在的文件版本! 有没有人知道为什么会这样?

如何在用户注销后清除浏览器缓存,以防止通过“后退”按钮访问私人信息

用户退出后,如果他们点击后退按钮,他们可以在退出之前返回到他们所在的最后一页。 我正在处理的应用程序通常用于公共计算机(例如图书馆或计算机实验室),我想阻止用户查看以前用户会话中的任何内容。 我正在使用Rails 3和Devise,顺便说一下,虽然看起来这个问题会出现任何框架或登录机制。 解决方案是使用标头/元标记来禁用浏览器缓存吗? 有人知道解决这个问题的gem或教程吗? 期待您的建议。