1) ์ ์ ์น ํ์ด์ง์ ๋์ ์น ํ์ด์ง
- ์ธํฐ๋ท์ ์ด์ฉํ๋ฉด์ ์ ์ํ๊ฒ ๋๋ ์น ํ์ด์ง๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋๋ฐ, ์ ์ฅ๋ HTML ํ์ผ์ ๊ทธ๋๋ก ๋ณด๋ ์ ์ ์น ํ์ด์ง์ ์๋ฒ์ธก ์คํฌ๋ฆฝํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ์ฌ ์ปจํ ์ธ ๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ ๋์ ์น ํ์ด์ง๊ฐ ์๋ค.
(1) ์ ์ ์น ํ์ด์ง (Static Web Page)
- ์น ์๋ฒ์ ์ด๋ฏธ ์ ์ฅ๋ ํ์ผ (HTML ํ์ผ, CSS ํ์ผ, ์ด๋ฏธ์ง ํ์ผ, JavaScript ํ์ผ ๋ฑ)์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ ์น ํ์ด์ง์ด๋ค.
- ์ฌ์ฉ์๋ ์๋ฒ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์๋ ํ ๊ณ ์ ๋ ์น ํ์ด์ง๋ฅผ ๊ณ์ ๋ณด๊ฒ ๋๋ค.
- ์ฆ, ๋ชจ๋ ์ฌ์ฉ์๋ ๊ฐ์ ๊ฒฐ๊ณผ์ ์น ํ์ด์ง๋ฅผ ์๋ฒ์ ์์ฒญํ๊ณ ์๋ต ๋ฐ๊ฒ ๋๋ค.
(2) ๋์ ์น ํ์ด์ง (Dynamic Web Page)
- ์๋ฒ์ ์ ์ฅ๋ HTML ํ์ผ์ด ๊ทธ๋๋ก ๋ธ๋ผ์ฐ์ ์ ๋์ค๋ ๊ฒ์ด ์๋๋ผ ๋์ ์ผ๋ก ๋ง๋ค์ด์ง๋ ์น ํ์ด์ง์ด๋ค.
- ์๋ฅผ ๋ค์ด, G๋ง์ผ์ด๋ ์ฅ์ ์ฌ์ดํธ๋ฅผ ๋ค์ด๊ฐ๋ณด๋ฉด ์ค๋์ ์ถ์ฒ ์ํ, ์ฅ๋ฐ๊ตฌ๋ ๋ฑ์ด ๋์ ์น ํ์ด์ง์ ๋ํ์ ์ธ ์์์ด๋ค.
- ์ ์ ์น ํ์ด์ง์ ๋ฌ๋ฆฌ ์๋ฒ ์ธก์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ๋์ ์ผ๋ก HTML ํ์ผ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋ก๋ฉ ์๋๊ฐ ๋๋ฆฌ๋ค.
(3) ๋์ ์น ํ์ด์ง์ ์ข ๋ฅ
โ CSR (Client Side Rendering)
- ์น ํ์ด์ง๋ฅผ ํด๋ผ์ด์ธํธ (๋ธ๋ผ์ฐ์ )์์ ๋์ ์ผ๋ก ๋ ๋๋ง ํ๋ ๋ฐฉ์์ผ๋ก, ์๋ฒ์๊ฒ HTTP ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ HTML, CSS, JS ํ์ผ ๋ฑ์ ์๋ต ๋ฐ์ดํฐ์ ๋ด์ ๋ณด๋ด์ค๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ต ๋ฐ์ดํฐ์ ์๋ HTML, CSS, JS ํ์ผ๋ก ๋ ๋๋ง์ ํ๋ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ฉด ์ฃผ๋ก Ajax๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ํต์ ์ ํตํด ์ถ๊ฐ์ ์ธ ๋ ๋๋ง์ ์งํํ๋ค.
โก SSR (Server Side Rendering)
- ์น ํ์ด์ง๋ฅผ ์๋ฒ์์ ๋์ ์ผ๋ก ๋ ๋๋ง ํ๋ ๋ฐฉ์์ผ๋ก, ์๋ฒ์ HTTP ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์์ ํ๊ฒ ๋ง๋ค์ด์ง HTML ํ์ผ์ ์๋ต ๋ฐ์ดํฐ์ ๋ด์ ๋ณด๋ด์ฃผ๋ฉฐ ๋ธ๋ผ์ฐ์ ๋ ํด๋น ํ์ผ๋ก ํ์ด์ง๋ฅผ ๋ ๋๋งํ๋ค.
- CSR ๋ฐฉ์์ ์ฒ์์๋ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๊ฐ ์๋ HTML ํ์ผ์ ๋ฐ๊ณ ์ดํ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ์ฌ ์งํํ์ง๋ง SSR ๋ฐฉ์์ ์ฒ์๋ถํฐ ์์ ํ๊ฒ ๋ง๋ค์ด์ง HTML ํ์ผ์ ์๋ต๋ฐ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ ๋คํธ์ํฌ ๋น์ฉ์ด ๋ฐ์ํ์ง ์๋๋ค.
โข MPA (Multi Page Application)
- ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํ ๋๋ง๋ค ์ ์ ๋ฆฌ์์ค๊ฐ ๋ค์ด๋ก๋ ๋๊ณ , ๊ทธ์ ๋ง์ถ์ด ์ ์ฒด ํ์ด์ง๋ฅผ ๋ค์ ๋ ๋๋ง ํ๋ ๋ฐฉ์์ด๋ค. (SSR ๋ฐฉ์)
- ์๋ฅผ ๋ค์ด, ์ธํฐ๋ท ์ฃผ์์ฐฝ์ ์ฃผ์๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ ๋ฑ ์ฌ์ฉ์๊ฐ ์ด๋ค ์์ฒญ์ ํ๊ฒ ๋๋ฉด ๊ทธ์ ๋ง๋ HTML, CSS, JS, ์ด๋ฏธ์ง ๋ฑ์ ํ์ผ๋ค์ด ์ ๋ถ ๋ค์ด๋ก๋๋์ด ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง๋๋ค.
โฃ SPA (Single Page Application)
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ์ํ ๋ชจ๋ ์ ์ ๋ฆฌ์์ค๋ฅผ ์ต์ด ํ ๋ฒ๋ง ๋ค์ด๋ก๋ํ๊ณ ๊ทธ ์ดํ, ์๋ก์ด ํ์ด์ง์ ๋ํ ์์ฒญ์ด ์์ ๋๋ง๋ค ํ์ด์ง ๊ฐฑ์ ์ ํ์ํ ๋ฐ์ดํฐ๋ง ์ ๋ฌ๋ฐ์ ํ์ด์ง๋ฅผ ๊ฐฑ์ ํ๋ค. (CSR ๋ฐฉ์)
- ์ฆ, MPA ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ ํน์ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ค๊ณ ํด์ ๊ทธ์ ๊ด๋ จ๋ ๋ชจ๋ ํ์ผ์ ๋ค์ด๋ฐ๋ ๊ฒ ์๋๋ผ ํ์ํ ์ ๋ณด๋ง ๋ฐ์์ ๊ทธ ์ ๋ณด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ด๋ค.
- SPA๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ํ๋ ์์ํฌ๋ก๋ React, Vue ๋ฑ์ด ์๋ค.
- SPA ๋ฐฉ์์ ์ต์ด ์ ์ ์, ์ฒซ ํ์ด์ง ๋ก๋ฉ ์๊ฐ์ด ๊ธธ๋๋ผ๋ ๊ทธ ์ดํ ํ์ด์ง๋ถํฐ๋ ์๋๊ฐ ๋น ๋ฅด๋ฉฐ MPA ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ ํ์ด์ง ์ด๋ ์, ๊น๋ฐ๊ฑฐ๋ฆผ์ด ์๊ณ ๋ฐ์ ์๋ ๋ํ ์ข๋ค.
- ๋ค๋ง, ๊ฒ์ ์์ง ์ต์ ํ ๊ด์ ์์๋ ๋ถ๋ฆฌํ๋ค๋ ๋จ์ ์ด ์๋ค.
[Reference]
- https://velog.io/@dyunge_100/WEB-%EC%A0%95%EC%A0%81-%EC%9B%B9-%ED%8E%98%EC%9D%B4%EC%A7%80%EC%99%80-%EB%8F%99%EC%A0%81-%EC%9B%B9-%ED%8E%98%EC%9D%B4%EC%A7%80
- https://velog.io/@jcinsh/How-the-Web-work
- https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/
๋ฐ์ํ