请教一个问题哈,服务端渲染 html,为什么有些页面只发送一次类型为 document 的请求,有些页面还会另外发起类型为 text/html 的请求?如何让浏览器不发送类型为 text/html 的请求呢?不然数据库会查两边。

2022-07-07 14:11:09 +08:00
 sciel
731 次点击
所在节点    程序员
1 条回复
sciel
2022-07-07 14:22:41 +08:00
原来是背景图片的原因,加了一个判断就不会发起两次请求了。

```
{{if.node.BgImg}}
<style>
#wrapper {
background-image: url({{.node.BgImg}}), url({{.node.BgImg}});
background-repeat: repeat-x, repeat;
/*background-position: center;*/
/*background-attachment: fixed;*/
}
</style>
{{end}}
```
如果背景图片不存在就会发起类型为 `text/html` 的请求 header 头里面为 Sec-Fetch-Dest: image
而正常的 类型为`document`的请求,header 头里面为 Sec-Fetch-Dest: document

可是这是为什么呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/864678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX