Tag: caching控制

Angular应用程序客户端caching

问题 我们使用Angular.js来处理从Express服务器提供的前端应用程序。 我们的一些用户遇到应用程序的随机问题,但是当他们清除浏览器的caching时,问题就解决了。 我们也注意到,当我们在线推送新版本的应用程序时,我们必须进行硬刷新 ,才能看到新的变化。 我们如何确保在推送新版本的应用程序时,所有用户都能看到新的更新版本? 技术细节 我们用来服务Angular App的快速代码: var app = express(); app.use(function(req, res, next) { var schema = req.headers["x-forwarded-proto"]; // — Do nothing if schema is already https if (schema === "https") return next(); // — Redirect to https res.redirect("https://" + req.headers.host + req.url); }); app.use(function(req, res, next) { res.setHeader("Cache-Control", "public, max-age=3600"); return […]

如何在nodejs中创build一个应用程序级caching对象

我正在使用NodeJS快速框架,现在我想要使用内存caching来保存对象(近3000)。 我曾想过创build一个像 cache.js: var cache={}; module.exports=cache; 然后在任何模块中,我需要caching,我可以要求: require('cache') cache.xx=xxx 但是,我似乎无法确定cache对象将被创build,并且在应用程序运行期间将只有一个副本。 由于require可能使用模块caching或不(从这个链接: https : //stackoverflow.com/a/9210901/306719 ) 任何build议?

如何设置快速子目录上的caching标题

当在node.js中使用express时,您可以像这样控制公共资源的caching头文件: app.use(express.static(path.join(__dirname, 'public'), { maxAge: 31557600000 })); 这将公共文件夹下的所有内容设置为静态可用,caching超时时间为1年。 但是,如果我想为公共下的其他文件设置不同的超时值呢? 假设我在公共/图像/图标下面有一些图像,我想要一个较小值的图像, 我尝试添加第二个电话静态像这样: app.use(express.static(path.join(__dirname, 'public'), { maxAge: 31557600000 })); app.use(express.static(path.join(__dirname, 'public/images/icons'), { maxAge: 12345 })); 但它没有工作。 这似乎忽略了第二个陈述。 思考?

如何cachingexpressjs响应

如何caching由expressjs路由生成的响应。 这条路线有很多的数据库访问和更改,它是非常less的。 有没有节点模块可用。 谢谢

node.js – caching映像到文件系统和pipe道映像以响应

我的目标是构build一个简单的文件系统caching系统,以减less我们需要对缩略图进行API调用的次数。 该过程是检查文件系统fs.stat上是否已经存在fs.stat ,如果不是从API端点request映像,同时将映像写入文件系统。 我希望能够同时向文件系统和响应提出请求,但我不相信这是可能的,所以我首先将响应stream式传输到文件系统,然后创build一个stream来pipe理映像文件系统到response对象。 它运行良好,但是我必须相信这是在node.js中执行此任务的更高效/最优化的方法。 有什么想法吗? function (req, res, next) { // Check to see if the image exists on the filesystem // TODO – stats will provide information on file creation date for cache checking fs.stat(pathToFile, function (err, stats) { if (err) { // If the image does not exist on the file system […]

如果“无匹配”有效,则不进行修改

我正在优化Express JSON API供iOS和Android应用程序使用,当应用程序在If-None-Match标头中指定etag时,似乎无法使Express正确响应304标头。 我不需要设置Etag代,因为Express已经提供了这些代码; 但是当应用程序在第二个请求中再次指定etag时, 快递的回应仍然是200的数据,你可以看到我的邮递员testing: 我怎样才能启用这个function? 更新: iOS开发人员正在从Express服务器上看到正确的304 Not Modified响应,但我不明白为什么我在Postman中看不到它们 – Postman是否支持这种操作?

configurationsails.js不caching响应

我有一个应用程序node.js使用sails.js作为框架。 为了向用户显示信息,我已经实现了一些.ejs文件。 当使用应用程序菜单中的链接进行导航时,我收到“304 – Nod Modified”响应。 另外,在响应的标题中,我看到了Etag , If-None-Match或Expires 。 在阅读了一些文章后,我在customMiddleware函数的/ config / express.js文件中添加了“app.disable('etag')”语句,etag和if-none-match不再发送。 无论如何,现在我看不到任何要求服务器(只是第一个作出)访问不同的网页(甚至没有304响应)。 我怎么能告诉sails.js停止caching我的网页?

节点静态vs express.static

我正在尝试在Node.js中设置静态文件服务器/caching。 我使用Express.js。 Express带有一个内置的静态服务器,Express绝对是最常用的框架之一,所以人们会期望静态中间件是超级可靠的。 不过,我环顾了一下互联网,发现包括Nodejitsu在内的大量人推荐了node-static npm模块。 我试图做两者之间的比较研究,但没有发现太多。 有没有什么区别? 我想使用Express.static,因为我已经使用Express,但是想做出正确的select。 这不是一个意见战争的post,我只是从那些知道他们正在谈论的东西,而不是“最爱”的特征进行比较 。

添加force-ssl包到Meteor项目已经使用appcache

我有一个Meteor项目,它使用appcache包在浏览器中保存Meteor应用程序的caching。 现在我已经购买了SSL证书,并希望开始强制用户连接到该网站的https://地址。 所以我添加了force-ssl包。 但是,当用户访问http://example.com Meteor应用程序的caching版本时,它将获取caching更新通知,并尝试开始下载新版本的应用程序。 所以http://站点现在正在尝试从https://站点请求资源,并且由于CORS问题,浏览器阻止了这些资源。 我已经玩了一下force-ssl包,甚至尝试设置一些头文件: var host = url.parse(Meteor.absoluteUrl()).hostname; res.setHeader('access-control-allow-origin', 'http://' + host); res.setHeader('access-control-allow-credentials', 'true'); res.setHeader('access-control-allow-methods', 'POST, GET, OPTIONS'); 但是我仍然看到像这样的CORS错误: GET https://www.example.com/sockjs/881/y6to3ysz/xhr 405 (Method Not Allowed) 任何人都知道如何正确设置标题,以便更新可以通过https://到http://网站? 我正在设置socksjs头文件等下拉兔子洞,并认为可能有人已经这样做,可能会节省我一些时间。

npm不强制时从caching安装tar包

我正在使用Node v5.0.0和npm v3.3.6,并且遇到与tar包非常孤立的问题。 由于企业防火墙,我被迫克隆Git仓库并从中安装 我的问题是,尽pipe强制npm从caching中安装软件包, tar是唯一坚持从npm的registry中下载的软件包。 $ npm install tar@2.2.1 –verbose –cache-min=999999999999 npm info it worked if it ends with ok npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe', npm verb cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', npm verb cli 'install', npm verb cli 'tar@2.2.1', npm verb cli '–verbose', npm verb cli '–cache-min=999999999999' ] npm info using npm@3.3.6 npm info […]