# [[Modern Website Architecture]] ## ๐Ÿ“Œ Brief Summary ํ˜„๋Œ€์˜ ์›น์‚ฌ์ดํŠธ ์•„ํ‚คํ…์ฒ˜๋Š” ๊ณ ์„ฑ๋Šฅ ๊ธฐ์ˆ  ๊ตฌ์กฐ์™€ ์ „ํ™˜(Conversion) ์ค‘์‹ฌ์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์ด ์™„๋ฒฝํ•˜๊ฒŒ ํ†ตํ•ฉ๋œ ์ƒํƒœ๊ณ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [1]. ๊ณผ๊ฑฐ ๋””์ž์ธ๊ณผ ์—”์ง€๋‹ˆ์–ด๋ง์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, ํ˜„์žฌ๋Š” ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„์˜ ์ง€์—ฐ์ด๋‚˜ ๋ฏธ์„ธํ•œ ๋ ˆ์ด์•„์›ƒ ์ด๋™์กฐ์ฐจ ๋น„์ฆˆ๋‹ˆ์Šค์˜ ์ƒ์กด์„ ์œ„ํ˜‘ํ•˜๋Š” ์š”์†Œ๋กœ ๊ฐ„์ฃผ๋˜์–ด ์—„๊ฒฉํ•œ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค [1]. ๋”๋ถˆ์–ด React์™€ ๊ฐ™์€ ์ตœ์‹  ํ”„๋ ˆ์ž„์›Œํฌ ํ™˜๊ฒฝ์—์„œ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR), ๋™์  ๋ผ์šฐํŒ…, ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋ฐ”์ผ ์šฐ์„ ์ฃผ์˜ ์ ‘๊ทผ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)์™€ ์••๋„์ ์ธ ์‚ฌ์šฉ์ž ์†๋„ ๊ฒฝํ—˜์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค [1-3]. ## ๐Ÿ“– Core Content * **๊ตฌ์กฐ์  ๊ณ„์ธต ๋ฐ ๋””์ž์ธ ์ฒ ํ•™** ํ˜„๋Œ€ ์›น ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋ณธ ์ฒ ํ•™์€ ์ •๋ณด์˜ ๋ฐ€๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์ธ์ง€์  ๋ช…ํ™•์„ฑ์„ ๋†’์ด๋Š” '๋นŒ๋ณด๋“œ(Billboard)' ๋ชจ๋ธ๋กœ์˜ ์ „ํ™˜์ž…๋‹ˆ๋‹ค [4]. ๋ชจ๋“  ๊ธฐ๋Šฅ๊ณผ ์ฝ˜ํ…์ธ ๋ฅผ ํ—ค๋”์— ์‘ค์…” ๋„ฃ๋˜ ๊ณผ๊ฑฐ ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜, ์—ฌ๋ฐฑ, ์‹œ๊ฐ์  ๊ณ„์ธต ๊ตฌ์กฐ, ๋ช…ํ™•ํ•œ ์ œ๋ชฉ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์—ฌ์ •์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค [4]. ๋˜ํ•œ ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ฐ”์ผ ์šฐ์„ (Mobile-first) ์ ์‘ํ˜• ๋””์ž์ธ๊ณผ ์‹œ๋งจํ‹ฑ HTML5 ๋ฐ ์Šคํ‚ค๋งˆ ๋งˆํฌ์—…์„ ํ™œ์šฉํ•˜์—ฌ ์ ‘๊ทผ์„ฑ๊ณผ AI ๊ฒ€์ƒ‰ ์—”์ง„์˜ ํฌ๋กค๋ง์„ ๋•๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ”์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [5-7]. * **๋ Œ๋”๋ง ์ „๋žต (Rendering Strategies) ๋ฐ SEO** ์ „ํ†ต์ ์ธ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR) ๊ธฐ๋ฐ˜์˜ ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)์€ ๋นˆ HTML ์…ธ์„ ์ œ๊ณตํ•˜์—ฌ ๊ฒ€์ƒ‰ ์—”์ง„์˜ ํฌ๋กค๋ง ์ง€์—ฐ ๋ฐ SEO ํ•˜๋ฝ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [8-10]. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ํ˜„๋Œ€ ์•„ํ‚คํ…์ฒ˜๋Š” **์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)**, **์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(SSG)**, ๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฐ€์ง€์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•œ **์ ์ง„์  ์ •์  ์žฌ์ƒ์„ฑ(ISR)** ๋ฐฉ์‹์„ ์ „๋žต์ ์œผ๋กœ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [3, 11, 12]. ์ด๋Š” ๊ฒ€์ƒ‰ ์—”์ง„ ๋ด‡์— ์ฆ‰๊ฐ์ ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์ดˆ๊ธฐ ๋กœ๋“œ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜์—ฌ ๋žญํ‚น ์ƒ์Šน๊ณผ ์›ํ™œํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [3, 13, 14]. * **์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ (Core Web Vitals)** ์ตœ์‹  ์›น ์•„ํ‚คํ…์ฒ˜๋Š” ๊ตฌ๊ธ€์˜ 2025๋…„ ๊ธฐ์ค€ ์—„๊ฒฉํ•ด์ง„ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LCP(Largest Contentful Paint)๋Š” 2.0์ดˆ ๋ฏธ๋งŒ, CLS(Cumulative Layout Shift)๋Š” 0.08 ๋ฏธ๋งŒ, ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กญ๊ฒŒ ๋„์ž…๋œ INP(Interaction to Next Paint)๋Š” 150ms ๋˜๋Š” 200ms ๋ฏธ๋งŒ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [7, 15, 16]. ์ด๋ฅผ ์œ„ํ•ด WebP/AVIF ์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ๋ Œ๋”๋ง ์ฐจ๋‹จ ๋ฆฌ์†Œ์Šค ์ œ๊ฑฐ, ์›น ์›Œ์ปค(Web Workers)๋ฅผ ์ด์šฉํ•œ ๊ณผ๋„ํ•œ JavaScript ๋ถ„์‚ฐ ์‹คํ–‰, ๋ ˆ์ด์•„์›ƒ ์ด๋™ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๋ช…์‹œ์  ํฌ๊ธฐ ์ง€์ • ๋“ฑ์ด ํ•„์ˆ˜์ ์œผ๋กœ ์ˆ˜๋ฐ˜๋ฉ๋‹ˆ๋‹ค [17-20]. * **ํ”„๋ŸฐํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ผ์šฐํŒ… ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ** React Router v6.4+์™€ ๊ฐ™์€ ์ตœ์‹  ๋ผ์šฐํŒ… ๊ธฐ์ˆ ์€ ๋‹จ์ˆœํ•œ ํŽ˜์ด์ง€ ์ด๋™์„ ๋„˜์–ด ๋ฐ์ดํ„ฐ ํŒจ์นญ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์ค‘์•™์—์„œ ์กฐ์œจํ•ฉ๋‹ˆ๋‹ค [21]. ์ค‘์ฒฉ ๋ผ์šฐํŒ…(Nested Routing)์„ ํ†ตํ•ด UI๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ฉฐ, **Loader**์™€ **Action** API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์™€ '์›Œํ„ฐํด(Waterfall)' ์ง€์—ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [22, 23]. ๋˜ํ•œ, ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…(Code Splitting) ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ํ†ตํ•ด ์ดˆ๊ธฐ JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ์„ฑ๋Šฅ์„ ๋Œ€ํญ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [24-26]. * **์ ‘๊ทผ์„ฑ(Accessibility)๊ณผ ์ƒํ˜ธ ์šด์šฉ์„ฑ(Baseline)** ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ํฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด WCAG 2.1 ๋ฐ ์ตœ์‹  2.2 AA ํ‘œ์ค€ ์ค€์ˆ˜๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [27]. ์ด๋Š” ํ‚ค๋ณด๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ง€์›, ์ดˆ์ (Focus)์ด ๋‹ค๋ฅธ ์ฝ˜ํ…์ธ ์— ๊ฐ€๋ ค์ง€์ง€ ์•Š๋„๋ก ๋ณด์žฅ, ๋ณต์žกํ•œ ๋“œ๋ž˜๊ทธ ์ œ์Šค์ฒ˜์˜ ๋Œ€์•ˆ ์ œ๊ณต ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค [28, 29]. ์•„์šธ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ ํ‰๊ฐ€์— ์žˆ์–ด ๊ฐœ๋ณ„ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „๋ณด๋‹ค๋Š” ์›น ํ”Œ๋žซํผ์˜ ์•ˆ์ „ํ•œ ์‚ฌ์šฉ ๊ธฐ์ค€์ ์ธ '๋ฒ ์ด์Šค๋ผ์ธ(Baseline)'์„ ํ†ตํ•ด ํด๋ฆฌํ•„ ์˜์กด์„ ์ค„์ด๊ณ  ๋„ค์ดํ‹ฐ๋ธŒ ์›น API๋ฅผ ์ ๊ทน ์ฑ„ํƒํ•˜๋Š” ์ถ”์„ธ์ž…๋‹ˆ๋‹ค [30-32]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Core Web Vitals]], [[Server-Side Rendering (SSR)]], [[Single Page Applications (SPA)]], [[Web Content Accessibility Guidelines (WCAG)]], [[React Router]], [[Code Splitting]] - **Projects/Contexts:** [[Allbirds PWA Redesign]], [[Multi-Brand Marketplace Platform Onboarding Redesign]] - **Contradictions/Notes:** SPA ๊ตฌํ˜„ ์‹œ CSR์€ ์ธํ„ฐ๋ž™์…˜ ์†๋„๋ฅผ ๋†’์—ฌ์ฃผ์ง€๋งŒ ์ดˆ๊ธฐ ๋ Œ๋”๋ง ์ง€์—ฐ๊ณผ ๊ฒ€์ƒ‰ ์—”์ง„ ๋ด‡์˜ ์ ‘๊ทผ์„ฑ ๋ถ€์žฌ๋ผ๋Š” ๋ช…ํ™•ํ•œ ๋‹จ์ ์ด ์žˆ์–ด, ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ์ธ์ฆ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ๊ณต๊ฐœ ์ฝ˜ํ…์ธ ์˜ ๊ฒฝ์šฐ CSR๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ SSR, SSG ๋˜๋Š” ISR๋กœ ๋Œ€์ฒดํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค [2, 11, 33]. --- *Last updated: 2026-04-26*