JCS*_*JCS 4 html caching azure azure-blob-storage
我们提供存储在 Azure Blob 容器上的私有资源(图像、文件等)。
安全性是使用为每个资源请求创建的共享访问签名来实现的,例如,两个请求意味着两个不同的访问令牌。
一般来说,安全 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%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkk Ag8P6HESXwmf%4B
资源的响应包含 Cache-Control 标头 (Cache-Control: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);
Run Code Online (Sandbox Code Playgroud)
希望这对其他人有帮助。
PS:对于其他HTTP标头也可以做同样的事情。
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |