# [[Server-Side Rendering (SSR)]] ## πŸ“Œ Brief Summary μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§(SSR)은 μ‚¬μš©μžκ°€ νŽ˜μ΄μ§€λ₯Ό μš”μ²­ν•  λ•Œλ§ˆλ‹€ μ„œλ²„μ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ—¬ μ™„μ „ν•œ HTML을 μƒμ„±ν•œ λ’€ λΈŒλΌμš°μ €λ‘œ μ „μ†‘ν•˜λŠ” μ›Ήμ‚¬μ΄νŠΈ λ Œλ”λ§ λ°©μ‹μž…λ‹ˆλ‹€ [1, 2]. λΈŒλΌμš°μ €κ°€ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‹€ν–‰ν•˜κΈ° 전에 μ½˜ν…μΈ κ°€ ν¬ν•¨λœ HTML이 μ¦‰μ‹œ λ„λ‹¬ν•˜λ―€λ‘œ 초기 λ‘œλ”© 속도와 검색 μ—”μ§„ μ΅œμ ν™”(SEO)에 맀우 μœ λ¦¬ν•©λ‹ˆλ‹€ [3-5]. 주둜 μ œν’ˆ λͺ©λ‘, λ‰΄μŠ€ ν”Όλ“œμ™€ 같이 μ‹€μ‹œκ°„μœΌλ‘œ 자주 λ³€κ²½λ˜κ±°λ‚˜ 동적인 μ½˜ν…μΈ λ₯Ό λ‹€λ£¨λŠ” λ§ˆμΌ€νŒ… μ‚¬μ΄νŠΈ 및 μ „μžμƒκ±°λž˜ ν”Œλž«νΌμ— μ ν•©ν•©λ‹ˆλ‹€ [1, 2, 6]. ## πŸ“– Core Content - **λ™μž‘ 방식 및 νŠΉμ§•:** μ‚¬μš©μžκ°€ μ›Ή νŽ˜μ΄μ§€λ₯Ό μš”μ²­ν•˜λ©΄ μ„œλ²„λŠ” ν•„μš”ν•œ API 데이터λ₯Ό κ°€μ Έμ˜€κ³  μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ—¬ λ Œλ”λ§λœ μ™„μ „ν•œ HTML을 λ°˜ν™˜ν•©λ‹ˆλ‹€ [2, 5]. λΈŒλΌμš°μ €κ°€ 이λ₯Ό 화면에 ν‘œμ‹œν•œ ν›„, μžλ°”μŠ€ν¬λ¦½νŠΈ λ²ˆλ“€μ΄ λ‹€μš΄λ‘œλ“œλ˜κ³  'ν•˜μ΄λ“œλ ˆμ΄μ…˜(Hydration)' 과정을 거쳐 νŽ˜μ΄μ§€κ°€ λΉ„λ‘œμ†Œ μƒν˜Έμž‘μš© κ°€λŠ₯ν•œ μƒνƒœκ°€ λ©λ‹ˆλ‹€ [2, 5]. - **SEO 및 검색 μ—”μ§„ 크둀링 ν–₯상:** SSR은 μžλ°”μŠ€ν¬λ¦½νŠΈ μ‹€ν–‰ 없이도 메타데이터, κ΅¬μ‘°ν™”λœ 데이터 및 λ³Έλ¬Έ μ½˜ν…μΈ κ°€ ν¬ν•¨λœ μ™„μ„±λœ HTML을 μ œκ³΅ν•©λ‹ˆλ‹€ [4]. 이둜 인해 Googlebotκ³Ό 같은 검색 엔진이 μ½˜ν…μΈ λ₯Ό λ°œκ²¬ν•˜κΈ° μœ„ν•΄ μžλ°”μŠ€ν¬λ¦½νŠΈ 싀행을 기닀릴 ν•„μš” 없이 μ¦‰μ‹œ ν¬λ‘€λ§ν•˜κ³  색인화할 수 μžˆμ–΄ SEO μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€ [4, 6, 7]. - **μ„±λŠ₯적 이점:** FCP(First Contentful Paint) 속도λ₯Ό λ†’μ—¬ μ‚¬μš©μžκ°€ 의미 μžˆλŠ” μ½˜ν…μΈ λ₯Ό μ¦‰κ°μ μœΌλ‘œ λ³Ό 수 있게 ν•΄μ£Όλ©°, 저사양 ν΄λΌμ΄μ–ΈνŠΈ κΈ°κΈ° λŒ€μ‹  μ„œλ²„μ—μ„œ λ Œλ”λ§μ„ μ²˜λ¦¬ν•˜μ—¬ 체감 μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€ [2, 5, 8]. - **단점 및 ν•œκ³„:** λ§€ μš”μ²­λ§ˆλ‹€ μ„œλ²„ μΈ‘μ—μ„œ λ Œλ”λ§ 과정을 거쳐야 ν•˜λ―€λ‘œ μ„œλ²„ λΆ€ν•˜(Server load)κ°€ μ¦κ°€ν•˜λ©° μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ꡬ쑰적 λ³΅μž‘μ„±μ΄ λ†’μ•„μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 5]. λ˜ν•œ, 화면에 μ½˜ν…μΈ κ°€ λΉ λ₯΄κ²Œ ν‘œμ‹œλ˜λ”λΌλ„ μžλ°”μŠ€ν¬λ¦½νŠΈ λ²ˆλ“€μ΄ λ‘œλ“œλ˜μ–΄ ν•˜μ΄λ“œλ ˆμ΄μ…˜μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€λŠ” μ‚¬μš©μžκ°€ μƒν˜Έμž‘μš©ν•  수 μ—†λŠ” μ§€μ—° μ‹œκ°„μ΄ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5]. - **μ΅œμ ν™” 및 λ³΄μ•ˆ λͺ¨λ²” 사둀:** - μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•΄ μ„œλ²„ λ Œλ”λ§ νŽ˜μ΄μ§€λ‚˜ 데이터λ₯Ό μΊμ‹±ν•˜κ³ , μ„œλ²„ ꡬ성 및 API ν˜ΈμΆœμ„ μ΅œμ ν™”ν•˜λ©°, React 18+의 슀트리밍 SSRμ΄λ‚˜ 점진적 ν•˜μ΄λ“œλ ˆμ΄μ…˜(Progressive Hydration)을 μ μš©ν•˜μ—¬ 핡심 μš”μ†Œμ˜ λ‘œλ”© 속도λ₯Ό μ•žλ‹ΉκΈ°λŠ” 것이 ꢌμž₯λ©λ‹ˆλ‹€ [9, 10]. - λ³΄μ•ˆ μΈ‘λ©΄μ—μ„œλŠ” 동적 μ½˜ν…μΈ  λ Œλ”λ§ μ‹œ λ°œμƒν•  수 μžˆλŠ” 데이터 μ£Όμž…(XSS, SQL μΈμ μ…˜), μ„œλ²„ μΈ‘ μš”μ²­ μœ„μ‘°(SSRF) 및 λ―Όκ°ν•œ API λ…ΈμΆœμ˜ μœ„ν—˜μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄ λͺ¨λ“  μž…λ ₯κ³Ό 좜λ ₯ 데이터λ₯Ό μ—„κ²©ν•˜κ²Œ 검증(Sanitize)ν•˜κ³  인증을 κ΅¬ν˜„ν•΄μ•Ό ν•©λ‹ˆλ‹€ [11, 12]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Client-Side Rendering (CSR)]], [[Static Site Generation (SSG)]], [[Core Web Vitals]], [[First Contentful Paint (FCP)]], [[Search Engine Optimization (SEO)]] - **Projects/Contexts:** [[Next.js SSR Implementation]], [[React SEO Optimization]] - **Contradictions/Notes:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄ SSR은 FCPλ₯Ό 크게 κ°œμ„ ν•˜μ—¬ μ‹œκ°μ  λ‘œλ”© μ†λ„λŠ” λΉ λ₯΄μ§€λ§Œ, μžλ°”μŠ€ν¬λ¦½νŠΈ ν•˜μ΄λ“œλ ˆμ΄μ…˜ μ§€μ—°μœΌλ‘œ 인해 INP(Interaction to Next Paint)와 같은 μƒν˜Έμž‘μš© μ„±λŠ₯ μΈ‘μ • μ§€ν‘œμ—λŠ” 뢀정적인 영ν–₯을 쀄 수 μžˆμœΌλ―€λ‘œ Partial Hydration λ“±μ˜ 좔가적인 λ Œλ”λ§ μ΅œμ ν™” μ „λž΅μ΄ ν•„μš”ν•˜λ‹€κ³  κ°•μ‘°ν•©λ‹ˆλ‹€ [5, 9, 10]. --- *Last updated: 2026-04-26*