SPA SEO SSR三者有什麼區別

#SPA通俗的說就是單頁面應用(single page application) ##優勢 頁面之間的切換很是快 必定程度減小了後端服務器的壓力 後端程序只須要提供api,不須要客戶端究竟是web端仍是手機等 ##缺點 首屏打開速度很慢,由於用戶首次加載須要先下載SPA框架及應用程序的代碼,而後再渲染頁面。 不利於SEO搜索引擎優化 #SEO通俗的說就是搜索引擎優化(search engine optimization) SEO是一種經過了解搜索引擎的運做規則(如何抓取網站頁面,如何索引以及如何根據特定的關鍵字展示搜索結果排序等)來調整網站,以提升該網站在搜索引擎中某些關鍵詞的搜索結果排名。 ####咱們以前說SPA單頁面應用,經過AJAX獲取數據,這就難保證咱們的頁面能被搜索引擎正常收到,而且有一些搜索引擎不支持執行js和經過ajax獲取數據,那就更不用提SEO了。爲了解決這個問題,,SSR登場了 #SSR通俗的說就是服務器端渲染(server side rendering) ##優勢 更快的響應時間,不用等待全部的js都下載完成,瀏覽器變成顯示比較完整的頁面 更好的SSR,咱們能夠將SEO的關鍵信息直接在後臺就渲染成html,從而保證搜索引擎的爬蟲都能爬取到關鍵數據 ##缺點 佔用更多的cpu和內存資源 一些經常使用的瀏覽器的api可能沒法正常使用,好比window,document,alert等,若是使用的話須要對運行環境加以判斷 開發調試會有一些麻煩,由於涉及到了瀏覽器及服務器,對於SPA的一些組件的聲明週期的管理會變得複雜 可能會因爲某些因素致使服務器渲染的結果與瀏覽器端的結果不一致。html

###先後端分離的概念 傳統的web先後端開發大可能是前端將頁面寫好,讓後端將頁面集成到項目中,這裏就存着一個先後端耦合的問題,首先對於後端來講,不只要寫後端邏輯,還得要集成前端頁面。對於前端來講,也不是很輕鬆就能看到頁面的真正渲染出來的樣子,這樣 確定是不利於開發調試的,效率天然也就成了問題。針對上述問題,先後端分離的思想應運而生。 ###基本概念 先後端根據AJAX接口進行數據的交互,目前常見的是後端直接將數據已JSON的格式返回給前端,前端根據後端服務器返回的數據,操做DOM。 ###主要優勢 分工明確,先後端各司其職,後端專一業務邏輯和功能的實現,前端專一頁面實現和渲染。 接口明確,並行開發。在後端接口沒有實現好以前,前端能夠本身模擬接口提供測試數據。 提升開發效率,必定程度上減小了先後端的溝通成本 #總結 ##先後端分離下降了前端和都端的耦合度,提升了開發效率; ##SPA是先後端分離中前端的一種解決方案; ##SEO對於跟多網站很重要而普通的SPA又不利於SEO; ##SSR的出現必定成都上解決了SPA首屏慢的問題,又極大減小了普通SPA對於SEO的不利影響。前端

相關文章
相關標籤/搜索