[CS-WEB]CSR & SSR

์ง€์˜ยท2023๋…„ 9์›” 5์ผ
0

CS

๋ชฉ๋ก ๋ณด๊ธฐ
67/77

๐Ÿ“Œ ๋ฏธ๋ฆฌ ์•Œ๋ฉด ์ข‹์€ ์ง€์‹

  • Rendering : ๋ณดํ†ต HTML ์ฝ”๋“œ๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฝ์–ด๋“ค์—ฌ์„œ ๋ธŒ๋ผ์šฐ์ € ์ƒ์— ๋ณด์—ฌ์ฃผ๋Š” ํ–‰์œ„. ๋”ฐ๋ผ์„œ ๋’ค์— ๋‚˜์˜ฌ CSR์€ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฝ์–ด๋“ค์ผ HTML์ฝ”๋“œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์ธก์—์„œ ๋ณด๋‚ด์ฃผ๋ฉฐ, SSR์€ HTML์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„์ธก์—๊ฒŒ ๋ณด๋‚ด์ค€๋‹ค.
  • SPA(Single Page Application): ์ตœ์ดˆ ํ•œ ๋ฒˆ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋กœ๋”ฉํ•œ ๋’ค, ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

CSR(Client Side Rendering)

ํด๋ผ์ด์–ธํŠธ์ธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ Œ๋”๋ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, ์„œ๋ฒ„์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์ธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ™”๋ฉด(View)๋‹จ์„ ๊ทธ๋ฆฌ๋Š” ์ฃผ์ฒด๊ฐ€ ๋œ๋‹ค.

์‚ฌ์šฉ์ž์˜ ํ–‰๋™์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ์ฝ์–ด์˜จ๋‹ค. ์„œ๋ฒ„๋Š” ๋‹จ์ง€ JSONํŒŒ์ผ๋งŒ ๋ณด๋‚ด์ฃผ๊ณ , HTML์„ ๊ทธ๋ฆฌ๋Š” ์—ญํ• ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

โœจ ์žฅ์ 

  • ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๊ณผ ๋น„์Šทํ•œ ๋น ๋ฅธ ์ธํ„ฐ๋ž™์…˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • view๋ Œ๋”๋ง์„ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋‹ด๋‹น์‹œํ‚ด์œผ๋กœ์„œ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ์†Œ์‹œํ‚ค๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋น ๋ฅธ ์ธํ„ฐ๋ ‰์…˜์„ ์ œ๊ณตํ•œ๋‹ค.
    • ์ƒˆ๋กœ๊ณ ์นจ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„ ์‚ฌ์šฉ์ž๊ฐ€ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๊ณผ ๋น„์Šทํ•œ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿค” ๋‹จ์ 

  • ์ฒซ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๊ฐ€ SSR์— ๋น„ํ•ด ๋‹ค์†Œ ๋Š๋ฆฌ๋‹ค.
    • ์„œ๋ฒ„์— ์ฒซ ์š”์ฒญ ์‹œ ์ „์ฒด ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฌธ์„œ ํŒŒ์ผ์„ ๋ฐ›๋‹ค๋ณด๋‹ˆ, SSR๋ณด๋‹ค ๋กœ๋”ฉ์ด ๋Š๋ฆฌ๋‹ค.
  • ๊ฒ€์ƒ‰์—”์ง„์ตœ์ ํ™”(SEO)์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๋ณด์™„์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
    • ํฌํ„ธ ์‚ฌ์ดํŠธ ๊ฒ€์ƒ‰์—”์ง„ ํฌ๋กค๋Ÿฌ๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๋Œ€๋กœ ์ˆ˜์ง‘ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌ๊ธ€์˜ ๊ฒ€์ƒ‰์—”์ง„์˜ ๊ฒฝ์šฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด ํฌ๋กค๋ง์ด ๋˜์ง€๋งŒ, ๋„ค์ด๋ฒ„์™€ ๋‹ค์Œ์˜ ๊ฒฝ์šฐ ๊ฒ€์ƒ‰์—”์ง€์ด ์ œ๋Œ€๋กœ ํฌ๋กค๋ง์„ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋ณด์™„์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

SSR(Server Side Rendering)

ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์„œ๋ฒ„์— ๋งค๋ฒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•ด์„œ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ์„œ๋ฒ„์—์„œ ์ƒˆ๋กœ์šด ํ™”๋ฉด(View)์„ ๋งŒ๋“ค์–ด ์ œ๊ณตํ•œ๋‹ค. ์ฆ‰, ์„œ๋ฒ„๊ฐ€ ํ™”๋ฉด(View)์„ ๊ทธ๋ฆฌ๋Š” ์ฃผ์ฒด๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ธฐ์กด์˜ ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์ด๋‹ค.

โœจ ์žฅ์ 

  • ์ฒซ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๊ฐ€ CSR์— ๋น„ํ•ด ๋” ๋น ๋ฅด๋‹ค.
    • ํ•ด๋‹น ์ฒซ ํŽ˜์ด์ง€์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์„œ๋งŒ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ „๋‹ฌํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ Œ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ CSR์— ๋น„ํ•ด ๋น ๋ฅด๋‹ค.
  • ๊ฒ€์ƒ‰์—”์ง„์ตœ์ ํ™”(SEO)๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿค” ๋‹จ์ 

  • ์ดˆ๊ธฐ ๋กœ๋”ฉ ์ดํ›„ ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์†๋„๊ฐ€ ๋‹ค์†Œ ๋Š๋ฆฌ๋‹ค.

    • ํŽ˜์ด์ง€ ์ด๋™์„ ํ•  ๋•Œ๋งˆ๋‹ค ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค๋ณด๋‹ˆ ์†๋„๊ฐ€ ๋‹ค์†Œ ๋Š๋ฆฌ๋‹ค.
  • ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก๋„๊ฐ€ ๋†’์•„์ง„๋‹ค.

    • ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉ๋‹ค๋ณด๋ฉด ๋ณต์žก๋„๊ฐ€ ๋†’์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฐธ๊ณ  : https://xpectation.tistory.com/155, https://github.com/gyoogle/tech-interview-for-developer/blob/master/Web/CSR%20%26%20SSR.md

profile
๊พธ์ค€ํ•จ์˜ ํž˜์„ ์•„๋Š” ๊ฐœ๋ฐœ์ž๐Ÿ“

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