[TIL] CSR, SSR์˜ ๋น„๊ต๐Ÿ‘€

๊ณ ์€์ •ยท2021๋…„ 5์›” 31์ผ
2

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
25/31
post-thumbnail

์™œ TIL?

๋ฒจ๋กœ๊ทธ๋ฅผ ํƒ€๊ณ ํƒ€๋‹ค๊ฐ€ suyeonme๋‹˜์˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋ฉด์ ‘ ์ •๋ฆฌ ๊ธ€์„ ๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์˜ค๋Š˜ TIL์ฃผ์ œ์ธ CSR๊ณผ SSR์˜ ์ฐจ์ด๊ฐ€ ์œ„ ๊ธ€์—์„œ ์ฒซ๋ฒˆ์งธ ์งˆ๋ฌธ์ด์—ˆ๋Š”๋ฐ, ๋†€๋ž๊ฒŒ๋„ ์ฒ˜์Œ ๋“ค์–ด๋ด…๋‹ˆ๋‹ค๐Ÿ˜ฌ. ๋ฉด์ ‘์—์„œ ์–ผ๊ตด ๋ถ‰ํžˆ๋Š” ์ผ์€ ์—†๋„๋ก ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿคซ.

CSR

CSR์€ Client Side Rendering์˜ ์•ฝ์–ด์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•œ HTML ๋ฐ staticํŒŒ์ผ๋“ค์ด ๋กœ๋“œ ๋˜๋ฉด์„œ ํ™”๋ฉด์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋”ฐ๋ผ์„œ JavaScript๋ฅผ ํ†ตํ•ด ๋™์ ์œผ๋กœ Renderingํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ์š”์ฒญํ•ด์„œ ๋ฐ›์•„์™€ Renderingํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์ด๋ฏธ์ง€ ์ถœ์ฒ˜)

์žฅ์ 

  • ์ดˆ๊ธฐ ์ „์†ก๋˜๋Š” ํŽ˜์ด์ง€ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ์ฒซ ๋กœ๋”ฉ์—์„œ HTML ๋ฐ staticํŒŒ์ผ๋“ค์„ ๋ฐ›์œผ๋ฉด, ๋™์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— UX๊ฐ€ ๋›ฐ์–ด๋‚˜๋‹ค.
  • ์„œ๋ฒ„์š”์ฒญ ํšŸ์ˆ˜๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ๋ถ€๋‹ด์ด ๋œํ•˜๋‹ค.

๋‹จ์ 

  • ์„œ๋น„์Šค์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ถ”๊ฐ€๋กœ ์š”์ฒญํ•˜์—ฌ ์žฌ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€ ์™„๋ฃŒ์‹œ์ ์€ ๋Š๋ฆฌ๋‹ค.(๋ชจ๋‘ ๋กœ๋“œ๋  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ)
  • SEO(search engine optimization) ๊ตฌ์„ฑ ์‹œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์ œ

๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ React.js๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


SSR

SSR์€ Server Side Rendering์˜ ์•ฝ์–ด์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ๊ตฌ์„ฑํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์™„์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ HTMLํŒŒ์ผ์„ ๋ฐ›์•„์„œ Rendingํ•ฉ๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„์— ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์˜ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋ฐœ์ƒํ•˜๊ณ , ์„œ๋ฒ„์— ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.(์ด๋ฏธ์ง€ ์ถœ์ฒ˜)

์žฅ์ 

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์ปจํ…์ธ  ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜๋Š” ์‹œ์ ์€ ๋น ๋ฅด๋‹ค.
  • SEO(search engine optimization)๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์ 

  • ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ UX๊ฐ€ ๋–จ์–ด์ง„๋‹ค.
  • ์„œ๋ฒ„์— ๋งค๋ฒˆ ์š”์ฒญํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์ปค์ง„๋‹ค.
  • ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†๋„๋Š” ๋Šฆ๋‹ค.(์„œ๋ฒ„์—์„œ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ)

์˜ˆ์ œ

๋Œ€ํ‘œ์ ์œผ๋กœ JSP/Servlet์˜ ์•„ํ‚คํ…์ฒ˜์™€ Next.js๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


์ •๋ฆฌ

์œ„์˜ ๋‚ด์šฉ์„ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.(์ด๋ฏธ์ง€ ์ถœ์ฒ˜)


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

profile
๊ฐœ๋ฐœ์ด ํ•˜๊ณ ์‹ถ์–ด์š”

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