---
# System prepended metadata

title: SSR SPA是什麼?
tags: [網站知識, 中午分享]

---

---
slideOptions:
  transition: slide
---

# SSR SPA是什麼?

---
## 介紹
---
### SSR(Server Side Render)
> 伺服器端渲染: 伺服器端接收請求後，解析完整的html給前端，每次點擊按鈕或執行功能時，都需要重新繪製整個頁面
### SPA(Single Page Application)
> 單頁式應用: 資料流動、頁面調動、DOM調整靠JS處理，伺服器僅提供一個頁面讓JS引入，就像單純使用一個應用程式
---

## 比較圖
![](https://i.imgur.com/6AzF7TW.png)

## 發展流程
### SSR ===> SPA ===> 混合 SSR + SPA(需優化SEO的話)

## 什麼是混合SSR + SPA?
### ~~介於有跟沒有之間~~
![](https://i.imgur.com/5YdbUNX.png)

## 優缺點
* SPA
  * 優點: 
    1. 減少頻寬的浪費
    2. 使用體驗較好
  * 缺點: 
    1. SEO評分稍差
    2. 因為打包的JS檔通常較大，頁面加載後都會需要較長時間來解析
* SSR
  * 優點: 
    1. SEO評分較佳
    2. 加載速度快
    3. 對性能較不佳的手機或平板來說較友善
  * 缺點: 
    1. 每次點擊按鈕執行動作都需要重繪頁面
    2. 運算和流量都較大
<!-- ## 須注意事項
>我們可以用三個問題來幫助自己理解一項事物：
1.  為什麼要有XXX？
2.  沒有XXX跟有XXX的區別是什麼？
3.  所以XXX是什麼？ -->


## 參考
https://blog.niclin.tw/2019/01/06/%E6%B7%BA%E8%BF%B0-ssr-spa-%E5%84%AA%E7%BC%BA%E9%BB%9E/

https://www.bnext.com.tw/article/49172/code-mvc-spa-ssr-html

wiki
https://en.wikipedia.org/wiki/Single-page_application

https://medium.com/schaoss-blog/%E5%89%8D%E7%AB%AF%E4%B8%89%E5%8D%81-18-fe-%E7%82%BA%E4%BB%80%E9%BA%BC%E7%B6%B2%E7%AB%99%E8%A6%81%E5%81%9A%E6%88%90-spa-ssr-%E7%9A%84%E5%84%AA%E9%BB%9E%E6%98%AF%E4%BB%80%E9%BA%BC-c926145078a4
###### tags: `網站知識` `中午分享`