๐ฑ CSR( Client-Side Rendering )
๋ชจ๋ ๋ ๋๋ง์ด ๋ธ๋ผ์ฐ์ ( ํด๋ผ์ด์ธํธ )์์ ์ด๋ฃจ์ด์ง๋ ๋ฐฉ์
Pros | Cons |
---|---|
๋น ๋ฅธ ์ด๊ธฐ ์๋ฒ ์๋ต | ์ด๊ธฐ ๋ก๋ฉ ์๋์ ๋ฌธ์ |
์ ์ฐ์ฑ: ๋์ ๋ฐ์ดํฐ ์ฆ๊ฐ ๊ฐฑ์ ๊ฐ๋ฅ | CDN ์บ์ฑ ๋ถ๊ฐ๋ฅ |
๊ฐ๋ฐ ๊ฐ์ํ( SPA ๋ฐฉ์ ) | SEO ์ ํ( ์ด๊ธฐ HTML์ด ๋น์ด์์ ) |
JavaScript ํ์ฑํ ํ์ | |
๋ณด์ โฌ๏ธ |
๐ฑ SSR( Server Side Rendering )
์๋ฒ์์ ๋ชจ๋ HTML ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ ๋ค, ์์ฑ๋ HTML ํ์ผ์ ๋ธ๋ผ์ฐ์ ๋ก ์ ๋ฌ
Pros | Cons |
---|---|
SEO ์นํ์ | ์๋ฒ ๋ถํ |
( ์ด๊ธฐ HTML ํฌํจ โ ๊ฒ์์์ง ์ฝ๊ฒ ์ธ๋ฑ์ฑ ) | ํ์ด์ง ์ด๋ ์๋ ๋๋ฆผ(ํ์ด์ง ์ ํ ์ ๋งค๋ฒ ๋ก๋) |
๋น ๋ฅธ ์ฒซ ํ๋ฉด ๋ ๋๋ง | |
JavaScript ํ์ X | |
๋ณด์ โฌ๏ธ |
Next.js ์ ๊ธฐ๋ณธ ๋์ ๋ฐฉ์
๐ฑ SSG( Static Site Generation )
- ๋น๋ ์์ ์ HTML ํ์ผ์ ์์ฑํ์ฌ ์ ์ ํ์ผ ์ ๊ณต
- ๋ชจ๋ ํ์ด์ง๋ ์ฌ์ ์ ๋ ๋๋ง๋์ด CDN( Content Delivery Network )๋ฅผ ํตํด ์ ๊ณต
Pros | Cons |
---|---|
๋น ๋ฅธ ์๋( ์ ์ HTML ํ์ผ CDN์์ ์ ๊ณต ) | ๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ด๋ ค์ |
SEO ์นํ์ ( ์ด๊ธฐ HTML ํฌํจ โ ๊ฒ์์์ง ์ฝ๊ฒ ์ธ๋ฑ์ฑ ) | ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ฌ๋น๋ |
์๋ฒ ๋ถ๋ด ์ ์ | ๋น๋ ์๊ฐ ์ฆ๊ฐ |
CDN ์บ์ฑ ๊ฐ๋ฅ | |
JavaScript ํ์ X | |
๋ณด์ โฌ๏ธ |
๐ฑ ISR ( Incremental Static Regeneration )
- SSG ํ์ฅ ๋ฐฉ์ โ ๋น๋ ์ดํ์๋ ์ ์ ํ์ด์ง ๊ฐฑ์ ๊ฐ๋ฅ
- ํน์ ์๊ฐ ๊ฐ๊ฒฉ๋ง๋ค ํ์ด์ง๋ฅผ ์ ์ ํ์ผ๋ก ๋ค์ ์์ฑ
revalidate
Pros | Cons |
---|---|
๋์ ๋ฐ์ดํฐ ์ง์ | ๋ณต์ก์ฑ: SSG ๋ณด๋ค ์ค์ ๋ณต์กโฆ |
SEO ์นํ์ ( ์ด๊ธฐ HTML ํฌํจ โ ๊ฒ์์์ง ์ฝ๊ฒ ์ธ๋ฑ์ฑ ) | ์ต์ ๋ฐ์ดํฐ ๋ฌธ์ |
CDN ์บ์ฑ ๊ฐ๋ฅ | ( ๊ฐฑ์ ์ฃผ๊ธฐ ๋์ ์ต์ ๋ฐ์ดํฐ ๋ฐ์ ๋ฌธ์ ) |
๋น ๋ฅธ ์ด๊ธฐ ๋ก๋ | |
JavaScript ํ์ X |
๋ฐฉ์ | ๋ ๋๋ง ํ์ด๋ฐ | SEO | ์ฒซ ํ๋ฉด ์๋ | ๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ | ์ ํฉํ ์ฌ์ฉ ์ฌ๋ก |
---|---|---|---|---|---|
CSR | ํด๋ผ์ด์ธํธ์์ ์คํ | ๋ฎ์ | ๋๋ฆผ | ๋งค์ฐ ์ฐ์ | SPA, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค์ฌ |
SSR | ์์ฒญ ์ ์๋ฒ์์ ๋ ๋ | ๋์ | ๋น ๋ฆ | ์ฐ์ | ๋์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ SEO |
SSG | ๋น๋ ์ ์ฌ์ ๋ ๋ | ๋์ | ๋งค์ฐ ๋น ๋ฆ | ์ ํ์ | ๋ธ๋ก๊ทธ, ๋ง์ผํ ํ์ด์ง |
ISR | ๋น๋ ์ + ๋์ ๊ฐฑ์ | ๋์ | ๋งค์ฐ ๋น ๋ฆ | ์ฐ์ | ๋ธ๋ก๊ทธ, ๋ด์ค ์ฌ์ดํธ |
๐ฑ Next.js : Hybrid Web App
- ์ฑ๋ฅ ์ข์ ๊ฐ๋ ฅํ Web App์ ์ํด ๋๊ฐ ์ด์์ ๋ ๋๋ง ๋ฐฉ๋ฒ ์ฌ์ฉ
๐ย Hydration
๋น ๋ฅธ ์์๋ถํฐ ๋์ดํ๋ค๋ฉด ??
- SSG > ISR > SSR > CSR
- SSG: ๋น๋ ์์ ์ ๋ชจ๋ HTML ์์ฑ, ์์ฒญ ์ ๊ทธ๋๋ก ๋ฐํ, CDN โ ๋คํธ์ํฌ ์ง์ฐ ์ต์ํ
- ISR: ์ด๊ธฐ ์์ฒญ ์ ์ ์ ํ์ผ ์ ๊ณต, ๊ฐฑ์ ์ด ํ์ํ ๊ฒฝ์ฐ์๋ง ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฌ์์ฑ
โ ๋๋ถ๋ถ์ ์์ฒญ: ์บ์ฑ๋ ์ ์ ํ์ผ ๋ฐํ- SSR: ์์ฒญ ์๋ง๋ค ์๋ฒ์์ HTML ๋์ ์์ฑ
- CSR: ์ด๊ธฐ ์์ฒญ ์ ์๋ฒ์์ ์ต์ํ์ HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฌ
โ ๋ธ๋ผ์ฐ์ ์์ JS ํ์ผ ๋ค์ด๋ก๋ / ์คํํ์ฌ ์ฝํ ์ธ ๋ ๋๋ง: ์ฒซ ํ๋ฉด ๋ก๋ฉ์ด ๊ฐ์ฅ ๋๋ฆผ
- ๋ธ๋ผ์ฐ์ ์์ ๋ชจ๋ ์์ ์ฒ๋ฆฌ: ์ด๊ธฐ ๋ก๋๊ฐ ๋๋ฆฌ์ง๋ง ์ดํ ์ฌ์ฉ์ ์ํธ์์ฉ์๋ ๋น ๋ฅธ ๋ฐ์์ฑ
โย ์ฐจ์ด ์ด์ : ์ฌ์ ๋ ๋๋ง ์ฌ๋ถ / ๋ธ๋ผ์ฐ์ ์์กด๋ / ์๋ฒ ์์ ๋