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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

何為渲染?瀏覽器渲染和服務端渲染的聯系與區別

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

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

這里的渲染,就是指生成html文檔的過程,和瀏覽器渲染html沒有關系。

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

服務器端渲染,指的是用后臺語言通過一些模版引擎生成html。舉例:PHP文件、JSP文件、Python的Flask配合Jinja引擎、Django框架、Java配合vm模版引擎、NodeJS配合Jade。適合多頁面應用。其實現在大部分網站還是這種形式。

所以有為了讓單頁面應用利于SEO,讓服務器和客戶端同構,也使用React/Vue渲染的方案。

PS: Segmentfault也是服務端渲染。

瀏覽器渲染

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

服務器渲染

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

客戶端渲染路線:

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

服務端渲染路線:

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

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

根據以上特點,在用戶體驗要求比較高的頁面(首屏)、重復較多的公共頁面可以考慮使用服務器渲染,減少ajax請求和提升用戶體驗。

時間耗時比較:

數據請求:由服務端請求數據而不是客戶端請求數據,這是“快”的一個主要原因。服務端在內網進行請求,數據響應速度快。客戶端在不同網絡環境進行數據請求,且外網http請求開銷大,導致時間差(主要原因)。

步驟:服務端是先請求數據然后渲染“可視”部分,而客戶端是等待js代碼下載、加載完成再請求數據、渲染。即:服務端渲染不用等待js代碼下載完成再請求數據,并會返回一個已經有內容的頁面。

渲染性能:服務端性能比客戶端高,渲染速度快( 猜測,該項數據不詳 )。

渲染內容:服務端渲染會把”可視“部分先渲染,然后交給客戶端再作部分渲染。而客戶端渲染,則是從無到有,需要經歷完整的渲染步驟。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 瀏覽器
    +關注

    關注

    1

    文章

    1035

    瀏覽量

    35533
  • 渲染
    +關注

    關注

    0

    文章

    70

    瀏覽量

    10962

原文標題:瀏覽器渲染和服務端渲染的區別,服務端渲染的幾種方式

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    OpenHarmony Sheet 表格渲染引擎

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

    HarmonyOS實戰開發-合理選擇條件渲染和顯隱控制

    開發者可以通過條件渲染或顯隱控制兩種方式來實現組件在顯示和隱藏間的切換。本文從兩者原理機制的區別出發,對二者適用場景分別進行說明,實現相應適用場景的示例并給出性能對比數據。 原理機制 條件渲染
    發表于 05-10 15:16

    何為GRID渲染設置適當的Xorg.conf ?

    大家好?我們正在嘗試為我們的OpenGL應用程序啟動并運行GRID實例, 但必須在設置中遺漏一些東西......如何為GRID渲染設置適當的Xorg.conf ???安裝nVidia GRID
    發表于 09-27 16:03

    LWRP的渲染流程

    LWRP渲染流程梳理
    發表于 01-21 07:01

    一文詳解渲染管線

    渲染管線簡單梳理
    發表于 02-03 07:13

    請問TableLayout圖片是用什么渲染的?

    TableLayout圖片是用什么渲染的,服務器返回的是網絡圖片String格式的。
    發表于 03-24 11:29

    ARM服務器準備如何解決服務端渲染的問題

    針對云手機、視頻流云游戲行業,ARM服務器準備如何解決服務端渲染的問題?目前的狀況了解,PCIE顯卡對安卓游戲的支持還不夠成熟
    發表于 09-13 14:58

    OpenHarmony 3.2 Beta Audio——音頻渲染

    └── services#服務端 └── audio_service├── BUILD.gn├── client#IPC調用中的proxy│├── include
    發表于 03-02 14:28

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

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

    HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制概述

    ArkUI通過自定義組件的build()函數和@builder裝飾中的聲明式UI描述語句構建相應的UI。 在聲明式描述語句中開發者除了使用系統組件外,還可以使用渲染控制語句來輔助UI的構建,這些
    發表于 08-09 09:54

    HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制if/else條件渲染

    ArkTS提供了渲染控制的能力。條件渲染可根據應用的不同狀態,使用if、else和else if渲染對應狀態下的UI內容。說明:從API version 9開始,該接口支持在ArkTS卡片中使用。一
    發表于 08-21 14:29

    揭秘:實時渲染、離線渲染、云渲染和混合渲染區別

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

    探索渲染技術與云渲染的魅力!

    在數字藝術和計算機圖形領域中,渲染技術占據著至關重要的地位。隨著科技的進步,云渲染作為一種新興的渲染方式,正逐漸受到業界的關注和應用。本文將對渲染技術和云
    的頭像 發表于 04-12 08:30 ?341次閱讀
    探索<b class='flag-5'>渲染</b>技術與云<b class='flag-5'>渲染</b>的魅力!

    CPU渲染和GPU渲染優劣分析

    使用計算機進行渲染時,有兩種流行的系統:基于中央處理單元(CPU)或基于圖形處理單元(GPU)。CPU渲染利用計算機的CPU來執行場景并將其渲染到接近完美。這也是執行渲染的更傳統方式。
    的頭像 發表于 05-23 08:27 ?698次閱讀
    CPU<b class='flag-5'>渲染</b>和GPU<b class='flag-5'>渲染</b>優劣分析

    如何優化SSR渲染性能

    性能的方法: 1. 緩存策略 緩存靜態資源 服務端緩存 :使用如Redis等緩存系統存儲靜態資源,減少數據庫和文件系統的訪問。 客戶緩存 :通過設置HTTP緩存頭(如 Cache-Control ),讓瀏覽器緩存靜態資源。 緩
    的頭像 發表于 11-18 11:31 ?421次閱讀
    主站蜘蛛池模板: 欧美特黄三级在线观看 | 性夜影院爽黄a免费视频 | 日本黄色大片网站 | 亚洲综合狠狠 | 91色蝌蚪| yy6080亚洲半夜理论一级毛片 | 中文字幕卡二和卡三的视频 | 亚洲一区二区三区在线 | 手机在线看 | 久久精品视频99精品视频150 | 国产美女视频爽爽爽 | 夜夜夜操操操 | 成年人看的毛片 | 夜夜做日日做夜夜爽 | 在线观看视频一区二区三区 | 国产美女被艹 | 亚洲激情四射 | 亚洲色图国产精品 | 成人在线免费 | 午夜色视频在线观看 | 国产特级毛片 | brazzersvideosex欧美高清 | 尤物啪啪 | 午夜激情福利视频 | 久久怡红院国产精品 | 99久久精品费精品国产一区二区 | 九九国产在线观看 | 成人在线播放av | 欧美成人观看免费全部完小说 | 精品噜噜噜噜久久久久久久久 | 天天看片网站 | 日韩99| 天堂资源在线8 | 色播四房间 | 最黄毛片 | 丁香色婷婷 | 免费看 s色 | 日韩免费观看的一级毛片 | 亚洲成人网页 | 美女视频永久黄网站在线观看 | 欧美高清老少配性啪啪 |