์๋ฒ๋ก๋ถํฐ ๋ฐ๋ html, css, js๊ฐ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค
- ajax ์ ๋ฌด์ ์๊ด์๋ค. ๋๋ค fetch์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ๋ค.
์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํ ๋๋ง๋ค
์ ์ ๋ฆฌ์์ค๊ฐ ๋ค์ด๋ก๋ ํ๋์ง(MPA) ํน์
ํ์ด์ง ๊ฐฑ์ ์ ํ์ํ ๋ฐ์ดํฐ๋ง ์ ๋ฌ ๋ฐ์์ ํ์ด์ง๋ฅผ ๊ฐฑ์ ํ๋์ง์(SPA) ๋ฐ๋ผ ๊ตฌ๋ถํ๋ค.
๋ ๋๋ง ๋ฐฉ์์ ์ฐจ์ด๋ก
๋ธ๋ผ์ฐ์ ๊ฐ ๋๋๋ง์ ์งํํ๋ CSR๊ณผ
ํ๋ก ํธ ์๋ฒ์์ ๋ ๋๋ง์ ์งํํ๋ SSR๋ก ๋๋๋ค.
(๋ง์ฐ์ค ์ฐํด๋ฆญ์ผ๋ก ํ์ด์ง ์์ค๋ณด๊ธฐ๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅ)
- ๊ธฐ๋ณธ ํ๋ฉด๋ง์ ๋ฐ์์ฌ ๋๋
ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) <-> ํ๋ก ํธ์๋ ์๋ฒ- SSR์ ํ ๋๋
ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) <-> ํ๋ก ํธ์๋ ์๋ฒ <-> ๋ฐฑ์๋ ์๋ฒ <-> DB- CSR์ ํ ๋๋
ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) <-> ํ๋ก ํธ์๋ ์๋ฒ
ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) <-> ๋ฐฑ์๋ ์๋ฒ <-> DB
ํ๋ก ํธ์๋ ์๋ฒ์ ๋ฐฑ์๋ ์๋ฒ๊ฐ์ ์ฐ๊ด์ฑ์ ์์ ์ค๋ค.
๊ทธ๋ฅ ํ๊ทธ ์ฌ๋ฌ๊ฐ ์ฐ๊ณ API์ฐ๋ ์๋ ๊ฐ๋จํ HTML + CSS + JS ๋ด์ฉ
๋ธ๋ผ์ฐ์ ์์ ์์ฒญํ url์ ํตํด ์ํ๋ API๋ฅผ ํ๋ก ํธ ์๋ฒ๊ฐ ๋ฐฑ์๋ ์๋ฒ์ ์์ฒญํ์ฌ DB๊น์ง ๊ฐ์ ๋ฐ์์จ ๋ด์ฉ์ ํ๋ก ํธ ์๋ฒ์์ ํฉ์ณ์ ๋ธ๋ผ์ฐ์ ๋ก ๋ณด๋ด์ค๋ค.
๋ธ๋ผ์ฐ์ ์์ ์์ฒญํ url์ ํตํด ํ๋ก ํธ์๋ฒ์์ ํ์ํ HTML , CSS ,JS ํ์ผ ๋ฑ์ ๋ธ๋ผ์ฐ์ ๋ก ๊ฐ์ ธ์ค๊ณ (์ด๋ฅผ ํตํด SSR๋ณด๋ค ๋น ๋ฅด๊ฒ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ณด์ด๊ฒ ํ ์ ์๋ค.)
๋ธ๋ผ์ฐ์ ์์ ํด๋น ํ์ผ๋ค์ ๋ ๋๋งํ๋ฉด์ JSํ์ผ์ ์กด์ฌํ๋ API ์๋ฒ์์ ๋ฐ์ดํฐ ๋ด์ฉ์ ๋ฐฑ์๋ ์๋ฒ์ ์์ฒญํ๊ณ ์ด๋ฅผ ํตํด DB์์ ๋ฐ์์จ ๊ฒ์ ๋ธ๋ผ์ฐ์ ๋ก ๋ณด๋ด์ฃผ์ด ์ถ๊ฐ์ ์ธ ๋ด์ฉ๋ ๋ณด์ฌ์ฃผ๊ฒ ํ๋ค.
ํธ์์ ์์ ๋ฏธ๋ฆฌ ํฌ์ฅ๋ผ์ ์ง์ด๋๊ฑฐ ์ฌ๊ฐ๋ ๊ฒ ์ฒ๋ผ ๊ณ ์ ๋ HTML, CSS, ์๋ฐ์คํฌ๋ฆฝํธ, ์ด๋ฏธ์ง ๋ฑ์ ์๋ฒ๊ฐ ์ค๊ฐ์ง๊ณ ๋ค๊ฐ ๋ณํ์ง ์๋ ์น์ฌ์ดํธ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ
๊ฒ์ํ์ด๋ ํต๊ณ ํ์ด์ง์ฒ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ๊ณ์ ๋ฐ๋๋ ๋ด์ฉ์ ๋ฐ๋ผ๊ฐ์ง๊ณ ์ฌ์ฉ์๊ฐ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ์๋ฒ๊ฐ ๊ทธ๋๊ทธ๋ HTML ๋ด์ฉ๋ค์ ๋ ๋๋ง , ์๋ฆฌํด๋ค ๊ฐ๋ค์ฃผ๋ JSP๋ PHP๊ฐ์ ๊ฒ๋ค๋ก ๋ง๋๋ ๊ฒ
์ ์ ์ธ ๋ถ๋ถ๊ณผ ๋์ ์ธ ๋ถ๋ถ์ ํ์ธํ ์ ์๋ค.
(์๋ฅผ๋ค์ด ๋์ผํ ๋ฆฌ์์ค๋ฅผ ํธ์ถํ ๋ ์ ๋ฌํ ๋ฉ์ผ ์นดํ ๋ธ๋ก๊ทธ ์ ๋ถ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๋ฐํํ์ฌ ์ ์ ํ์ด์ง ๋ถ๋ถ์ด์ง๋ง
๊ทธ์ธ์ ๊ฐ๋ ค์ง ๋ถ๋ถ์ ๋์ผํ ๋ฆฌ์์ค๋ฅผ ํธ์ถํ ๋๋ง๋ค ๋ค๋ฅธ ๊ฒฐ๊ณผ(์ด์นด๋ฃจ์ค๋ , msk๋ ๋ฉ์ผ...)๋ฅผ ๋ฐ์์ค๋ ๋์ ํ์ด์ง ๋ถ๋ถ์ด๋ค. )
์ฒดํฌ๋ฅผ ํด์ ํ๋ฉด ๊ธฐ์กด์ ์ด์๊ฐ์ด ์กด์ฌํ๋ค.
React์ SSR๋ก ํ์ด์ง ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐ
(์ฌ์ดํธ์ ์ํ๋ ๋ถ๋ถ์ SSR๋ก ๋ง๋ค ์ ์๋ค. )
- SSR๋ก ๋๋ฆฌ๋ ค๋ฉด ์ ์ ํ์ผ๋ค๋ก ๋น๋ํด์ ์ฌ๋ฆฌ๋๊ฒ ์๋๋ผ Node.js๊ฐ ๊น๋ฆฐ ์๋ฒ์์ ํ๋ก์ ํธ๋ฅผ ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์คํํด์ ํ๋ก ํธ์๋๋ฅผ ๋ฐฐํฌ
- SEO ์ต์ ํ
๊ตฌ๊ธ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง๋ ์ฅ์ฐฉํ ํฌ๋กค๋ฌ๋ ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋ง๋๋ ๋ถ๋ถ๋ ๋ณผ ์ ์์ด CSR ํ์ด์ง๋ค๋ ๋ถ์์ด ๊ฐ๋ฅํ์ง๋ง, ์์ง ๊ทธ๋ฌ์ง ๋ชปํ ๊ฒ์ ์ฌ์ดํธ์์๋ ๋น ํ์ด์ง๋ก๋ง ์ธ์
=> ์ด๋์๋ ๋ด ์น์ฌ์ดํธ๊ฐ ์ ๊ฒ์๋๊ณ ๋์ ๋ง์ด ๋๊ฒ ํ๋ ค๋ฉด ์ด๋์ ๋์ SSR๊ณผ ๋ฉํํ๊ทธ๊ฐ ํ์ํ๋ค.- ๋ ๋น ๋ฅธ ์ด๊ธฐ ๋ก๋ฉ ์๋
- ์ ์ ํ์ด์ง, ๋์ ํ์ด์ง ์ฌ๋ถ๋ ๋์ผํ ๋ฆฌ์์ค๋ฅผ ํธ์ถํ์ ๋ ํญ์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๊ฐ์ ๋ฐ๋ผ ๊ฐ๋ฆฝ๋๋ค.
1) ์๋ฒ๊ฐ ์๊ฐ์ ๋ฐ๋ผ ๋์ค๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋๋ ๊ฒฝ์ฐ(ex. ๋ค์ด๋ฒ ๋ด์ค ํ์ด์ง)๋ ๋์ ํ์ด์ง ์ ๋๋ค.
2) github.io์ ์ฌ๋ผ๊ฐ HTML, CSS์ ๊ฒฝ์ฐ ์๋ก ๋ฐฐํฌํ๋ ๊ฒ์ด ์๋๋ฉด ๋ฐ๋์ง ์์ผ๋ฏ๋ก ์ ์ ํ์ด์ง ์ ๋๋ค.- CSR, SSR์ ๋ ๋๋ง ๋ฐฉ์์ ๋๋ค. ์ ์ ํ์ด์ง, ๋์ ํ์ด์ง ๋๋ค CSR, SSR์ด ๊ฐ๋ฅํฉ๋๋ค.