客户端渲染和服务端渲染的区别 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pipelining
V2EX    .NET

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

  •  
  •   pipelining 2018-12-13 09:11:00 +08:00 6544 次点击
    这是一个创建于 2563 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    静态页面+ ajax restful。服务端只返回 json 数据。这种算是客户端渲染。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3192 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 04:47 PVG 12:47 LAX 20:47 JFK 23:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86