์ปดํจํฐ๋ ๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ์ฌ์ฉ์์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ผ๊น?
ํ๋ก ํธ์๋ ์ชฝ์ ๊ณต๋ถํ๋ค๋ฉด ํ๋ฒ์ฏค ๋ค์ด๋ดค์ SSR(์๋ฒ์ฌ์ด๋๋ ๋๋ง), CSR(ํด๋ผ์ด์ธํธ์ฌ์ด๋๋ ๋๋ง) ์ด๋๊ฐ๋ฅผ ์์๋ณด๊ธฐ์ ,
๋ ๋๋ง์ ๋ญ๊น?
๋ ๋๋ง์ ๋ญ๊น?
์ฝ๊ฒ ๋งํ๋ฉด, ์ปดํจํฐ๊ฐ ์ฌ์ฉ์์๊ฒ ์นํ์ด์ง๋ ์ฑ์ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ณผ์ ์ด๋ค.

๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ก ๋ถํฐ ๋ฐ์์จ HTML, CSS, JavaScript์ ์๋ฃ๋ฅผ ๋ฐ์์ ํด์ํ๊ณ , ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํ๋ฉด์ ์์๋ค์ ๊ทธ๋ ค์ฃผ๋ ๊ณผ์ ์ด๋ค.
- HTML์ ์นํ์ด์ง์ ๊ตฌ์กฐ์ ๋ด์ฉ์ ์ ์ํ๋ ๋งํฌ์ ์ธ์ด๊ณ ,
- CSS๋ ์คํ์ผ๊ณผ ๋ ์ด์์์ ์ง์ ํ๋ ์คํ์ผ์ํธ,
- JavaScript๋ ๋์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์๊ฒ ๊ตฌํํ๋ ํ๋ก๊ทธ๋๋ฐ์ธ์ด์ด๋ค.
๊ทธ๋ ๋ค๋ฉด, ๋ฐ์ดํฐ๋ค์ ๋ฐ์์์ ์ด๋ป๊ฒ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ฒ ๋๋ ๊ฒ์ผ๊น?
๋ ๋๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ HTML๋ฌธ์๋ฅผ ํด์ํ๊ณ DOM(Document Object Model) ํธ๋ฆฌ๋ฅผ ์์ฑํ๋๋ฐ, DOM ํธ๋ฆฌ๋ HTML ์์๋ค์ ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋ค. ๋ฌธ์๋ฅผ ํด์ํ๊ณ DOMํธ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๋๋ฉด CSS์์ ์คํ์ผ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ์์์ ์คํ์ผ์ ๊ณ์ฐํ๊ณ CSSOM๋ฅผ ์์ฑํ๋ค. ๊ทธ ์ดํ, JavaScript์ฝ๋๊ฐ ์คํ๋๋ฉด์ ๋์ ์ผ๋ก DOM์ ์กฐ์ํ๊ฑฐ๋ CSSOM๋ก ์คํ์ผ์ ๋ณ๊ฒฝํ ์ ์๋๋ฐ, ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ์์ง์ ์ํด ์ฒ๋ฆฌ๋์ด ํ๋ฉด์ ์ค์๊ฐ์ผ๋ก ๋ฐ์๋๋ค.
| ๊ตฌ๋ถ | DOM | CSSOM |
| ๋ชฉ์ | HTML๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๊ณ , ์นํ์ด์ง์ ์์๋ค์ ๊ณ์ธต๊ตฌ์กฐ๋ก ๋ํ๋ | CSS ์คํ์ผ ์ ๋ณด๋ฅผ ํํํ๊ณ , ์คํ์ผ ๊ณ์ฐํ์ฌ ์ ๊ณตํจ |
| ๊ตฌ์กฐ | HTML ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ,๊ฐ ์์๋ ๋
ธ๋๋ก ๋ํ๋ ๊ฐ ๋ ธ๋๋ ํ๊ทธ, ์์ฑ, ํ ์คํธ ๋ฑ์ ํฌํจํ ์ ๋ณด์ ๊ฐ์ง |
CSS ์คํ์ผ ์ ๋ณด๋ฅผ ํํํ๋ ๊ณ์ฐ๋ ๊ฐ์ฒด ๋ชจ๋ธ๋ก, ๊ฐ ์์๋ ์คํ์ผ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ ๊ฐ ์คํ์ผ ์ ๋ณด๋ ์ ํ์, ์์ฑ, ๊ฐ ๋ฑ์ ํฌํจํจ |
| ์ญํ | ์นํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ์ ์ดํ๊ณ ๋์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ํธ์์ฉ์ ๊ตฌํํ๊ธฐ ์ํด ์ฌ์ฉ๋จ JavaScript๋ฅผ ์ฌ์ฉํด DOM์ ์กฐ์ํ๊ณ ์์์ ์ถ๊ฐ, ์์ , ์ญ์ ๋ฑ์ ์ํํ ์ ์์ |
์นํ์ด์ง์ ์คํ์ผ์ ์ ์ดํ๊ณ , ๋์ ์ผ๋ก ์คํ์ผ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ฌ์ฉ๋จ JavaScript๋ฅผ ์ฌ์ฉํ์ฌ CSSOM์ ์กฐ์ํ๊ณ , ์คํ์ผ ๊ท์น์ ์ถ๊ฐ, ์์ , ์ญ์ ๋ฑ์ ์ํํ ์ ์์ |
๋ ๋๋ง๋ฐฉ์์ ์ CSR๊ณผ SSR์ด ๋์์๊น?
์นํ์ด์ง๊ฐ ๋จ์ํ๋ ์ด๊ธฐ์๋ CSR(ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง)์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋น HTML ๋ฌธ์๋ฅผ ์ ๋ฌํ๋ฉด ํด๋ผ์ด์ธํธ ์ธก์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ ๋๋ง ๋ฐฉ์์ด์๋ค. ์ด๋ก ์ธํด, ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ๋๋ฆฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ , ๊ฒ์ ์์ง์ด ์นํ์ด์ง์ ์ฝํ ์ธ ๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ต๊ทผ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๋ฉด์ ์ด๊ธฐ ๋ก๋ฉ ์๋์ SEO์ ๋ํ ์๊ตฌ๊ฐ ๋์์ง๋ฉด์ SSR์ด ๋ฑ์ฅํ๊ฒ ๋๋๋ฐ, SSR(์๋ฒ์ฌ์ด๋ ๋ ๋๋ง)์ ์๋ฒ์์ ์นํ์ด์ง์ ์ด๊ธฐ ๋ ๋๋ง์ ์ฒ๋ฆฌํ์ฌ ์์ฑ๋ HTML ๋ฌธ์๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ๋ฐฉ์์ ๋๋ค. ๊ทธ๋์ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ๊ฐ์ ํ๊ณ , ๊ฒ์์์ง์ด ํ์ด์ง์ ์ฝํ ์ธ ๋ฅผ ํ์ ํ๋๋ฐ ์ฉ์ดํฉ๋๋ค.
CSR
์ฅ์
- ์ด๊ธฐ ๋ก๋๋ง ์๋ฃ๋๋ฉด ์ดํ ๋น ๋ฆ(๋์ ์ธ ์ํธ์์ฉ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ด ์ข์)
- ํด๋ผ์ด์ธํธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ๋๋ฌธ์ ์๋ฒ ๋ถ๋ด์ด ์ ์(์๋ฒ ์์ฒญ ํ ์ผ์ด ๊ฑฐ์ ์์ ํ์์์๋ง ์์ฒญ)
๋จ์
- ์ด๊ธฐ ๋ก๋ฉ์๋๊ฐ ๋๋ฆผ
- SEO๊ฐ ์ข์ง์์(๋น HTML ํ์ผ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ค์ ์ฝํ ์ธ ํ์ ํ๊ธฐ ์ด๋ ค์ ๋ด์ด ๋ฐ์ดํฐ ์์งํ๊ธฐ ์ด๋ ค์)
SSR
์ฅ์
- ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ๋น ๋ฆ(์๋ฒ์์ ์นํ์ด์ง ์ด๊ธฐ๋ ๋๋ง์ ์ฒ๋ฆฌํจ)
- SEO์ ์ข์(์ด๋ฏธ ์์ฑ๋ HTML๋ฌธ์๋ฅผ ๋ฐ์์ ๋ด์ด ์ธ์ํ ์ ์์)
๋จ์
- ์๋ฒ์ ์์ฒญํ๋ ์ผ์ด ๋ง์ ์๋ฒ ๋ถํ๊ฐ ํผ
- ์๋ฒ์๋ต์๊ฐ์ ๋ฐ๋ผ ๋ ๋๋ง ์ง์ฐ
์ฐธ๊ณ
CSR ๊ณผ SSR์ ์ฐจ์ด ๊ทธ๋ฆฌ๊ณ SEO
์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง