SSR网站页面中的图片资源请求是由哪一侧发起的?
SSR 静态资源加载逻辑说明
答案是后者,静态资源由客户端主动发起请求拉取,不会被服务端整合到首次返回的HTML里。
具体流程说明
- 服务端在SSR场景下仅负责生成页面的HTML文本内容:你写的
<img src='/a.png' />这类标签会原样出现在返回的HTML字符串中,服务端不会提前加载对应图片、也不会把图片内容嵌入到HTML里(除非你主动做了静态资源base64转码这类特殊处理,当前场景无这类操作)。 - 客户端(浏览器)拿到服务端返回的HTML后,会逐行解析DOM结构,碰到
<img>、<link>、<script>这类带外部资源引用的标签时,才会自动发起对应的GET请求拉取对应资源,你提到的xxx.com/a.png、xxx.com/b.jpeg这类请求都是这个阶段由浏览器主动发起的。
补充说明
如果服务端把所有静态资源都整合到首次返回内容里,一方面HTML作为纯文本格式无法直接承载二进制图片资源,另一方面首次返回的包体会骤增,反而严重拖慢首屏加载速度,完全不符合SSR的设计初衷。
内容的提问来源于stack exchange,提问作者FOREST
相关产品推荐
相关产品推荐

