作为一个小 Java ,请教下关于页面静态化的技术

2023-08-28 09:47:41 +08:00
 hanv2

在网上会看到很多技术文章提到后端的页面静态化技术,对一些高并发访问的页面直接生成静态页面,如果页面的参数发生了变更,则再重新生成页面。 但是作为一个从来没有在公司应用过这项技术的小小白,限于认知水平,对此有以下几点疑问: 1.现在基本上都是前后端分离项目,后端一般只会返回 json ,后端直接返回 html 感觉是远古时代的操作了? 2.如果这种方式现在依然是主流,那对于纯后端来说,编写这种模板 html 代码应该会比较有难度吧,毕竟页面样式各种会比较复杂 有经验丰富好哥哥们带带弟弟

2937 次点击
所在节点    程序员
27 条回复
eaudeluting
2023-08-28 13:35:41 +08:00
上古的技术,java 服务用 jsp ,thymeleaf 之类的模板引擎直接返回 text/html ,nginx 反代,中间插一层 apache traffic server 之类的缓存/静态化服务,或者外面直接 cdn
zpf124
2023-08-28 13:41:13 +08:00
@hanv2 在 nginx 上做缓存反倒在现在的模式下也可以正常使用,因为这种方式无需生成文件无需处理静态化后的请求连接的修改,不过我没实际涉猎过,不太懂也就不乱说了。

但一般而言,各类技术文章中都推荐 所有生成静态文件的缓存方式都最好只使用在不会经常发生改变的位置,如果你的缓存频率是小时、分钟这种级别的,那么前后端的缓存都有相应的技术可以满足,无须专门生成磁盘文件,你提到的用 nginx + lua 的方式也可以。
qinxi
2023-08-28 13:48:47 +08:00
随便哪个模版引擎都支持单独调用输出成 html 就好了
比如 thymeleaf
GoRoad
2023-08-28 13:58:52 +08:00
之前给别人官网做过这方面的工作,主要就是调用模版引擎 thymeleaf 把数据拼接好写入到 html ,在项目启动和内容发生改变的时候重新生成页面,注意是连带着有关联的页面全都要重新生成
hanv2
2023-08-28 19:57:34 +08:00
@GoRoad 这种属于比较传统的玩法了,至少六七年前就很成熟了,纯由后端来做的
cylx3124
2023-08-28 20:21:07 +08:00
1. 以前的后端直接返回 html 是因为以前页面基本都是 jps 或者模板框架做的,处理这些东西需要服务器额外的开销,所以搞了一套页面静态化 + 反向代理。现在基本都是前后端分离,后端只需要关心返回的 json 数据,即使需要 ssr ,也是使用 nextjs 一类的框架,由前端同学去处理。
2. 现在大部分公司的后端都不需要关心前端页面,但是有些公司依然在用 jsp 等老技术 ,如果你入职了这种公司,那么恭喜你,只用 jsp 在前人的屎上继续雕花了。
GoRoad
2023-08-29 11:36:12 +08:00
@hanv2 #25 是的 当时前端同学也没这方面的经验 干脆我们就纯后端来渲染了,前端写好样式模板,本身就是个官网,页面也不多

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

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

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

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

© 2021 V2EX