[React] Router :: CSR, SSR

๊น€๋•…์ฃผยท2021๋…„ 4์›” 29์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
9/33
post-thumbnail
post-custom-banner

๐Ÿ“ Hosting (ํ˜ธ์ŠคํŒ…)

ํ˜ธ์ŠคํŒ…์ด๋ž€ ์ •๋ณด๋“ค์ด ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ(์›น ์„œ๋ฒ„)์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ์˜ค๋ฉด ์–ธ์ œ๋“ ์ง€ ์‘๋‹ตํ•œ๋‹ค.

๐Ÿ“:: SPA

3์„ธ๋Œ€ ์›น ์„œ๋น„์Šค๋“ฑ์žฅ

SPA(Single Page Application) ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํ•œ ๊ฐœ์˜ ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜.
html,js,dataํŒŒ์ผ์€ ์ฒ˜์Œ ํ•œ ๋ฒˆ๋งŒ ์†ก์ˆ˜์‹ ํ•˜๊ณ  ๊ทธ ๋’ค๋กœ๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋งŒ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.
๋‹จ ํ•˜๋‚˜์˜ HTML ๋ฌธ์„œ๋กœ๋งŒ ๋Œ์•„๊ฐ€๋Š” ์›นํŽ˜์ด์ง€๋กœ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์—๋”ฐ๋ผ ๋‚ด์šฉ์ด ๋™์ ์œผ๋กœ ๋ฐ”๋€๋‹ค!

๋™์ ์ด ์‚ฌ์ดํŠธ๊ฐ€ ๋งŽ์ด ์“ฐ์ด๋ฉด์„œ ๋ Œ๋”๋ง ๋ฐฉ์‹์— ๋”ฐ๋ผ CSR๊ณผ SSR๋กœ ๋‚˜๋‰œ๋‹ค

:: CSR (Client Side Rendering)


- CRA (Creact React App)


npm create-react-app my-app


์œ„ ๋ช…๋ น์–ด๋กœ ์ดˆ๊ธฐ ์„ค์ • ์—†์ด๋„ React๊ธฐ๋ฐ˜์˜ spa์‚ฌ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”๋ฒจ๊ณผ ์›นํŒฉ๊ณผ ๊ฐ™์ด ๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ์œผ๋ฉฐ, ํ•„์ˆ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด์ค€๋‹ค. ์ดˆ๊ธฐ ํด๋” ๊ตฌ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค


1)node.modules 2)package.json 3).gitignore


ํ•˜์ง€๋งŒ CRA ๋Š” Only CSR ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์—”์ง„์— ๊ฒ€์ƒ‰๋˜์ง€ ์•Š๋Š”๋‹ค.

- CSR (Client Side Rendering)


์›น ํŽ˜์ด์ง€์˜ ๋ Œ๋”๋ง์ด ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €) ์ธก์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ตœ์ดˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ html์˜ ๋‚ด์šฉ์€ ๋น„์–ด์žˆ๊ณ  html,body ํƒœ๊ทธ๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.

js ํŒŒ์ผ์˜ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ•ด๋‹น jsํŒŒ์ผ์ด dom์„ ๋นˆ html ์œ„์— ๊ทธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

๋ผ์šฐํŒ…์„ ํ•˜๋”๋ผ๋„ html ์ž์ฒด๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ JS ์ฐจ์›์—์„œ ์ƒˆ๋กœ์šด ํ™”๋ฉด์„ ๊ทธ๋ ค๋‚ธ๋‹ค.

์žฅ์ ์€?

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์–‘์˜ ํŠธ๋ž˜ํ”ฝ์ด ํ˜„์ €ํžˆ ๊ฐ์†Œํ•˜๊ณ  ๋‹จ ํ•œ๋ฒˆ์˜ ๋ Œ๋”๋ง๋งŒ ์žˆ์œผ๋ฏ€๋กœ ํŽ˜์ด์ง€ ์ด๋™์ด ๋น ๋ฅด๋‹ค.

๋‹จ์ ์€?

SEO ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€.
์ฝ”๋“œ spliting์œผ๋กœ ์ดˆ๊ธฐ ๋ Œ๋”๋ง์ด ๋Š๋ฆฌ๋‹ค


:: SSR(Server Side Rendering)


์ฒซ ํŽ˜์ด์ง€์˜ ๋ Œ๋”๋ง์„ ํด๋ผ์ด์–ธํŠธ ์ธก์ด ์•„๋‹Œ ์„œ๋ฒ„ ์ธก์—์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๋ฐฉ์‹.

CSR๊ณผ ์ฐจ์ด์ ?

1 SEO์ธก๋ฉด์—์„œ ์œ ๋ฆฌ

  • ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ๊ตฌ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— CSR์˜ ๋‹จ์ ์ธ "์ฒซ ํŽ˜์ด์ง€ ๊นกํ†ต" ์ƒํƒœ๋ฅผ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ๋‹ค

2 UX ์ธก๋ฉด์—์„œ ์œ ๋ฆฌ
CSR์— ๋น„ํ•ด ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†๋„๋Š” ๋Šฆ์–ด์ง€์ง€๋งŒ, ์ „์ฒด์ ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์ฝ˜ํ…์ธ  ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜๋Š” ์‹œ์ ์€ ๋นจ๋ผ์ง„๋‹ค.

๋‹จ์ ์€?

ํŽ˜์ด์ง€๋ฅผ ์ž˜๋ชป ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ CSR์— ๋น„ํ•ด ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์ปค์ง€๊ฑฐ๋‚˜, ์ฒซ ๋กœ๋”ฉ์ด ๋งค์šฐ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.

profile
์ผ๊ณฑ ๋ฒˆ ๋„˜์–ด์ ธ๋„ ์—ฌ๋Ÿ ๋ฒˆ ์ผ์–ด๋‚˜๋ฉด์„œ ์„ฑ์žฅํ•˜๋Š” ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค
post-custom-banner

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