Azure Blob SAS和缓存控制,以确保缓存资源

Azure Blob SAS and Cache-Control to ensure that resources are cached(Azure Blob SAS和缓存控制,以确保缓存资源)
本文介绍了Azure Blob SAS和缓存控制,以确保缓存资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们提供的是私有资源(图像、文件.)存储在Azure Blob容器中。 安全性使用Shared Access Signatures实现,为每个对资源的请求创建,例如,两个请求意味着两个不同的访问令牌。

通常安全URL由文件名组成,令牌作为查询字符串传递,例如https://myaccount.blob.core.windows.net/file.img?sv=2015-04-05&ss=bf&srt=s&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=F%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkkAg8P6HESXwmf%4B

资源的响应包含缓存控制头(缓存控制:MAX-AGE=31536000?

使用常规HTML或元素在网站中显示图像和视频类型的资源。

以这种方式提供的资源是否可以由浏览器缓存

谢谢大家!

推荐答案

可以将缓存头添加到共享访问签名。

这将指示Azure Blob将相应的缓存头作为HTTP响应的一部分返回。

这就是如何用c#:

    var policy = new SharedAccessBlobPolicy();
    var headers = new SharedAccessBlobHeaders() { CacheControl = "max-age=" + MaxCacheAgeInDays * 24 * 60 * 60 };
    var blockBlob = _container.GetBlockBlobReference(name);

    var result = _baseUrl + blobName + blockBlob.GetSharedAccessSignature(policy, headers);

希望这能帮助其他人。

ps:可以对其他HTTP标头执行相同的操作。

这篇关于Azure Blob SAS和缓存控制,以确保缓存资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

how to remove this error quot;Response must contain an array at quot; . quot;.quot; while making dropdown(如何删除此错误quot;响应必须在quot;处包含数组。创建下拉菜单时(Q;))
Why is it necessary to use `document.createElementNS` when adding `svg` tags to an HTML document via JS?(为什么在通过JS为一个HTML文档添加`svg`标签时,需要使用`Document.createElementNS`?)
wkhtmltopdf print-media-type uses @media print ONLY and ignores the rest(Wkhtmltopdf print-media-type仅使用@media print,而忽略其余内容)
price depend on selection of radio input(价格取决于无线电输入的选择)
calculate price depend on selection without button(根据没有按钮的选择计算价格)
What should I consider before minifying HTML?(在缩小HTML之前,我应该考虑什么?)