1. SPA์ MPA
SPA(Single Page Application)
- ํ๋์ HTML ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ๋์ ์ผ๋ก ํ๋ฉด์ ์ปจํ ์ธ ๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ์์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ค.
- ์ด๋ค ์น ์ฌ์ดํธ์ ์ ์ฒด ํ์ด์ง๋ฅผ ํ๋์ ํ์ด์ง์ ๋ด์ ๋์ ์ผ๋ก ํ์ฌ์ ํ๋ฉด์ ๋ฐ๊ฟ๊ฐ๋ฉฐ ํํํ๋ค.
MPA(Multiple Page Application)
- ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ์์ฒญํ ๋๋ง๋ค, ์น ์๋ฒ๊ฐ ์์ฒญํ UI์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ HTML๋ก ํ์ฑํด์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ค.
- ์ ํต์ ์ธ ๋ฐฉ์์ผ๋ก ๋์ํ๋ฉฐ, ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์๊ฒ ์ ๋ฌํ ๋๋ง๋ค ํ๋ฉด์ด ์ ํ๋๋ค.
Rendering
- ์๋ฒ๋ก๋ถํฐ HTML ํ์ผ์ ๋ฐ์์ ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅํ๋ ๊ณผ์
์ ํต์ ์ธ ๋ฐฉ์์ ์ด์ฉํ๋ค๋ฉด, SPA๊ฐ ์ฌ์ฉํ๋ ๋ ๋๋ง ๋ฐฉ์์ CSR์ด๊ณ , MPA๊ฐ ์ฌ์ฉํ๋ ๋ ๋๋ง ๋ฐฉ์์ SSR์ด๋ค.
2. CSR(Client Side Rendering)
- ํด๋ผ์ด์ธํธ ์ธก์์ HTML์ ๋ฐํํ ํ์, ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋์ํ๋ฉด์ ๋ฐ์ดํฐ๋ง์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋ง์ ์งํํ๋ ๊ฒ
- ํ๋ฉด ๊ตฌ์ฑ์ ํ์ํ ๋ชจ๋ HTML์ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ๊ณ ์๊ณ , ์๋ฒ ์ธก์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํด์ JSON์ผ๋ก ๋ฐ๋๋ค.
CSR์ ์ฅ๋จ์
๐ ์ฅ์
- ์ฒซ ๋ก๋ฉ๋ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ ๋๋ง์ด ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ๊ฒฝํ(UX)์ด ์ข๋ค.
- ์๋ฒ์๊ฒ ์์ฒญํ๋ ํ์๊ฐ ํจ์ฌ ์ ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๋ถ๋ด์ด ๋ํ๋ค.
- ์ฌ์ฉ์์ ํ๋์ ๋ฐ๋ผ ํ์ํ ๋ถ๋ถ๋ง ๋ค์ ์ฝ์ด๋ค์ด๊ธฐ ๋๋ฌธ์, SSR๋ณด๋ค ์กฐ๊ธ ๋ ๋น ๋ฅธ ์ธํฐ๋์ ์ด ๊ฐ๋ฅํ๋ค.
- ํ์ด์ง์ ํ์ํ ๋ถ๋ถ๋ง ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์, ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ์์๋ ๋น ๋ฅธ ์๋๋ก ๋ ๋๋ง์ด ๊ฐ๋ฅํ๋ค.
๐ ๋จ์
- ๋ชจ๋ ์คํฌ๋ฆฝํธ ํ์ผ์ด ๋ก๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ์ฆ, ์ด๊ธฐ๊ตฌ๋ ์๋๊ฐ ๋๋ฆฌ๋ค.
- ๊ฒ์์์ง์ ๊ฒ์ ๋ด์ด ํฌ๋กค๋ง์ ํ๋๋ฐ ์ด๋ ค์์ ๊ฒช๊ธฐ ๋๋ฌธ์ ๊ฒ์์์ง ์ต์ ํ(SEO, Search Engine Optimization)์ ๋ฌธ์ ๊ฐ ์๋ค.
- ๊ตฌ๊ธ ๋ด์ ๊ฒฝ์ฐ๋ JS๋ฅผ ์ง์ํ์ง๋ง, ๋ค๋ฅธ ๊ฒ์์์ง์ ๊ฒฝ์ฐ ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋๋ค.
3. SSR(Server Side Rendering)
- ์๋ฒ์์ ๋ ๋๋ง์ ์์ ํ๋ ๋ ๋๋ง ๋ฐฉ์
- ์น ์๋ฒ์ ์์ฒญํ ๋๋ง๋ค ๋ธ๋ผ์ฐ์ ์์ ์๋ก๊ณ ์นจ์ด ์ผ์ด๋๊ณ , ์๋ฒ์ ์๋ก์ด ํ์ด์ง์ ๋ํ ์์ฒญ์ ํ๋ ๋ฐฉ์์ด๋ค.
SSR์ ์ฅ๋จ์
๐ ์ฅ์
- ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ปจํ ์ธ ๋ฅผ ๋นจ๋ฆฌ ๋ณผ ์ ์๋ค.
- JS๋ฅผ ์ด์ฉํ ๋ ๋๋ง์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ฒ์์์ง ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ค.
๐ ๋จ์
- ๋งค๋ฒ ํ์ด์ง๋ฅผ ์์ฒญํ ๋๋ง๋ค ์๋ก๊ณ ์นจ ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ๊ฒฝํ์ด SPA์ ๋นํด์ ์ข์ง ์๋ค.
- ์ฌ์ฉ์๊ฐ ์ฒ์์ผ๋ก ์ปจํ ์ธ ๋ฅผ ๋ณผ ์๋ ์์ผ๋, ํ๋ฉด๋จ์๋ html ์์๋ค์ด ๋์ค๋๋ฐ js ํ์ผ์ด ๋ชจ๋ ๋ค์ด๋ก๋ ๋์ง ์์์ ๋ฒํผ์ด ํด๋ฆญ๋์ง ์๋ ๋ฑ์ ํ์์ด ์์ ์ ์๋ค.
- ํ์ด์ง ์ ์ฒด๋ฅผ ๋ก๋ฉํ๋ค๋ณด๋ CSR๋ณด๋ค ๋๋ฆฌ๊ณ , bandwidth๋ฅผ ๋ง์ด ์ด๋ค.
- ์๋ฒ์ ๋งค๋ฒ ์์ฒญ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๋ถํ๊ฐ ์ปค์ง๋ค.
์ฐธ๊ณ
https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/frontend/csr-ssr.md
https://ivorycode.tistory.com/entry/SSRSever-Side-Rendering%EA%B3%BC-CSRClient-Side-Rendering
'elice > study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ๋ชจ๋ ๋ฒ๋ค๋ฌ์ ํธ๋์คํ์ผ๋ฌ (0) | 2022.02.01 |
---|---|
[CS] BOM๊ณผ DOM (0) | 2022.01.29 |
[CS] ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์ฝ๋๋ฅผ ์คํํ๋ ๊ณผ์ (0) | 2022.01.29 |
[CS] ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ์๋ฆฌ (0) | 2022.01.27 |
[BE] DML(Data Manipulation Language) (0) | 2022.01.26 |