服务端渲染



  • 现在我们Web常用的开发方式是前后端分离。这样做的好处就是前端只需要关注页面渲染和处理后台数据,后台只需要关注如何对参数进行增删改查。但是我们都知道,Ajax技术比较局限的地方就是 SEO 搜索引擎优化。如果大家不清楚什么是 SEO 的话,我可以提供一个简单的例子来阐述一下。

    1. SEO

    在使用 Ajax 技术的网站,例如Iconfont中,我们常用 JSON 来传递数据。浏览器拿到 JSON 后执行回调函数进行处理。由于这个是在前端处理的,不是后台直接发过来的数据,所以在网页源代码中是无法看到这些 JSON 数据的。
    我们右击然后选择“查看网页源代码”可以看到,网页的 HTML 文件只有寥寥的41行,没有任何关于图片的地址信息。

    0_1572401482758_cd3102fc-6f6f-438a-abbf-d31f9d9b53af-image.png

    而这个渲染方式是搜索引擎不能接受的。因为现今为止,大量的搜索引擎是无法得到前端再渲染过后的页面 DOM,特别是需要用户触发某些事件的时候,所以现在还有大量的网站还保存有服务端渲染的技术。我们可以进入这个网页,我们可以看到有大量的游戏机商品。我们不禁发问,这些数据是前端请求得到的吗?答案是否定的。我们右击然后选择“查看网页源代码”可以看到,HTML 中有大量的文字,其中就有商品的详细信息。

    0_1572402190978_f520ce2c-f70a-42e2-b8e4-21b0cabf04b6-image.png

    0_1572402157311_62e80778-ff39-4437-9085-c1d0925480ca-image.png

    那既然有了前端渲染的技术,那为什么后台还需要返回全部的 HTML 文档呢?这个目的就是为了 SEO 搜索引擎优化。引擎蜘蛛得到了 HTML 文件,就会对 HTML 进行字符解析,把有用的文字提取出来,这样我们就可以在搜索引擎中输入差不多的字符串的时候就能搜索到这个商品了。

    未完待续...


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待