请问静态资源如何先渲染?
来源:3-5 从幕课网页面了解缓存常见使用场景

Jining0909
2022-05-22
课件中老师提到不是先获取后渲染,而是先渲染的。
这里的先渲染怎么理解呢?
1回答
-
大能老师
2022-05-23
页面静态化技术主要经历一下几个阶段:
一开始,是使用模版变量替换。也就是传统的MVC开发,想JSP这些技术,存在的问题是:
传统模板页面基于服务端,需要唤起servlet容器,走springmvc全套流程。
较难缓存。用户请求在访问到springboot server时,还会经过nginx,如果使用模板渲染,很难在nignx上做缓存。
动静请求分离:异步请求
第二个阶段是,动静分离。设计原理:区分动静态请求。
动态请求:每次都从服务端获取数据请求。
静态请求:不必每次从服务端获取的页面展示请求。
静态资源服务器,例如nignx;动态请求服务器,例如Tomcat;前后端采用Ajax等前端异步化交互技术发起请求,获取数据,填充静态页面。
静态请求缓存效率化
主要是CDN分发技术和Nginx proxy cache文件缓存。
CDN是内容分发网络,具有高性能、高可用、高扩展性的优点。
CDN是带有缓存性质的网络节点。即CDN是web服务器,提供了静态资源缓存机制。
分发能力,请求分发到最近的节点。
具有负载均衡能力,没有单点问题。
全页面静态化技术
原理:服务端通过类似爬虫的技术直接完成动态请求加载完成后的静态页面,将HTML、CSS、JS资源全部加载完后的页面生成后部署到CDN上。
原理:服务端通过类似爬虫的技术直接完成动态请求加载完成后的静态页面,将HTML、CSS、JS资源全部加载完后的页面生成后部署到CDN上。
优势:无需加载、无需动态请求、可全部CDN化
实现:
类似爬虫的技术
无头浏览器:类似浏览器,加载HTML文件,运行JavaScript,执行Ajax请求,获取数据,填充到DOM,输出静态资源文件。
总结:
缓存不是万能的,所以我们在一些场景下就选择使用静态化来解决,比如,商品详情页、网站首页、新闻详情这些页面,我们就可以通过静态化,将静态化的页面保存在nginx和CDN服务器来部署。
122022-05-23
相似问题