๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
5๏ธโƒฃ CS/Web

[Web] SSR๊ณผ CSR (feat. MPA์™€ SPA)

by seolhee2750 2022. 9. 29.

์˜ค๋Š˜์€ SSR๊ณผ CSR์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด์  ๋“ฑ์„ ์ •๋ฆฌํ–ˆ๋‹ค.

๋˜ ๊ทธ์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…์ธ MPA์™€ SPA์— ๋Œ€ํ•ด์„œ๋„ ํ•จ๊ป˜ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค.

 

๐Ÿ“Ž MPA์™€ SPA

MPA์™€ SPA๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค.

 

MPA (Multi Page Application)

MPA๋Š” ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค.

์‚ฌ์šฉ์ž์˜ ํด๋ฆญ ๋“ฑ ์ธํ„ฐ๋ž™์…˜์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด html์„ ๋ฐ›์•„์˜จ ํ›„,

ํ•ด๋‹น ๋งํฌ๋กœ ์ด๋™ํ•˜์—ฌ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ์ƒˆ๋กœ ๋ Œ๋”๋ง ํ•˜๋Š” ์ „ํ†ต์ ์ธ ์›น ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ๋ฐฉ์‹์ด๋‹ค.

 

SPA (Single Page Application)

SPA๋Š” ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์— ์ตœ์ดˆ ํ•œ ๋ฒˆ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋กœ๋“œํ•˜๊ณ ,

์ดํ›„๋ถ€ํ„ฐ๋Š” ํ•„์š”ํ•œ ํŠน์ • ๋ถ€๋ถ„๋งŒ Ajax๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

๐Ÿ‘‰ SPA๊ฐ€ ๋ฐ”๋กœ ํ˜„์žฌ ์›น ๊ฐœ๋ฐœ์˜ ํŠธ๋ Œ๋“œ!


๐Ÿ“Ž SSR (Server Side Rendering)

SSR์˜ ๊ฐœ๋…

  • MPA๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ Œ๋”๋ง ๋ฐฉ์‹์ด๋‹ค.
  • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์™„์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ html์„ ๋ฐ›์•„์™€ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.

 

SSR์˜ ๋™์ž‘ ๊ณผ์ •

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

๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒˆ๋กœ์šด ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋Š” ๋‹ค์‹œ 1~6๋ฒˆ์˜ ๊ณผ์ •์„ ๋ชจ๋‘ ๊ฑฐ์นœ๋‹ค.

 

SSR์˜ ์žฅ๋‹จ์ 

  • ์žฅ์ 
    • SEO(๊ฒ€์ƒ‰์—”์ง„์ตœ์ ํ™”)์— ์œ ๋ฆฌํ•˜๋‹ค.
      ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ HTML์— ๋‹ด๊ฒจ์ง„์ฑ„๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌ๋˜๊ธฐ ๋•Œ๋ฌธ
    • ์ดˆ๊ธฐ ๋กœ๋”ฉ์ด ๋น ๋ฅด๋‹ค.
      ํ™”๋ฉด์„ ๋ Œ๋”ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋ฅผ ๋จผ์ € ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ
  • ๋‹จ์ 
    • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋–จ์–ด์ง„๋‹ค.
      ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด ๊นœ๋นก์ž„์ด ์ƒ๊ธฐ๋ฉฐ,
      TTV(Time To View)์™€ TTI(Time To Interact)๊ฐ„์˜ ์‹œ๊ฐ„์ฐจ๊ฐ€ ์ƒ๊น€
      ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋Š” ๋“ฑ์˜ ์•ก์…˜์„ ์ทจํ•ด๋„ ์•„๋ฌด๋Ÿฐ ๋ฐ˜์‘์„ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ
    • ์„œ๋ฒ„์ธก์˜ ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.
      ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋–„๋งˆ๋‹ค ๋ฐ”๋€” ํ•„์š” ์—†๋Š” ๋ถ€๋ถ„๋“ค๊นŒ์ง€ ๋ชจ๋‘ ๋ Œ๋”๋งํ•ด์•ผ ํ•จ

๐Ÿ“Ž CSR (Client Side Rendering)

CSR์˜ ๊ฐœ๋…

  • SPA๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ Œ๋”๋ง ๋ฐฉ์‹
  • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์‘๋‹ต๋ฐ›์•„ ๋ Œ๋”๋งํ•œ๋‹ค.

 

CSR์˜ ๋™์ž‘ ๊ณผ์ •

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ์ดˆ๊ธฐํ™”๋ฉด ๋กœ๋“œ๋ฅผ ์œ„ํ•ด ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  • ์„œ๋ฒ„๋Š” ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์™„์ „ํ•œ ๋ฆฌ์†Œ์Šค๋กœ ์‘๋‹ตํ•œ๋‹ค.
    โœ”๏ธ JS๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ง„ํ–‰ํ•˜๋ฏ€๋กœ SSR์— ๋น„ํ•ด ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ

๐Ÿ‘‰ ์ƒˆ๋กœ์šด ์š”์ฒญ์ด ์žˆ์„ ๋•Œ๋Š” 1, 2๋ฒˆ ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  3, 4๋ฒˆ๋งŒ ๊ฑฐ์ณ ํŠน์ • ๋ถ€๋ถ„๋งŒ์„ ์žฌ๊ตฌ์„ฑํ•œ๋‹ค.

 

CSR์˜ ์žฅ๋‹จ์ 

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

๐Ÿ“Ž SSR vs CSR ์„ ํƒ ๊ธฐ์ค€

์„œ๋น„์Šค, ํ”„๋กœ์ ํŠธ, ์ฝ˜ํ…์ธ ์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.

 

SSR์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ

  • ์ƒ์œ„ ๋…ธ์ถœ์ด ํ•„์š”ํ•  ๋•Œ
  • ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ๋™์ผํ•œ ๋‚ด์šฉ์„ ๋…ธ์ถœํ•ด์•ผ ํ•  ๋•Œ
  • ํŽ˜์ด์ง€๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€” ๋•Œ

 

CSR์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ

  • ๋ณด๋‹ค ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ์ƒ์œ„๋…ธ์ถœ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์„ ๋•Œ
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์„ ๋•Œ (๋กœ๋”ฉ ์ฐฝ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Œ)

 

๐Ÿ‘‰ ์ด ๋‘˜์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ , ์žฅ์ ์„ ์‚ด๋ฆฌ๊ณ ์ž Next.js๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค.

์ฒซ ํŽ˜์ด์ง€๋Š” SSR ๋ฐฉ์‹์œผ๋กœ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋งํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฑ„์›Œ์ง„ HTML์„ ๋ฐ›์•„ SEO ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ,

๊ทธ ๋‹ค์Œ ํŽ˜์ด์ง€ ๋ถ€ํ„ฐ๋Š” CSR ๋ฐฉ์‹์„ ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„๋งŒ ๊ฐฑ์‹ ํ•˜์—ฌ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋„ ์ค„์ด๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.


์ฐธ๊ณ 

'5๏ธโƒฃ CS > Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Web] ์ฟ ํ‚ค์™€ ์„ธ์…˜  (0) 2022.09.22
[Web] CSV, XML, JSON  (0) 2022.09.18

๋Œ“๊ธ€