标签: browser-cache

Webpack,为什么我们需要哈希来有效地缓存文件?

来自https://webpack.github.io/docs/long-term-caching.html

第一段说

为了有效地缓存您的文件,它们的 URL 中应该有一个哈希值或版本。

URL 中的哈希/版本使浏览器能够长期缓存文件的目的是什么?

browser-cache webpack

2
推荐指数
1
解决办法
909
查看次数

防止用户在 asp.net mvc 中注销后返回

我已尝试了所有可能的方法来防止用户注销后返回。但没有一个奏效。我试过 -

\n\n
Response.ClearHeaders();\n\nResponse.Cache.SetAllowResponseInBrowserHistory(false);\nResponse.Cache.SetCacheability(HttpCacheability.NoCache);\nResponse.Cache.SetNoStore();\nResponse.Cache.SetRevalidation(HttpCacheRevalidation.AllCach\xe2\x80\x8c\xe2\x80\x8bes);\n\nResponse.AppendHeader("Cache-Control", "no-cache"); \nResponse.AppendHeader("Cache-Control", "private"); \nResponse.AppendHeader("Cache-Control", "no-store"); \nResponse.AppendHeader("Cache-Control", "must-revalidate"); \nResponse.AppendHeader("Cache-Control", "max-stale=0");  \nResponse.AppendHeader("Cache-Control", "post-check=0"); \nResponse.AppendHeader("Cache-Control", "pre-check=0");  \nResponse.AppendHeader("Pragma", "no-cache"); \nResponse.AppendHeader("Expires", "Mon, 26 Jul 2000 05:00:00 GMT"); \n\nResponse.Cache.SetCacheability(HttpCacheability.NoCache);  \nResponse.Cache.AppendCacheExtension("no-store, must-revalidate");\nResponse.AppendHeader("Pragma", "no-cache"); \nResponse.AppendHeader("Expires", "0"); \n
Run Code Online (Sandbox Code Playgroud)\n\n

我在 chrome (v.56) 上进行了测试。上面的代码不能阻止用户注销后返回。

\n\n

任何想法??

\n

asp.net-mvc caching browser-cache

2
推荐指数
1
解决办法
4417
查看次数

当您将版本/哈希添加到 Service Worker 文件时会发生什么?

我认为通过在服务工作线程的文件名中添加版本字符串来使用缓存清除是一个坏主意。任何教程中都从未提到过这一点,而且我也从未在野外见过这种方法。

您应该使用Service Worker 文件的响应标头中的no-cache指令max-age字段。

但由于我没有找到关于此方法的专门声明,我尝试了一下,似乎如果您更改服务工作人员文件,就很难摆脱旧的文件。所以我可以在开发工具的源选项卡中看到这两个文件。

来源:两个 SW 文件

但是您不会立即在应用程序选项卡中看到新的服务工作人员,所以我不确定是什么阻碍了新的软件负责以及它实际上在等待什么。

新软件(已重命名!)等待安装

有谁知道浏览器通常如何处理这种情况?

browser-cache service-worker

2
推荐指数
1
解决办法
2263
查看次数

在 firebase 中缓存

我的应用程序托管在 firebase 中,并使用云函数从第三方 API 获取数据。该云函数是 HTTP 触发的,并在客户端请求数据时运行。我想减少云函数调用(因为它目前在 Blaze 计划中),因此考虑在我的应用程序中添加缓存。

  1. 我可以在客户端(Web 浏览器)和服务器端(Node.js)上使用哪些缓存策略?
  2. 总的来说,我希望减少云函数调用以最小化成本,以便在每个客户端请求时,不需要调用云函数,而是客户端可以从缓存中获取数据。
  3. 我是否应该使用 firebase 实时数据库来存储来自第三方 API 的数据,并在一段时间内在 firebase 中更新它,以便数据是最新的?第三方端的数据不经常变化。
  4. 从实时数据库获取数据(如上面第3点所述)而不是云函数调用最终是否会降低成本?

browser-cache firebase firebase-realtime-database google-cloud-functions

2
推荐指数
1
解决办法
1295
查看次数

NestJs 中的 @Header('Cache-Control')

我有一个 NestJS REST api,并注意到 Cache-Control 标头未发送。我不确定我是否错过了 NestJS 的某些内容,但询问 google 如何使用 NestJS 缓存 REST API 获取响应只会引导我找到 NestJs 缓存管理器,该管理器位于内存缓存中的服务器上。所以我有几个问题:

  1. 缓存 REST API 数据响应不是很常见吗
  2. 我应该明确设置 @Header('Cache-Control', '..?')
  3. 也许在客户端缓存更好?(我知道数据有效性 - 数据不会改变我说的是文章)

感谢您的回答

caching browser-cache nestjs

2
推荐指数
1
解决办法
4686
查看次数

Speedtest高优先级:启用浏览器缓存

我正在使用Magento 1.7,我最近将我的商店改为新的云计算主机.为了检查我的商店表现,我运行了几个pagespeed测试.每个结果都给了我相同的高优先级:启用浏览器缓存!

到目前为止,我已经在System - > Cache中激活了每个缓存.所以我不知道为什么我的商店不使用浏览器缓存.

通过切换到新的Hoster,我删除了存储在/var目录中的文件.在将Magento商店切换到服务器的简短教程中提到了这一点.

有谁知道如何解决这个问题?

谢谢!

caching magento browser-cache e-commerce

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

no-cache不能与require.js一起使用

我在下面 <head>

.css不会被缓存,每次刷新都会加载新的.css.但是由于我使用Backbone.jsRequire.js,模块仍然被缓存.我还没有使用优化器.我将文件上传到Apache服务器并直接运行html/js.

我怎样才能消除这里的缓存?谢谢.

html css browser-cache requirejs backbone.js

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

未捕获的ReferenceError:未定义check_url

我刚刚选择了一个有大量javascript问题的项目,我已经能够解决所有这些问题,除了以下内容.加载此网站中的网页时,我会在Chrome控制台中不断收到以下错误消息.

"未捕获的ReferenceError:未定义check_url"

在此输入图像描述

我搜索了整个解决方案的"check_url",并且字母组合在任何地方都不存在,即使在我所包含的第三方文件(jQuery,jQuery Mobile)中也是如此.

这可能与我使用应用程序缓存来缓存我的页面这一事实有关吗?

任何帮助将不胜感激.

谢谢!

javascript browser-cache

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

如何在Mac上清除Excel 2016任务窗格加载项的客户端浏览器缓存?

这是前一个问题的后续问题,其中"我如何确保在任务窗格加载项中看到最新的JS代码"的答案涉及通过服务器添加的元/无缓存标记控制客户端缓存行为(或版本化服务器资源).

但是,我正在寻找一种在客户端上的手动方式,以便最终用户清除似乎存储JavaScript文件的客户端缓存,并防止服务器上的更新JS文件被任务窗口添加使用-在.在开发过程中,我将经常在服务器上更新JS资源,我正在寻找允许使用这些更新文件的客户端解决方案.

环境:在Mac上运行的Excel 2016桌面版(OSX 10.11.5)使用Excel/Office.js v1.2的任务窗格加载项.

场景:将加载项工件部署到Web服务器,在Mac上运行加载项.然后在加载项中更新foo.js中的代码,重新部署到Web服务器.运行加载项并查看foo.js中的旧(更新前)行为.

我尝试过的:

  1. 在同一台Mac上,直接从Safari中的Web应用程序加载foo.js.我可以看到js代码中我希望在更新版本中的更改.

  2. 清除Safari缓存(隐私>删除所有网站数据)(我怀疑这不会基于#1 - Safari似乎与Excel共享缓存但值得一试) - 没有改变任何东西.

  3. 在〜/ Library/Containers/com.microsoft.Excel下试图找到一个缓存 - 删除〜/ Library/Containers/com.microsoft.Excel/Data/Library/Caches/com.microsoft.Excel - 没有帮助.

  4. 使用任务窗格上下文菜单中的重新加载菜单项(看起来像Mac上的[i]) - 没有区别:仍然看到旧的foo.js.

存储了Excel(桌面)2016任务窗格加载项引用的JavaScript文件在哪里?(在Mac上)以及最终用户如何删除它们?

macos excel office-addins browser-cache office-js

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

如何在Protractor中清除浏览器缓存

在我的一个场景中,我需要清除浏览器缓存.我尝试了下面的一个,但它不会工作.

 browser.driver.manage().deleteAllCookies();
 browser.executeScript('window.sessionStorage.clear();');
 browser.executeScript('window.localStorage.clear();');
Run Code Online (Sandbox Code Playgroud)

谁可以帮我这个事?

browser-cache selenium-webdriver protractor

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