当 Header 允许在静态 Web 应用程序上使用时,强制使用 .Webp 格式而不是其他格式

问题描述

这里是一些背景:

我正在开发一个托管在 Azure 存储帐户上的静态网站。

此网站的图像位于与 html/js/css 文件位于同一位置的文件夹中的存储帐户中。

这些图像以其基本格式存储,并且已经转换为 webp 格式。

因此,对于每张图片,都有一个名称相同但格式不同的图片(例如 image1.jpg 和 image1.webp)

所有文件都通过 Microsoft Azure CDN(不是 Verizon 或 Akamai)提供。

现在,这是我的问题:

当请求从存储帐户获取图像时,如果请求的标头包含接受格式的图像/webp,那么我想获取 webp 格式的图像而不是基本格式。

例如:

1.  A request is made to get the image named image1.jpg
2.  The request headear contains accept: image/webp
3.  There is an image named image1.webp in the storage account
4.  The CDN returns image1.webp instead of image1.jpg

在此示例中,仅当存储帐户中不存在 image1.webp 或标头不包含 accept: image/webp 时,才应检索 image1.jpg。

目前,我尝试了很多方法,但即使满足所有条件,CDN 也始终以基本格式返回图像。

由于有一个类似的功能已经可以用于获取 gzip 或 br 等格式的压缩文件,而不是网站文件的 html/css/js,我认为没有理由无法使用图像格式。

那么我缺少什么,是否有一种方法可以通过规则重定向响应或重写 URL,或者可能只是某个地方的参数来使其工作。还是微软 CDN 根本不可能?

提前感谢您的帮助;)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)