通过 https 有选择地缓存 .js 和 .png 文件?

发布于 2024-08-12 01:39:11 字数 168 浏览 6 评论 0原文

我们正在 ASP.NET 中创建一个大型安全后台 Web 应用程序。对站点的所有访问都是通过 https 连接进行的,我们希望关闭页面缓存或将缓存设置为快速过期。

然而,该网站使用了相当多的图像和较大的 JavaScript 文件/库。有没有办法有选择地缓存某些文件或文件类型,这样它们就不会一直重新加载?

We are creating a large secure back office web application in ASP.NET. All access to the site is over https connections, and we'd like to either turn off caching for pages or set caches to expire quickly.

However, the site uses quite a few images and largish javascript files/libraries. Is there a way to selectively cache certain files or file types so they are not being reloaded all the time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

末が日狂欢 2024-08-19 01:39:11

请查看以下标题:

  • Expires: Mon, 23 Nov 2009 07:30:00 GMT
  • Cache-Control: public, max-age=86400

您应该阅读或浏览 在 HTTP 中缓存

使用 ASP.NET MVC,您需要使用 OutputCacheAttribute。例如:

[OutputCache(Duration = 24*60*60)] // Cached for 1 day
public ActionResult Index() { return View(); }

在 ASP.NET 中,您可以使用 OutputCache 指令你的 aspx 文件:

<%@ OutputCache Duration="86400" %>

Please look into headers of the sort:

  • Expires: Mon, 23 Nov 2009 07:30:00 GMT
  • Cache-Control: public, max-age=86400

You should read, or skim, Caching in HTTP.

With ASP.NET MVC, you will want to adorn your controller actions with the OutputCacheAttribute. For example:

[OutputCache(Duration = 24*60*60)] // Cached for 1 day
public ActionResult Index() { return View(); }

In ASP.NET you can use the OutputCache directive in your aspx file:

<%@ OutputCache Duration="86400" %>
鹿港巷口少年归 2024-08-19 01:39:11

经过一些额外的谷歌搜索后,看起来我可能只需要在我的脚本和图像文件夹(以及我想缓存的任何其他文件夹)中创建一个 web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
     <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
     </staticContent>
  </system.webServer>
</configuration>

这看起来正确吗?我错过了什么吗?

After some additional Googling, it looks like I might just need to create a web.config in my Scripts and Images folders (and any others I'd like to cache):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
     <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
     </staticContent>
  </system.webServer>
</configuration>

Does this seem right? Did I miss something?

别低头,皇冠会掉 2024-08-19 01:39:11

您需要使用“远期到期”模式。在不使用输出缓存的情况下,您可以按照以下方法进行操作。 (我个人认为这看起来比输出缓存更好。)

HttpContext.Response.ExpiresAbsolute = DateTime.Now.AddYears(5);

当然,您可以将 DateTime 更改为您想要的任何内容。

You need to use the "far future expire" pattern. Without using output cache, here's how you can do it. (Personally I think this looks nicer than output caching.)

HttpContext.Response.ExpiresAbsolute = DateTime.Now.AddYears(5);

Of course you can change the DateTime to whatever you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文