
Next๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ๋ค์ํ ์บ์ฑ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํฉ๋๋ค. ํฌ๊ฒ ๋ฆฌํ์คํธ ๋ฉ๋ชจ์ด์ ์ด์ , ํด๋ผ์ด์ธํธ ๋ผ์ฐํฐ ์บ์, ๋ฐ์ดํฐ ์บ์, ํ ๋ผ์ฐํธ ์บ์๋ก ๋๋์ด ์ ๋ฆฌํด๋ณด์๋ค.
๋์ผํ ์์ฒญ์ด ์ฌ๋ฌ๋ฒ ๋ฐ์ํ ๋, ๋ถํ์ํ ์ถ๊ฐ ์์ฒญ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ
๊ธฐ๋ณธ์ ์ผ๋ก Next.js๋ ์๋ฒ ์ฌ์ด๋์์ ๋์ผํ ์์ฒญ์ด ์ค๋ณต๋ฐ์ํ๋ฉด ๊ธฐ์กด ์๋ต์ ์ฌ์ฌ์ฉ
=> ํ๋์ ํ์ด์ง ๋ด์ ์กด์ฌํ๋ ์ค๋ณต๋ ์์ฒญ์ ๋ฐฉ์ง๋ฅผ ํตํ ๋คํธ์ํฌ ๋น์ฉ ๊ฐ์
๋ ์ด์์, ๋ก๋ฉ ์ํ์ ๊ฐ์ด ๊ณตํต์ ์ผ๋ก ์ฐ์ด๋ ์์์ ๋ํ RSC Payload๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์บ์ฑํ๋ ๊ธฐ๋ฅ
ํด๋ผ์ด์ธํธ ์ธก์์ ํ์ด์ง ์ ํ ์ ์บ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๊ธฐ์ ๋น ๋ฅธ ํ์์ด๊ฐ๋ฅํจ
=> ์๋ฒ ๋ถํ ๊ฐ์
fetch()์ ๋ค์ํ ๋ฐ์ดํฐ์บ์ ์ต์
์ ์ ์ฉ๊ฐ๋ฅํจ{cache: 'force-cache'}
์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์บ์ฑ์ ์ ์ฉํ ์ ์์
revalidate์ต์
์ ํตํด ์บ์ฑ์ ์ ์ฉํ๋ ์ผ์ ์ฃผ๊ธฐ๋ก ์ค์ ํ ์๋ ์์
{cache: 'no-store'}
cookie(), headers()์ ๊ฐ์ Dynamic Function์ ์ฌ์ฉํ๊ฑฐ๋ Route Segment Config๋ฅผ ๋์ ์ต์
์ผ๋ก ์ค์ ํ์ง ์๊ณ , ๋ฐ์ดํฐ ์บ์๋ฅผ ์ ์ฉํ๋ฉด ํ ๋ผ์ฐํธ ์บ์๊ฐ ํ์ฑํ๋จfetch()์ revalidate ์ต์
์ ์ค์ ํ๋ฉด ์ผ์ ์ฃผ๊ธฐ๋ก ํ์ด์ง๊ฐ ๊ฐฑ์ ๋๋ ISR๋ฐฉ์์ผ๋ก ๋์ํ๋๋ก ์ค์ ํ ์ ์์=> ํ์ด์ง ๋ก๋ ์๋๋ฅผ ๊ทน๋ํ ํ ์ ์์