pipelining
V2EX  ›  .NET

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

  •  
  •   pipelining · Dec 13, 2018 · 6856 views
    This topic created in 2716 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

    静态页面+ ajax restful。服务端只返回 json 数据。这种算是客户端渲染。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5141 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 05:45 · PVG 13:45 · LAX 22:45 · JFK 01:45
    ♥ Do have faith in what you're doing.