Routing and rendering methods

λΌμš°νŒ…κ³Ό λ Œλ”λ§ 방식

SPA (Single Page Application)와 CSR (Client-Side Rendering)

  • 동적 λΌμš°νŒ…μ„ μ‚¬μš©

    • μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό 톡해 λΈŒλΌμš°μ €μ—μ„œ λΌμš°νŒ… 관리

    • URL 변경을 κ°μ§€ν•˜κ³ , ν•„μš”ν•œ 데이터λ₯Ό μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ™μ μœΌλ‘œ λ‘œλ“œν•˜κ³  화면을 μ—…λ°μ΄νŠΈ

    • ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ—μ„œ λ™μ μœΌλ‘œ 라우트λ₯Ό μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— λΉ λ₯Έ νŽ˜μ΄μ§€ μ „ν™˜ κ°€λŠ₯

SSR (Server-Side Rendering)

  • 동적 λΌμš°νŒ…κ³Ό 정적 λΌμš°νŒ… λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯

    • 동적 λΌμš°νŒ…: μ„œλ²„κ°€ μš”μ²­μ„ 받을 λ•Œλ§ˆλ‹€ HTML을 λ™μ μœΌλ‘œ μƒμ„±ν•˜μ—¬ 응닡

    • 정적 λΌμš°νŒ…: μ„œλ²„μ—μ„œ 미리 μƒμ„±λœ HTML νŒŒμΌμ„ μ œκ³΅ν•  수 μžˆλ‹€.

    • Next.js 같은 ν”„λ ˆμž„μ›Œν¬μ—μ„œλŠ” getServerSidePropsλ₯Ό μ‚¬μš©ν•˜μ—¬ 동적 λΌμš°νŒ…μ„ μ²˜λ¦¬ν•  수 μžˆλ‹€.

SSG (Static Site Generation)

  • 정적 λΌμš°νŒ…μ„ μ‚¬μš©

    • λΉŒλ“œ μ‹œμ μ— λͺ¨λ“  νŽ˜μ΄μ§€κ°€ 미리 μƒμ„±λ˜μ–΄ 정적 파일둜 μ €μž₯

    • 예λ₯Ό λ“€μ–΄, λΈ”λ‘œκ·Έ μ‹œμŠ€ν…œμ—μ„œλŠ” λͺ¨λ“  포슀트의 νŽ˜μ΄μ§€κ°€ 미리 μƒμ„±λ˜μ–΄ /post/123, /post/124 λ“±μ˜ κ²½λ‘œμ— λŒ€ν•œ 정적 HTML 파일이 μ‘΄μž¬ν•œλ‹€.

    • Next.js 같은 ν”„λ ˆμž„μ›Œν¬μ—μ„œλŠ” getStaticProps와 getStaticPathsλ₯Ό μ‚¬μš©ν•˜μ—¬ 정적 λΌμš°νŒ…μ„ μ²˜λ¦¬ν•  수 μžˆλ‹€.


정리

  • SPA (Client-Side Rendering):

    • 동적 λΌμš°νŒ…: λΈŒλΌμš°μ €μ—μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό 톡해 λΌμš°νŒ…μ„ λ™μ μœΌλ‘œ 관리.

    • λΉ λ₯Έ νŽ˜μ΄μ§€ μ „ν™˜, 초기 λ‘œλ“œκ°€ κΈΈμ–΄μ§ˆ 수 있음, SEO 어렀움.

  • SSR (Server-Side Rendering):

    • 동적 λΌμš°νŒ…: μ„œλ²„μ—μ„œ μš”μ²­μ„ 받을 λ•Œλ§ˆλ‹€ λ™μ μœΌλ‘œ HTML 생성.

    • 정적 λΌμš°νŒ…: μ„œλ²„μ—μ„œ 미리 μƒμ„±λœ HTML 제곡 κ°€λŠ₯.

    • λΉ λ₯Έ 초기 λ‘œλ“œ, SEO μΉœν™”μ , μ„œλ²„ λΆ€ν•˜κ°€ 높을 수 있음.

  • SSG (Static Site Generation):

    • 정적 λΌμš°νŒ…: λΉŒλ“œ μ‹œμ μ— λͺ¨λ“  νŽ˜μ΄μ§€κ°€ μ •μ μœΌλ‘œ μƒμ„±λ˜μ–΄ μ €μž₯.

    • 맀우 λΉ λ₯Έ λ‘œλ“œ 속도, SEO μΉœν™”μ , μ½˜ν…μΈ κ°€ 자주 λ³€κ²½λ˜μ§€ μ•ŠλŠ” 경우 적합.

Last updated