客户端渲染和服务端渲染的区别

2018-12-13 09:11:00 +08:00
 pipelining

比如 ASP.Net MVC,如果在 Controller 获取 Model 传给 View,这算是服务端渲染,那如果在 View 中通过 Ajax 获取数据填充模板,这也算服务端渲染吗?

5874 次点击
所在节点    .NET
17 条回复
tohert
2018-12-13 09:18:29 +08:00
可以理解前者是服务端渲染,后者是客户端渲染。
Mazexal
2018-12-13 09:18:59 +08:00
不算
wu67
2018-12-13 09:29:05 +08:00
按我的理解, 客户端渲染基本等同于 ajax, 禁用了 js 之后重要内容显示不出来的, 基本都是客户端渲染
hatsuyuki
2018-12-13 09:48:26 +08:00
客户端只认识 html
服务端将内容填充到模板后生成 html 页面发送给客户端,就是服务端渲染
服务端将模板页面发送给客户端,客户端通过 js 获取数据填充模板,就是客户端渲染
yidinghe
2018-12-13 09:50:46 +08:00
渲染是指:
1、展现数据的过程;
2、实现响应用户操作的视觉效果。

如果后台传给前台的是数据而不是 HTML,那么说明后台是不参与渲染的。
oonnnoo
2018-12-13 09:57:12 +08:00
客户端渲染:HTML 由客户端生成,
服务端渲染:HTML 由服务端生成,发送到客户端
TomVista
2018-12-13 10:35:25 +08:00
首先确定一件事,web 服务器并不能进行渲染,(容我装个那啥,跳过这句吧,写的时候脑子抽抽了)

web 服务器的渲染指的是在下发 html 前,对 html 进行处理或生成.

客户端渲染指的是把接收到的 html 或数据处理成浏览器中的图形图像.
ragnaroks
2018-12-13 10:42:14 +08:00
我个人认为屏蔽 js 能正常使用的网站才算服务端渲染
geying
2018-12-13 10:58:43 +08:00
认同 6L
比如 jsp 文件在你你访问的时候服务器返回的就是完整的 html 代码,浏览器直接显示;另一种请求 web 服务器返回的也是 html,但只是个架子,内容需要在 js 里请求,然后生成的 html 去显示。

话说现在的前端是不是重新定义了“渲染”和“编译”两个词
learnshare
2018-12-13 11:13:04 +08:00
看 html (或者就叫文本)是前端拼接的,还是后端拼接的
plqws
2018-12-13 11:15:21 +08:00
区别就是 HTML 是在哪里生成的
faceRollingKB
2018-12-13 12:08:50 +08:00
我脚的是,url 对应的 html 内容由服务端直接提供的才算服务端渲染,而通过 ajax 从服务端获取 html 并用 js 绑定到 dom 节点上的方式依然是客户端渲染
wly19960911
2018-12-13 13:45:46 +08:00
我认为重要数据能在服务器端渲染完成并且首屏展示就 ok,也就是服务器具有发送一个渲染完成的页面给客户端的能力。
LZYPPP
2018-12-13 14:02:35 +08:00
在浏览器请求一个网站时服务端渲染是把带数据的 html 返回,客户端渲染是把 html 返回给浏览器然后再请求数据,这样就可以利用客户端的机器,一定程序减轻服务器的压力;这就是为什么搜索引擎(以前的说法)搜索不了客户端渲染的网站,因为这个网站的没有数据的
godbmw
2018-12-13 14:03:34 +08:00
后者是客户端渲染
liuxey
2018-12-13 14:10:43 +08:00
第一种是服务端渲染没问题,服务端直接出来 HTML
第二种我觉得应该叫"客户端二次渲染",流程是服务端将数据"渲染"成 JSON,客户端再将接受到的 JSON 渲染成 HTML

我觉得对于服务端来说,渲染成 HTML 还是 JSON 性能上并没有差多少,反而第二种多了一次客户端渲染。出现这种情况是工程化分工的结果,让所有开发都熟练的掌握从 DB 到 HTML 的技术并不是很好的发展路线。
mmdsun
2018-12-13 20:21:54 +08:00
net mvc 的页面是.aspx,.cshtml razor 语法标记。这种都算。浏览器只认识 html。

静态页面+ ajax restful。服务端只返回 json 数据。这种算是客户端渲染。

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

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

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

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

© 2021 V2EX