๐Ÿ’ก ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR), ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)

sujinยท2021๋…„ 12์›” 9์ผ
0

๋ทฐ

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

1. ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)

๋‹ค ๊ทธ๋ ค์ ธ ์žˆ์ง€ ์•Š์€ HTMLํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ›๊ณ  ํ”„๋ŸฐํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ(์•ต๊ทค๋Ÿฌ, ๋ทฐ, ๋ฆฌ์•กํŠธ)์™€ ๊ฐ™์€ 
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚˜๋ฒ„์ง€ ๋ถ€๋ถ„์„ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 
<html>
 <head>
   <title>Vue client Side Rendering</title>
 </head> 
 <body>
   <div id="app">
     {{ message }}
   </div>
    
   <script src="https://cdn.jsdelivr.net/npm/vue@2.5.2/dist/vue.js"></script>
   <script>
     var cmp = {
       template: `<ul><li>item1</li><li>item2</li></ul>`
     };
     
     new Vue({
       el:'#app',
       data: {
         message: 'Hello Vue.js!'
       },
       components: {
         'list-component' : cmp
       }
     });
   </script>
 </body>
</html>
  • ์„œ๋ฒ„์— ๋ณด๋‚ด์ค€ HTMLํŒŒ์ผ์„ ๋ฐ›์•˜์„ ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด HTMLํŒŒ์ผ์„ ํ™”๋ฉด์— ๋กœ๋”ฉํ•˜๋ฉด์„œ ๋ทฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

  • <ul>ํƒœ๊ทธ์™€ <li>ํƒœ๊ทธ๋ฅผ ํ…œ๋ธ”๋ฆฟ ์†์„ฑ์— ์ƒ์„ฑํ•˜์—ฌ ํ™”๋ฉด์— ๋ถ™์—ฌ ๋„ฃ๋Š”๋‹ค.

    image

    (์žฅ์ ) ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐฑ์—”๋“œ์—์„œ ๊ฐ€์ ธ์™€ ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ๋œํ•˜๋‹ค.

    (๋‹จ์ ) jsํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ๋กœ ์ดˆ๊ธฐ ์ง„์ž…์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ์žˆ๋‹ค.

    (๋‹จ์ ) SSR์— ๋น„ํ•ด SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”)์— ์ทจ์•ฝํ•˜๋‹ค.


2. ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)

์™„๋ฒฝํžˆ ๊ทธ๋ ค์ง„ HTMLํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ›๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 
<body>
 <div id="app">
   Hello Vue.js!
   <ul>
     <li>item1</li>
     <li>item2</li>
   </ul>
 </div>
</body>
  • ์„œ๋ฒ„์—์„œ ๋ธŒ๋ผ์šฐ์ €๋กœ HTMLํŒŒ์ผ์„ ๋„˜๊ฒจ์ค„ ๋•Œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ผ ํ…์ŠคํŠธ ๊ฐ’๊ณผ <ul> <li>ํƒœ๊ทธ ๊ฐ€ ์ด๋ฏธ ์™„๋ฒฝํ•˜๊ฒŒ ๊ทธ๋ ค์ ธ ์žˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ํ•ด๋‹น ํŒŒ์ผ์„ ํ‘œ์‹œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด๋˜๊ณ , ๋ณ„๋„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•œ ํ™”๋ฉด ๋žœ๋”๋ง์€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

image

(์žฅ์ ) CSR๋ณด๋‹ค ์ดˆ๊ธฐ ํ™”๋ฉด ๋ Œ๋”๋ง ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

(๋‹จ์ ) ํด๋ฆญ์œผ๋กœ ์ธํ•œ ๋‹ค๋ฅธ ์š”์ฒญ์ด ์ƒ๊ธธ๋•Œ๋งˆ๋‹ค ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„๊นŒ์ง€ ๋‹ค์‹œ ๋ Œ๋”๋ง ํ•˜๊ฒŒ ๋˜์–ด ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.


profile
๊ฐœ๋ฐœ๋Œ•๋ฐœ

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