相关疑难解决方法(0)

如何在所有浏览器中控制网页缓存?

我们的调查向我们表明,并非所有浏览器都以统一的方式尊重http缓存指令.

出于安全原因,我们不希望在我们的应用程序某些网页缓存,有史以来,通过Web浏览器.这必须至少适用于以下浏览器:

  • Internet Explorer 6+
  • Firefox 1.5+
  • Safari 3+
  • Opera 9+

我们的要求来自安全测试.从我们的网站注销后,您可以按后退按钮查看缓存页面.

https caching http http-headers

1474
推荐指数
17
解决办法
88万
查看次数

使用属性阻止ASP.NET MVC中的缓存以执行特定操作

我有一个ASP.NET MVC 3应用程序.此应用程序通过JQuery请求记录.JQuery回调一个以JSON格式返回结果的控制器动作.我无法证明这一点,但我担心我的数据可能会被缓存.

我只希望将缓存应用于特定操作,而不是所有操作.

是否有一个属性可以放在一个动作上以确保数据不会被缓存?如果没有,我如何确保浏览器每次都获得一组新记录而不是缓存集?

.net c# asp.net-mvc jquery asp.net-mvc-3

186
推荐指数
5
解决办法
16万
查看次数

为什么在HTTP响应中应该使用no-cache和no-store?

我被告知要防止用户信息泄露,只有"无缓存"的响应是不够的."无商店"也是必要的.

Cache-Control: no-cache, no-store
Run Code Online (Sandbox Code Playgroud)

在阅读本规范http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html后,我仍然不太清楚为什么.

我目前的理解是它只适用于中间缓存服务器.即使"无缓存"作为响应,中间缓存服务器仍然可以将内容保存到非易失性存储.中间缓存服务器将决定是否使用保存的内容进行后续请求.但是,如果响应中存在"no-store",则不应该在中间缓存服务器上存储内容.所以,它更安全.

还有其他原因我们需要"无缓存"和"无商店"吗?

caching http no-cache

115
推荐指数
8
解决办法
15万
查看次数

@ font-face EOT未通过HTTPS加载

摘要

我在IE 7,8,9中通过HTTPS使用@ font-face遇到了一个问题 - 它根本就没有加载.包含HTML页面是否托管在HTTPS上并不重要,当我尝试通过HTTP加载EOT字体时,它不起作用.有没有人见过这种行为?

托管该字体的服务器正在发送正确的content-type ="application/vnd.ms-fontobject"

我尝试了多种字体,因此它并不特定于字体.

字体是在Font Squirrel上生成的

CSS语法

@font-face {
font-family: 'GothamCondensedBold';
src:url('path/to/fontgothmbcd-webfont.eot');
src:url('path/to/fontgothmbcd-webfont.eot?#iefix') format('embedded-opentype'),
    url('path/to/fontgothmbcd-webfont.woff') format('woff'),
    url('path/to/fontgothmbcd-webfont.ttf') format('truetype'),
    url('path/to/fontgothmbcd-webfont.svg#GothamCondensedBold') format('svg');
font-weight: normal;
font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

样本页面

http://gregnettles.net/dev/font-face-test.html

css https internet-explorer font-face

50
推荐指数
3
解决办法
5万
查看次数

IE8(+ win7)无法下载HTTP标头中包含no-cache的文件

我发现特定的客户端(win7 + IE8)无法下载文件(PDF文件)

其中包含Cache-Control: HTTP头中的无缓存 ;

http://www.doosan.com/doosaniv/download.do?path=product&sav=225806754671.pdf&ori=d70s-5_plus.pdf&dir=20110630

在此输入图像描述

但如果标题包含Cache-Control:no-cache ="set-cookie,则下载没有问题.

http://www.doosan.com/doosaniv/download.do?path=product&sav=225515770296.pdf&ori=d18s-5.pdf&dir=20110630

在此输入图像描述

并且..在第一种情况下,如果我以管理员身份运行IE8,下载没问题.(注意我在win7中以管理员身份登录.这很奇怪..)

我建立了一个博客,它说SSL和无缓存.我认为这是相似但不同的问题.

谢谢.

download internet-explorer-8

11
推荐指数
1
解决办法
6415
查看次数

IE8:Internet Explorer无法打开此Internet站点.请求的网站不可用或无法找到

这应该是关于IE8下载问题的老问题.我使用PHP来设置响应头像:

header("Pragma: public");
header("Expires: 0"); 
header("Content-type: application/octet-stream");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: ".strlen($content));
header("Content-Disposition: attachment; filename='$filename'");
Run Code Online (Sandbox Code Playgroud)

并且连接被Fiddler捕获.

当我尝试在IE8(而不是SSL)中下载带有上述标题的文件时,消息框:

"Internet Explorer无法打开此Internet站点.请求的站点不可用或无法找到." 弹出并下载停止.

我在网上搜索并尝试了很多解决方案,但似乎没有一个可行.这个问题还有其他解决办法吗?

PS:我试过:删除标题中的响应标题/重置contentType /将网站添加到受信任的站点/设置"不将加密的页面保存到磁盘"为true.

谢谢.

internet-explorer-8

8
推荐指数
2
解决办法
2万
查看次数

如何撤消Response.Cache.SetNoStore()?

我有一个CMS应用程序代码,该代码调用Response.Cache.SetNoStore()所有请求,如果我是对的,这将防止代理/ cdn缓存那些页面/内容。因此,我有条件地调用以下代码:

Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetMaxAge(new TimeSpan(0, 30, 0));
Response.Cache.SetValidUntilExpires(true);
Run Code Online (Sandbox Code Playgroud)

但这不会从响应标头中删除无存储参数,这是返回的http标头:

Cache-Control:public, no-store, must-revalidate, max-age=1800
Run Code Online (Sandbox Code Playgroud)

因此,我的问题是,我该如何实用地删除nostore参数?如果这不可能,那么我如何/在哪里解析/修改http-header,因为我尝试在PagePreRender事件上进行解析并且没有应用nostore参数...这使人怀疑这是哪个生命周期附加到标题?

c# asp.net iis caching cache-control

5
推荐指数
1
解决办法
1330
查看次数