[์ด๋ก ] CSR๊ณผ SSR๐Ÿฑ

laonยท2024๋…„ 6์›” 12์ผ

CSR(Client Side Rendering)

CSR์ด๋ž€?

ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ Œ๋”๋ง์„ ํด๋ผ์ด์–ธํŠธ ์ธก, ์ฆ‰ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

CSR์˜ ์žฅ์ 

  • ์ƒˆ๋กœ๊ณ ์นจ์ด ์—†์–ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ํ–ฅ์ƒ๋œ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ˜์‘์„ฑ์ด ๋†’์•„์ง„๋‹ค.
  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

CSR์˜ ๋‹จ์ 

  • ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„์˜ ์ง€์—ฐ : JavaScript ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ํ•ด์„ํ•˜๋Š” ์‹œ๊ฐ„์ด ํ•„์š”
  • ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™” ์–ด๋ ค์›€ : ์ดˆ๊ธฐ HTML์—๋Š” ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๊ณ , ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ธ์‹ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ

SSR(Server Side Rendering)

SSR์ด๋ž€?

์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ Œ๋”๋ง์„ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

SSR์˜ ์žฅ์ 

  • SSR์˜ ์žฅ์ ์€ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)๊ฐ€ ์šฉ์ดํ•˜๋‹ค
  • ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค
  • JavaScript๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ํ™˜๊ฒฝ์—์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•œ๋‹ค.

SSR์˜ ๋‹จ์ 

  • ์„œ๋ฒ„ ๋ถ€ํ•˜ ์ฆ๊ฐ€ : ์„œ๋ฒ„์—์„œ ๋งค๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๊ณ  HTML์„ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณตํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ
  • ํด๋ผ์ด์–ธํŠธ ์ธก ์ƒํƒœ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€ : ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์„œ๋ฒ„์—์„œ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค

๋А๋‚€์ ๐Ÿ˜ธ

React๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ CSR์„ ๋งŽ์ด ๊ตฌํ˜„ํ•ด๋ดค๋‹ค. ์•„์ง ์‹ค์ œ ์›น์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•ด๋ณธ ์ ์ด ์—†์–ด์„œ SEO์˜ ๋‹จ์ ์„ ์ง์ ‘์ ์œผ๋กœ ๋А๊ปด๋ณด์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ์˜คํžˆ๋ ค ์žฅ์ ๋“ค์€ ์ง์ ‘์ ์œผ๋กœ ์ž˜ ๋А๊ปด์กŒ๋‹ค. ๋˜ํ•œ ํ•œ๋ฒˆ Next๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SSR์„ ๊ตฌํ˜„ํ•œ์  ์žˆ๋‹ค. CSR -> SSR๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์‹์œผ๋กœ ์ฝ”๋”ฉ์„ ํ–ˆ๋Š”๋ฐ ์ดˆ๊ธฐ๋กœ๋”ฉ์—์„œ ์ฐจ์ด์ ์„ ๋А๋‚„์ˆ˜ ์žˆ์—ˆ๋‹ค.

profile
laonlaon

0๊ฐœ์˜ ๋Œ“๊ธ€