比如 ASP.Net MVC,如果在 Controller 获取 Model 传给 View,这算是服务端渲染,那如果在 View 中通过 Ajax 获取数据填充模板,这也算服务端渲染吗?
1
tohert 2018-12-13 09:18:29 +08:00
可以理解前者是服务端渲染,后者是客户端渲染。
|
2
Mazexal 2018-12-13 09:18:59 +08:00
不算
|
3
wu67 2018-12-13 09:29:05 +08:00
按我的理解, 客户端渲染基本等同于 ajax, 禁用了 js 之后重要内容显示不出来的, 基本都是客户端渲染
|
4
hatsuyuki 2018-12-13 09:48:26 +08:00 1
客户端只认识 html
服务端将内容填充到模板后生成 html 页面发送给客户端,就是服务端渲染 服务端将模板页面发送给客户端,客户端通过 js 获取数据填充模板,就是客户端渲染 |
5
yidinghe 2018-12-13 09:50:46 +08:00
渲染是指:
1、展现数据的过程; 2、实现响应用户操作的视觉效果。 如果后台传给前台的是数据而不是 HTML,那么说明后台是不参与渲染的。 |
6
oonnnoo 2018-12-13 09:57:12 +08:00 1
客户端渲染:HTML 由客户端生成,
服务端渲染:HTML 由服务端生成,发送到客户端 |
7
TomVista 2018-12-13 10:35:25 +08:00 1
首先确定一件事,web 服务器并不能进行渲染,(容我装个那啥,跳过这句吧,写的时候脑子抽抽了)
web 服务器的渲染指的是在下发 html 前,对 html 进行处理或生成. 客户端渲染指的是把接收到的 html 或数据处理成浏览器中的图形图像. |
8
ragnaroks 2018-12-13 10:42:14 +08:00
我个人认为屏蔽 js 能正常使用的网站才算服务端渲染
|
9
geying 2018-12-13 10:58:43 +08:00
认同 6L
比如 jsp 文件在你你访问的时候服务器返回的就是完整的 html 代码,浏览器直接显示;另一种请求 web 服务器返回的也是 html,但只是个架子,内容需要在 js 里请求,然后生成的 html 去显示。 话说现在的前端是不是重新定义了“渲染”和“编译”两个词 |
10
learnshare 2018-12-13 11:13:04 +08:00
看 html (或者就叫文本)是前端拼接的,还是后端拼接的
|
11
plqws 2018-12-13 11:15:21 +08:00 1
区别就是 HTML 是在哪里生成的
|
12
faceRollingKB 2018-12-13 12:08:50 +08:00
我脚的是,url 对应的 html 内容由服务端直接提供的才算服务端渲染,而通过 ajax 从服务端获取 html 并用 js 绑定到 dom 节点上的方式依然是客户端渲染
|
13
wly19960911 2018-12-13 13:45:46 +08:00
我认为重要数据能在服务器端渲染完成并且首屏展示就 ok,也就是服务器具有发送一个渲染完成的页面给客户端的能力。
|
14
LZYPPP 2018-12-13 14:02:35 +08:00
在浏览器请求一个网站时服务端渲染是把带数据的 html 返回,客户端渲染是把 html 返回给浏览器然后再请求数据,这样就可以利用客户端的机器,一定程序减轻服务器的压力;这就是为什么搜索引擎(以前的说法)搜索不了客户端渲染的网站,因为这个网站的没有数据的
|
15
godbmw 2018-12-13 14:03:34 +08:00
后者是客户端渲染
|
16
liuxey 2018-12-13 14:10:43 +08:00
第一种是服务端渲染没问题,服务端直接出来 HTML
第二种我觉得应该叫"客户端二次渲染",流程是服务端将数据"渲染"成 JSON,客户端再将接受到的 JSON 渲染成 HTML 我觉得对于服务端来说,渲染成 HTML 还是 JSON 性能上并没有差多少,反而第二种多了一次客户端渲染。出现这种情况是工程化分工的结果,让所有开发都熟练的掌握从 DB 到 HTML 的技术并不是很好的发展路线。 |
17
mmdsun 2018-12-13 20:21:54 +08:00 via Android
net mvc 的页面是.aspx,.cshtml razor 语法标记。这种都算。浏览器只认识 html。
静态页面+ ajax restful。服务端只返回 json 数据。这种算是客户端渲染。 |