在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

何為渲染?瀏覽器渲染和服務(wù)端渲染的聯(lián)系與區(qū)別

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:李倩 ? 2018-08-01 16:45 ? 次閱讀

何為渲染?如果我們只是想顯示一堆不變的數(shù)據(jù),那么我們直接寫(xiě)一個(gè)a.html丟到服務(wù)器上讓客戶端訪問(wèn)就可以了。但這是基本不可能的事情,數(shù)據(jù)一般是變化的。你不可能為每套數(shù)據(jù)寫(xiě)一個(gè)視圖,所以我們需要分離數(shù)據(jù)和視圖,然后使用一種技術(shù)將數(shù)據(jù)塞到視圖中,這種技術(shù)就叫渲染。這工作放在服務(wù)器上做就是服務(wù)器渲染,放在瀏覽器做就是瀏覽器渲染。

這里的渲染,就是指生成html文檔的過(guò)程,和瀏覽器渲染html沒(méi)有關(guān)系。

瀏覽器端渲染,指的是用js去生成html,前端做路由。舉例:React, Vue等等前端框架。適合單頁(yè)面應(yīng)用程序。

服務(wù)器端渲染,指的是用后臺(tái)語(yǔ)言通過(guò)一些模版引擎生成html。舉例:PHP文件、JSP文件、Python的Flask配合Jinja引擎、Django框架、Java配合vm模版引擎、NodeJS配合Jade。適合多頁(yè)面應(yīng)用。其實(shí)現(xiàn)在大部分網(wǎng)站還是這種形式。

所以有為了讓單頁(yè)面應(yīng)用利于SEO,讓服務(wù)器和客戶端同構(gòu),也使用React/Vue渲染的方案。

PS: Segmentfault也是服務(wù)端渲染。

瀏覽器渲染

單頁(yè)應(yīng)用用的基本都是瀏覽器渲染。優(yōu)點(diǎn)很明確,后端只提供數(shù)據(jù),前端做視圖和交互邏輯,分工明確。服務(wù)器只提供接口,路由以及渲染都丟給前端,服務(wù)器計(jì)算壓力變輕了。但是弱點(diǎn)就是用戶等待時(shí)間變長(zhǎng)了,尤其在請(qǐng)求數(shù)多而且有一定先后順序的時(shí)候。

服務(wù)器渲染

服務(wù)器接到用戶請(qǐng)求之后,計(jì)算出用戶需要的數(shù)據(jù),然后將數(shù)據(jù)更新成視圖(也就是一串dom字符)發(fā)給客戶端,客戶端直接將這串字符塞進(jìn)頁(yè)面即可。這樣做的好處是響應(yīng)很快,用戶體驗(yàn)會(huì)比較好,另外對(duì)于搜索引擎來(lái)說(shuō)也是友好的,有SEO優(yōu)化。nodejs層的服務(wù)器渲染,還有一個(gè)明顯的好處就是前端性能優(yōu)化更順手了,可操作的空間大了。但是缺點(diǎn)也很明顯,如果不是增加一個(gè)node層的話,前后端責(zé)任分工不明,不能很好的并行開(kāi)發(fā)。另外也增加了服務(wù)器計(jì)算壓力(雖然可以做渲染緩存,但畢竟是多做了計(jì)算)。

客戶端渲染路線:

1. 請(qǐng)求一個(gè)html -> 2. 服務(wù)端返回一個(gè)html -> 3. 瀏覽器下載html里面的js/css文件 -> 4. 等待js文件下載完成 -> 5. 等待js加載并初始化完成 -> 6. js代碼終于可以運(yùn)行,由js代碼向后端請(qǐng)求數(shù)據(jù)( ajax/fetch ) -> 7. 等待后端數(shù)據(jù)返回 -> 8. 客戶端從無(wú)到完整地,把數(shù)據(jù)渲染為響應(yīng)頁(yè)面

服務(wù)端渲染路線:

1. 請(qǐng)求一個(gè)html -> 2. 服務(wù)端請(qǐng)求數(shù)據(jù)( 內(nèi)網(wǎng)請(qǐng)求快 ) -> 3. 服務(wù)器初始渲染(服務(wù)端性能好,較快) -> 4. 服務(wù)端返回已經(jīng)有正確內(nèi)容的頁(yè)面 -> 5. 客戶端請(qǐng)求js/css文件 -> 6. 等待js文件下載完成 -> 7. 等待js加載并初始化完成 -> 8. 客戶端把剩下一部分渲染完成( 內(nèi)容小,渲染快 )

對(duì)同一個(gè)組件,服務(wù)端渲染“可視的”一部分( render/componentWillMount部分代碼 ),為確保組件有完善的生命周期及事件處理,客戶端需要再次渲染。即:服務(wù)端渲染,實(shí)際上也是需要客戶端進(jìn)行 再次地、但開(kāi)銷很小的二次渲染。

根據(jù)以上特點(diǎn),在用戶體驗(yàn)要求比較高的頁(yè)面(首屏)、重復(fù)較多的公共頁(yè)面可以考慮使用服務(wù)器渲染,減少ajax請(qǐng)求和提升用戶體驗(yàn)。

時(shí)間耗時(shí)比較:

數(shù)據(jù)請(qǐng)求:由服務(wù)端請(qǐng)求數(shù)據(jù)而不是客戶端請(qǐng)求數(shù)據(jù),這是“快”的一個(gè)主要原因。服務(wù)端在內(nèi)網(wǎng)進(jìn)行請(qǐng)求,數(shù)據(jù)響應(yīng)速度快。客戶端在不同網(wǎng)絡(luò)環(huán)境進(jìn)行數(shù)據(jù)請(qǐng)求,且外網(wǎng)http請(qǐng)求開(kāi)銷大,導(dǎo)致時(shí)間差(主要原因)。

步驟:服務(wù)端是先請(qǐng)求數(shù)據(jù)然后渲染“可視”部分,而客戶端是等待js代碼下載、加載完成再請(qǐng)求數(shù)據(jù)、渲染。即:服務(wù)端渲染不用等待js代碼下載完成再請(qǐng)求數(shù)據(jù),并會(huì)返回一個(gè)已經(jīng)有內(nèi)容的頁(yè)面。

渲染性能:服務(wù)端性能比客戶端高,渲染速度快( 猜測(cè),該項(xiàng)數(shù)據(jù)不詳 )。

渲染內(nèi)容:服務(wù)端渲染會(huì)把”可視“部分先渲染,然后交給客戶端再作部分渲染。而客戶端渲染,則是從無(wú)到有,需要經(jīng)歷完整的渲染步驟。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    35929
  • 渲染
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    11076

原文標(biāo)題:瀏覽器渲染和服務(wù)端渲染的區(qū)別,服務(wù)端渲染的幾種方式

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony Sheet 表格渲染引擎

    this.sheet?.[ri]?.[ci] || \"\"; }) .render(); 當(dāng)然你可以精心定制每一個(gè)單元格的數(shù)據(jù),這些數(shù)據(jù)可以來(lái)自于你的后端服務(wù)器,也可以來(lái)自于客戶的輸入,配合客戶
    發(fā)表于 01-05 16:32

    HarmonyOS實(shí)戰(zhàn)開(kāi)發(fā)-合理選擇條件渲染和顯隱控制

    開(kāi)發(fā)者可以通過(guò)條件渲染或顯隱控制兩種方式來(lái)實(shí)現(xiàn)組件在顯示和隱藏間的切換。本文從兩者原理機(jī)制的區(qū)別出發(fā),對(duì)二者適用場(chǎng)景分別進(jìn)行說(shuō)明,實(shí)現(xiàn)相應(yīng)適用場(chǎng)景的示例并給出性能對(duì)比數(shù)據(jù)。 原理機(jī)制 條件渲染
    發(fā)表于 05-10 15:16

    何為GRID渲染設(shè)置適當(dāng)?shù)腦org.conf ?

    大家好?我們正在嘗試為我們的OpenGL應(yīng)用程序啟動(dòng)并運(yùn)行GRID實(shí)例, 但必須在設(shè)置中遺漏一些東西......如何為GRID渲染設(shè)置適當(dāng)?shù)腦org.conf ???安裝nVidia GRID
    發(fā)表于 09-27 16:03

    LWRP的渲染流程

    LWRP渲染流程梳理
    發(fā)表于 01-21 07:01

    一文詳解渲染管線

    渲染管線簡(jiǎn)單梳理
    發(fā)表于 02-03 07:13

    請(qǐng)問(wèn)TableLayout圖片是用什么渲染的?

    TableLayout圖片是用什么渲染的,服務(wù)器返回的是網(wǎng)絡(luò)圖片String格式的。
    發(fā)表于 03-24 11:29

    ARM服務(wù)器準(zhǔn)備如何解決服務(wù)端渲染的問(wèn)題

    針對(duì)云手機(jī)、視頻流云游戲行業(yè),ARM服務(wù)器準(zhǔn)備如何解決服務(wù)端渲染的問(wèn)題?目前的狀況了解,PCIE顯卡對(duì)安卓游戲的支持還不夠成熟
    發(fā)表于 09-13 14:58

    OpenHarmony 3.2 Beta Audio——音頻渲染

    └── services#服務(wù)端 └── audio_service├── BUILD.gn├── client#IPC調(diào)用中的proxy│├── include
    發(fā)表于 03-02 14:28

    缺少VGlite字體渲染api文檔,求分享

    我試圖使用 vglite api 在 MIMXRT1166/1176 上使用 verisilicon gpu 渲染圖形,并且特別缺乏關(guān)于此的文檔。 我能夠很好地初始化 GPU 并渲染矢量和光柵對(duì)象
    發(fā)表于 04-24 06:42

    HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS語(yǔ)言渲染控制概述

    ArkUI通過(guò)自定義組件的build()函數(shù)和@builder裝飾中的聲明式UI描述語(yǔ)句構(gòu)建相應(yīng)的UI。 在聲明式描述語(yǔ)句中開(kāi)發(fā)者除了使用系統(tǒng)組件外,還可以使用渲染控制語(yǔ)句來(lái)輔助UI的構(gòu)建,這些
    發(fā)表于 08-09 09:54

    HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS語(yǔ)言渲染控制if/else條件渲染

    ArkTS提供了渲染控制的能力。條件渲染可根據(jù)應(yīng)用的不同狀態(tài),使用if、else和else if渲染對(duì)應(yīng)狀態(tài)下的UI內(nèi)容。說(shuō)明:從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。一
    發(fā)表于 08-21 14:29

    揭秘:實(shí)時(shí)渲染、離線渲染、云渲染和混合渲染區(qū)別

    渲染,就是將3D模型轉(zhuǎn)換成2D圖像,并最終呈現(xiàn)在屏幕上的過(guò)程。常見(jiàn)的渲染類型有以下幾種:實(shí)時(shí)渲染離線渲染渲染混合
    的頭像 發(fā)表于 12-26 08:27 ?1048次閱讀
    揭秘:實(shí)時(shí)<b class='flag-5'>渲染</b>、離線<b class='flag-5'>渲染</b>、云<b class='flag-5'>渲染</b>和混合<b class='flag-5'>渲染</b>的<b class='flag-5'>區(qū)別</b>

    CPU渲染和GPU渲染優(yōu)劣分析

    使用計(jì)算機(jī)進(jìn)行渲染時(shí),有兩種流行的系統(tǒng):基于中央處理單元(CPU)或基于圖形處理單元(GPU)。CPU渲染利用計(jì)算機(jī)的CPU來(lái)執(zhí)行場(chǎng)景并將其渲染到接近完美。這也是執(zhí)行渲染的更傳統(tǒng)方式。
    的頭像 發(fā)表于 05-23 08:27 ?919次閱讀
    CPU<b class='flag-5'>渲染</b>和GPU<b class='flag-5'>渲染</b>優(yōu)劣分析

    如何優(yōu)化SSR渲染性能

    性能的方法: 1. 緩存策略 緩存靜態(tài)資源 服務(wù)端緩存 :使用如Redis等緩存系統(tǒng)存儲(chǔ)靜態(tài)資源,減少數(shù)據(jù)庫(kù)和文件系統(tǒng)的訪問(wèn)。 客戶緩存 :通過(guò)設(shè)置HTTP緩存頭(如 Cache-Control ),讓瀏覽器緩存靜態(tài)資源。 緩
    的頭像 發(fā)表于 11-18 11:31 ?709次閱讀

    CPU渲染、GPU渲染、XPU渲染詳細(xì)對(duì)比:哪個(gè)渲染最快,哪個(gè)效果最好?

    動(dòng)畫(huà)渲染動(dòng)畫(huà)3D渲染技術(shù)需要應(yīng)對(duì)復(fù)雜的計(jì)算任務(wù)和精細(xì)的圖像處理,作為渲染技術(shù)人員,選擇合適的渲染模式,會(huì)直接影響制作效率和成品質(zhì)量。在主流的渲染
    的頭像 發(fā)表于 04-15 09:28 ?84次閱讀
    CPU<b class='flag-5'>渲染</b>、GPU<b class='flag-5'>渲染</b>、XPU<b class='flag-5'>渲染</b>詳細(xì)對(duì)比:哪個(gè)<b class='flag-5'>渲染</b>最快,哪個(gè)效果最好?
    主站蜘蛛池模板: 1024手机在线观看你懂的 | 热re99久久精品国产99热 | 国产精品久久在线 | 特黄一级毛片 | 日韩爱爱| 伊人久久大香线蕉综合7 | 天天操夜操 | 国产亚洲片| 天天综合色一区二区三区 | 一级黄色大全 | 成人免费一区二区三区 | 好色亚洲 | 91夜夜人人揉人人捏人人添 | 不卡精品国产_亚洲人成在线 | 羞羞色男人的天堂伊人久久 | 国产主播在线看 | 黄网站色在线视频免费观看 | 手机成人在线视频 | 国产亚洲欧美成人久久片 | 美国一级毛片片aa久久综合 | 欧美成人精品一区二三区在线观看 | 男人的天堂欧美 | 国产精品高清免费网站 | 一级免费视频 | 精品国产_亚洲人成在线高清 | 日产毛片 | 四虎国产精品永久在线网址 | 色综合色综合色综合色综合网 | 中国日韩欧美中文日韩欧美色 | 日日干夜夜操视频 | 国产三a级日本三级日产三级 | aaaaa特级毛片| 成人网在线观看 | a级黄色毛片三个搞一 | 日本久久综合视频 | 白嫩美女一级高清毛片免费看 | 免费播放欧美毛片欧美aaaaa | 欧美性操 | 国产亚洲情侣久久精品 | 永久在线观看 | 久久天天躁狠狠躁夜夜爽蜜月 |