Firebase托管上的动态服务(不同的HTTP标头)

时间:2017-06-03 14:55:37

标签: firebase firebase-hosting

我想在静态生成的网站上提供两个不同版本:移动版本以及相同网址上的平板电脑,桌面版本 - 基本上我想使用动态服务不同的HTTP标头 - Vary:User-Agent ,如下所述:https://developers.google.com/webmasters/mobile-sites/mobile-seo/dynamic-serving

我想用:

  • 响应式网页设计 / rwd 适用于具有桌面优化图片大小和资源的桌面和平板电脑版本
  • 自适应网页设计 / awd 响应式网页设计(rwd比桌面设计简单得多 - 可能是平板手机的一些不同风格)适用于移动版本,具有移动优化的图像尺寸和资产

(我应该为图像提供两种不同的布局和至少两种不同的尺寸 - 移动和桌面/平板电脑)

我正在阅读Firebase托管文档中的“自定义托管行为”部分 - https://firebase.google.com/docs/hosting/url-redirects-rewrites,但目前似乎无法对此进行配置。

目前丹尼尔赫尔评论中提出的唯一方法 - Dynamic serving on Firebase Hosting (Vary HTTP Header) 是使用云功能

所以,我可以使用

检测设备类型,然后动态生成/读取移动或桌面版本的页面。

这样我们就会动态地提供内容,这会禁用CDN的好处和速度,但我们仍然可以通过设置 res.set('Vary','User-Agent')缓存页面; 这可能解决了这个问题。

我想知道更多“本机”/“开箱即用”的解决方案,它由firebase-hosting本身提供,就像“重写”(https://firebase.google.com/docs/hosting/url-redirects-rewrites#section-rewrites)一样:

"hosting": {
  // Add the "rewrites" section within "hosting"
  "rewrites": [
    {
      "source": "**",
      "device": "MOBILE",
      "destination": "mobile/index.html"
    },
    {
      "source": "**",
      "device": "DESKTOP",
      "destination": "desktop/index.html"
    },
    {
      "source": "**",
      "device": "TV",
      "destination": "tv/index.html"
    }
  ]
}

这样,即使我的网站的电视版本具有图像色调和非常宽的布局,也不会在 MOBILE 设备上提供 - 自适应网页设计。

所以,目前除了使用自定义云功能并实际动态生成网站外,目前无法做到这一点。

如果 Firebase团队在某个时候实施此信息,您能否确认或提供任何信息?

谢谢!

0 个答案:

没有答案