--- id: P-REINFORCE-AUTO-E97E11 category: "10_Wiki/๐Ÿ’ก Topics/Web Development" confidence_score: 0.95 tags: [auto-reinforced] last_reinforced: 2026-05-03 github_commit: "[P-Reinforce] Continuous Worker - Server Components (RSC)" --- # [[Server Components (RSC)|Server Components (RSC)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(React Server Components, RSC)๋Š” React ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์˜ค์ง ์„œ๋ฒ„์—์„œ๋งŒ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋œ ์ƒˆ๋กœ์šด ๋ Œ๋”๋ง ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‹ค [1, 2]. ๊ธฐ์กด์˜ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์ด ๊ฐ€์ง„ ํ•˜์ด๋“œ๋ ˆ์ด์…˜(Hydration) ์ง€์—ฐ๊ณผ ๋ถˆํ•„์š”ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ๋น„๋Œ€ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค [3, 4]. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ ๋’ค, ์ง๋ ฌํ™”๋œ UI ํ‘œํ˜„(RSC Payload)๋งŒ์„ ํด๋ผ์ด์–ธํŠธ์— ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ „์†กํ•จ์œผ๋กœ์จ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„์™€ ์„ฑ๋Šฅ์„ ๋Œ€ํญ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค [5, 6]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ž‘๋™ ์›๋ฆฌ ๋ฐ ์ง๋ ฌํ™” (Mechanism & Serialization):** ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์„œ๋ฒ„์—์„œ ๋ฏธ๋ฆฌ ์‹คํ–‰๋˜์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์— ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค [1, 7]. ๋Œ€์‹  JSON๊ณผ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์˜ ์ง๋ ฌํ™”๋œ UI ์„ค๋ช…์ธ 'RSC ํŽ˜์ด๋กœ๋“œ'๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๋กœ ์ŠคํŠธ๋ฆฌ๋ฐํ•œ๋‹ค [5]. ํด๋ผ์ด์–ธํŠธ์˜ React๋Š” ์ด ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ฝ์–ด ํ™”๋ฉด ์ „์ฒด๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์ง€ ์•Š๊ณ  ๊ธฐ์กด Fiber ํŠธ๋ฆฌ์— ๋ณ‘ํ•ฉํ•˜์—ฌ ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค [5, 8, 9]. ์ด๋ฅผ ํ†ตํ•ด ๋ฌด๊ฑฐ์šด ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(์˜ˆ: ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๋„๊ตฌ)๋ฅผ ํด๋ผ์ด์–ธํŠธ ๋ฒˆ๋“ค์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ ์ด์ ์„ ์ œ๊ณตํ•œ๋‹ค [10, 11]. - **ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์™€์˜ ๊ฒฝ๊ณ„ ์„ค์ • (Boundary Definition):** RSC ํŒจ๋Ÿฌ๋‹ค์ž„ ๋‚ด์—์„œ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค [12]. ์ƒํ˜ธ์ž‘์šฉ(Event Handlers), ์ƒํƒœ(State), ์ƒ๋ช…์ฃผ๊ธฐ(Effect) ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € API๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ํŒŒ์ผ ์ตœ์ƒ๋‹จ์— `'use client'` ์ง€์‹œ์–ด๋ฅผ ๋ช…์‹œํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ์ „ํ™˜ํ•œ๋‹ค [1, 6, 13, 14]. ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ์ž„ํฌํŠธ๋œ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” ์•”์‹œ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋˜๋Š” ์ œ์•ฝ์ด ์žˆ์œผ๋‚˜, ๋ถ€๋ชจ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ `children` ํ”„๋กœํ”„(prop)๋กœ ์ „๋‹ฌํ•˜์—ฌ ์ด ๊ฒฝ๊ณ„๋ฅผ ์šฐํšŒํ•˜๋Š” ํ•ฉ์„ฑ ํŒจํ„ด์„ ์‹ค๋ฌด์—์„œ ์ ๊ทน ํ™œ์šฉํ•œ๋‹ค [15-17]. - **๋ฐ์ดํ„ฐ ํŽ˜์นญ ๋ฐ Suspense์™€์˜ ํ†ตํ•ฉ:** ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ๋น„๋™๊ธฐ(async) ํ•จ์ˆ˜๋กœ ์ •์˜๋  ์ˆ˜ ์žˆ์–ด, ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋‚˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ฝ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค [1, 18]. ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋Š” React Suspense์™€ ๊ฒฐํ•ฉ๋˜์–ด, ์‘๋‹ต์ด ๋А๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ๋นˆ ํ™”๋ฉด ๋Œ€์‹  ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์ค€๋น„๋˜๋Š” ๋Œ€๋กœ ์•„์›ƒ์˜ค๋ธŒ์˜ค๋”(out-of-order) ๋ฐฉ์‹์œผ๋กœ ์ŠคํŠธ๋ฆฌ๋ฐํ•œ๋‹ค [19, 20]. - **์„œ๋ฒ„ ์•ก์…˜์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ฎคํ…Œ์ด์…˜ (Server Actions):** ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” `'use server'` ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„ ์•ก์…˜์„ ํ™œ์šฉํ•œ๋‹ค [21, 22]. ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ˜ธ์ถœ๋œ ์„œ๋ฒ„ ์•ก์…˜์€ ๋‚ด๋ถ€์ ์œผ๋กœ ์„œ๋ฒ„๋กœ ํ–ฅํ•˜๋Š” ๋‹จ์ผ ์™•๋ณต(Round trip) HTTP ์š”์ฒญ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋œ๋‹ค [23]. ์ด๋Š” ํผ(Form) ์ฒ˜๋ฆฌ ๋“ฑ์—์„œ ํƒ์›”ํ•œ ํšจ์œจ์„ ์ œ๊ณตํ•œ๋‹ค [24]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **์ƒํƒœ ๋ฐ ์ƒ๋ช…์ฃผ๊ธฐ ์‚ฌ์šฉ์˜ ํ•œ๊ณ„:** ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ Œ๋”๋ง๋œ ์ดํ›„ ์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๊ณ  ์žฌ๋ Œ๋”๋ง๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, `useState`, `useEffect` ๋“ฑ์˜ ํ›…์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค [13, 25]. - **์ง๋ ฌํ™” ์ œ์•ฝ ์กฐ๊ฑด:** ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ํ•จ์ˆ˜(Function)๋ฅผ ํ”„๋กœํ”„๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋‹ค. ์˜ค์ง ๋ฌธ์ž์—ด, ์ˆซ์ž, ๊ฐ์ฒด ๋“ฑ ์ง๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ˆœ์ˆ˜ ๊ฐ’๋งŒ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์„ ์ˆ˜ ์žˆ๋‹ค [26]. - **๋ฐ์ดํ„ฐ ๊ณผ๋‹ค ๋…ธ์ถœ๋กœ ์ธํ•œ ๋ณด์•ˆ ์œ„ํ—˜:** ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋งŽ์€ ๋ฐ์ดํ„ฐ(์˜ˆ: ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ์ฝ”๋“œ)๋ฅผ ํ”„๋กœํ”„๋กœ ์ „๋‹ฌํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €์˜ ๋„คํŠธ์›Œํฌ ํƒญ(RSC ํŽ˜์ด๋กœ๋“œ)์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋ถ€ ๋…ธ์ถœ๋˜๋Š” ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค [27]. - **์„œ๋ฒ„ ์•ก์…˜ ๋ณด์•ˆ (RCE ์ทจ์•ฝ์ ):** ์„œ๋ฒ„ ์•ก์…˜์€ ํ”„๋ก ํŠธ์—”๋“œ์˜ ๋กœ์ปฌ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ธํ„ฐ๋„ท์— ๊ณต๊ฐœ๋œ ํผ๋ธ”๋ฆญ HTTP ์—”๋“œํฌ์ธํŠธ์ด๋‹ค [27]. ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ์ฒ ์ €ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ(Validation)๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด, ์กฐ์ž‘๋œ ์š”์ฒญ์„ ํ†ตํ•ด ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰(RCE) ๋“ฑ ์‹œ์Šคํ…œ์„ ์žฅ์•…๋‹นํ•˜๋Š” ์ทจ์•ฝ์ (์˜ˆ: React2Shell)์ด ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ๋†’๋‹ค [28-30]. - **์„ฑ๋Šฅ์  ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๋ฐ ๋ณต์žก์„ฑ:** ์„œ๋ฒ„ ์•ก์…˜์€ ์ง๋ ฌํ™”๋˜์–ด ์‹คํ–‰๋˜๋ฏ€๋กœ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์•ก์…˜๋งŒ ์‹คํ–‰(In flight)๋  ์ˆ˜ ์žˆ๋‹ค [31]. ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ํ›„ `revalidateTag` ๋“ฑ์„ ํ˜ธ์ถœํ•˜๋ฉด ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์บ์‹œ๊ฐ€ ๋น„์›Œ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ์ „์ฒด RSC ํŠธ๋ฆฌ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง๋˜๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค [32, 33]. ๋˜ํ•œ ์ƒํ˜ธ์ž‘์šฉ์ด ์ฃผ๋ฅผ ์ด๋ฃจ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์˜ˆ: ๊ทธ๋ฆฌ๊ธฐ ๋„๊ตฌ ๋“ฑ)์˜ ๊ฒฝ์šฐ ์–ต์ง€๋กœ RSC ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ•˜๋ฉด ์•„ํ‚คํ…์ฒ˜์  ๋ณต์žก์„ฑ๋งŒ ์ปค์ง€๊ณ  ์‹ค์งˆ์ ์ธ ์ด์ ์ด ์—†์„ ์ˆ˜ ์žˆ๋‹ค [34]. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) ### Related Concepts #### [๊ด€๊ณ„ ์œ ํ˜• A (์•„ํ‚คํ…์ฒ˜/๊ธฐ๋ฐ˜ ๊ธฐ์ˆ )] - `[[Server Side Rendering (SSR)]]` - ์—ฐ๊ฒฐ ์ด์œ : RSC๋Š” ๊ธฐ์กด SSR์˜ ๋Œ€์ฒด์žฌ๊ฐ€ ์•„๋‹ˆ๋ผ, ์„œ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฒฐํ•ฉํ•˜์—ฌ ์ดˆ๊ธฐ ๋ Œ๋”๋ง ์†๋„์™€ JS ๋ฒˆ๋“ค ์ตœ์ ํ™”๋ฅผ ์ด๋ฃจ๋Š” ์ƒํ˜ธ ๋ณด์™„์ ์ธ ๋ Œ๋”๋ง ์ „๋žต์ด๋‹ค [35]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ ์„œ๋ฒ„์—์„œ HTML์˜ '๊ณจ๊ฒฉ(Shell)'์„ ์ƒ์„ฑํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•˜์ด๋“œ๋ ˆ์ด์…˜ํ•˜๋Š” ์ „๋ฐ˜์ ์ธ ์›น ๋ Œ๋”๋ง ๋งค์ปค๋‹ˆ์ฆ˜์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค [36, 37]. - `[[React Suspense]]` - ์—ฐ๊ฒฐ ์ด์œ : RSC ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†กํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ ์ŠคํŠธ๋ฆฌ๋ฐ(Streaming) ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ํ•ต์‹ฌ UI ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์ด๋‹ค [20, 38]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ Œ๋”๋ง ์ฐจ๋‹จ ํ˜„์ƒ(Waterfalls)์„ ํ”ผํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค€๋น„๋œ ์ˆœ์„œ๋Œ€๋กœ ์ ์ง„์  UI ๋ Œ๋”๋ง์ด ์ด๋ฃจ์–ด์ง€๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค [19, 20]. #### [๊ด€๊ณ„ ์œ ํ˜• B (๊ตฌํ˜„/ํ™œ์šฉ ๋„๊ตฌ)] - `[[Next.js App Router]]` - ์—ฐ๊ฒฐ ์ด์œ : RSC๋ฅผ ์™„์ „ํ•˜๊ฒŒ ์ง€์›ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํ”„๋กœ๋•์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค [6, 39, 40]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์‹ค์ œ ์‹ค๋ฌด ํ™˜๊ฒฝ์—์„œ ๋ผ์šฐํŒ… ์‹œ์Šคํ…œ์ด RSC ํŽ˜์ด๋กœ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ˜ธ์ถœํ•˜๊ณ , Next.js์˜ ์บ์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์„œ๋ฒ„ ์•ก์…˜์ด ์–ด๋–ป๊ฒŒ ์—ฐ๋™๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค [23, 33, 39]. - `[[Client Components]]` - ์—ฐ๊ฒฐ ์ด์œ : ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ ํŒจ๋Ÿฌ๋‹ค์ž„ ์†์—์„œ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ๊ณผ ๋ธŒ๋ผ์šฐ์ € ์ „์šฉ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ๋Œ€์ฒ™์ ์ด๋ฉฐ, `'use client'`๋ฅผ ํ†ตํ•ด ์˜๋„์ ์œผ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค [6, 41, 42]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ž„ํฌํŠธ(Import) ๊ฒฝ๊ณ„, ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ ํ”„๋กœํ”„(prop) ์ „๋‹ฌ ์›์น™ ๋“ฑ ํšจ์œจ์ ์ธ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์„ค๊ณ„๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค [5, 15]. ### Deeper Research Questions - React ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(RSC) ํŽ˜์ด๋กœ๋“œ์˜ ์ง๋ ฌํ™” ํฌ๋งท์€ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์˜ Fiber ํŠธ๋ฆฌ์™€ ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ณ‘ํ•ฉ(Merge)๋˜๋Š”๊ฐ€? - ์„œ๋ฒ„ ์•ก์…˜(`'use server'`)์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, ์‹ค๋ฌด์—์„œ๋Š” ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ/์ธ๊ฐ€(Authorization) ํŒจํ„ด์„ ๊ตฌ์ถ•ํ•˜์—ฌ HTTP ์—”๋“œํฌ์ธํŠธ๋กœ์„œ์˜ ์ทจ์•ฝ์ ์„ ๋ฐฉ์–ดํ•˜๋Š”๊ฐ€? - ๋ถ€๋ชจ๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์ผ ๋•Œ ์ž์‹์ธ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ `children`์œผ๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋ Œ๋”๋ง ์ œ์•ฝ์„ ์šฐํšŒํ•˜๋Š” 'ํ•ฉ์„ฑ(Composition) ํŒจํ„ด'์˜ ์ •ํ™•ํ•œ ์ž‘๋™ ์›๋ฆฌ๋Š” ๋ฌด์—‡์ธ๊ฐ€? - Next.js ์™ธ์— Waku, Vite, RedwoodJS ๋“ฑ ๋‹ค๋ฅธ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ฒˆ๋“ค๋Ÿฌ์—์„œ RSC๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๊ฒช๋Š” ๊ธฐ์ˆ ์  ํ•œ๊ณ„์™€ ์•„ํ‚คํ…์ฒ˜์  ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€? - ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ๋ณตํ•ฉ์ ์ธ UI๋ฅผ ๋งŒ๋“ค ๋•Œ, `react-query`์™€ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ˜ผ์šฉํ•˜๋ฉด ๋‘ ๋ฒˆ์˜ ๋„คํŠธ์›Œํฌ ์™•๋ณต์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์€ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ### Practical Application Contexts - **Implementation:** React ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ ์ž‘์„ฑ ์‹œ ์Šต๊ด€์ ์œผ๋กœ `'use client'`๋ฅผ ๋ถ™์ด๋Š” ๋Œ€์‹ , ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ธฐ๋ณธ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  ์ˆœ์ˆ˜ UI ๋ Œ๋”๋ง ๋กœ์ง์„ ์„œ๋ฒ„์— ๋ฐฐ์น˜ํ•˜์—ฌ ์ดˆ๊ธฐ ๋กœ๋“œ๋˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค [14, 43]. - **System Design:** ๋Œ€๊ทœ๋ชจ ๋งˆํฌ๋‹ค์šด ํŒŒ์‹ฑ์ด๋‚˜ ๋ฌด๊ฑฐ์šด ์ฝ”๋“œ ๊ตฌ๋ฌธ ๊ฐ•์กฐ(Syntax Highlighting) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ ๋‹จ์— ๋ฐฐ์น˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋‹จ๋ง๊ธฐ์˜ ์„ฑ๋Šฅ ๋ถ€๋‹ด์„ ์ œ๊ฑฐํ•˜๋Š” ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค [10, 11]. - **Operation / Maintenance:** ์„œ๋ฒ„ ์•ก์…˜ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ง์ ‘ POST ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์Œ์„ ์ „์ œ๋กœ, ์ฒ ์ €ํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฐ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์‚ด๊ท (Sanitize) ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์šด์˜ ํ‘œ์ค€์— ํฌํ•จ์‹œ์ผœ์•ผ ํ•œ๋‹ค [27, 29]. - **Learning Path:** ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)๊ณผ ํ•˜์ด๋“œ๋ ˆ์ด์…˜ ์ง€์—ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ๋ฅผ ์ดํ•ดํ•œ ๋’ค, React 19์˜ RSC ๋ชจ๋ธ๊ณผ Suspense, ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ(Next.js) ๊ตฌ์กฐ๋กœ ํ•™์Šต์„ ํ™•์žฅํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ ์ตœ์ ํ™” ์—ญ๋Ÿ‰์„ ํ‚ค์šด๋‹ค [3, 35, 44]. - **My Project Relevance:** ํ”„๋ ˆ์ž„์›Œํฌ๋ณ„ ์‹ค์ „ ์•„ํ‚คํ…์ฒ˜ ์ „๋žต์— ๋งž์ถฐ, ๋ฐ์ดํ„ฐ ์ข…์†์„ฑ์ด ๊นŠ๊ณ  ์ดˆ๊ธฐ ๋ Œ๋”๋ง์ด ์ค‘์š”ํ•œ ํ™”๋ฉด ์š”์†Œ๋Š” ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฒฉ๋ฆฌํ•˜๊ณ , ์ƒํ˜ธ์ž‘์šฉ์ด ์žฆ์€ ๋ถ€๋ถ„์€ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์ง€์นจ ์ˆ˜๋ฆฝ์— ์ง์ ‘ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ### Adjacent Topics - `[[Hydration & Progressive Rendering]]` - ํ™•์žฅ ๋ฐฉํ–ฅ: ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ์ดˆ๊ธฐ ๋งˆํฌ์—…์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ฐ–์ถ”๊ฒŒ ๋˜๋Š” 'ํ•˜์ด๋“œ๋ ˆ์ด์…˜' ๊ณผ์ •๊ณผ, ์ด๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ฒด๊ฐ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๋Š” ๊ธฐ๋ฒ•์œผ๋กœ ๊นŠ์ด ํ™•์žฅํ•˜์—ฌ ์กฐ์‚ฌ. --- *Last updated: 2026-05-03* --- *Last updated: 2026-05-03* - Raw Source: 00_Raw/2026-05-03/Server Components (RSC).md ---