⚛️ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…: CRA vs Vite

โš›๏ธ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…: CRA vs Vite

๐ŸŒ ์›น ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…: '์›น(Web)'์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?


์•ˆ๋…•ํ•˜์„ธ์š”, ์ˆœ๊ฐ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์˜ ์„ธ๊ณ„์— ์ฒซ๋ฐœ์„ ๋‚ด๋”›๋Š” ์—ฌ๋Ÿฌ๋ถ„์„ ์ง„์‹ฌ์œผ๋กœ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๊ธฐ๋ณธ ๊ฐœ๋…์— ์ถฉ์‹คํ•˜๊ณ , ์ •์„์ ์ธ ์ง€์‹์„ ํ†ตํ•ด ํ”๋“ค๋ฆผ ์—†๋Š” ์„ฑ์žฅ์„ ์ด๋ฃจ๋„๋ก ๋•๊ธฐ ์œ„ํ•ด ์ด ๊ธ€์„ ์ž‘์„ฑ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ์ฒซ ์‹œ์ž‘์œผ๋กœ, ๋ชจ๋“  ์›น ๊ฐœ๋ฐœ์˜ ํ† ๋Œ€์ธ '์›น(Web)'์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์›น์ด ์–ด๋–ป๊ฒŒ ์›€์ง์ด๋Š”์ง€์— ๋Œ€ํ•ด ๊ฐ€์žฅ ์‰ฝ๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ํŒŒํ—ค์ณ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


1. ์›น(Web)์˜ ์ •์˜: '์ •๋ณด์˜ ๊ฑฐ๋ฏธ์ค„'์„ ์ดํ•ดํ•˜๋‹ค

์›น์€ ํ”ํžˆ "์›”๋“œ ์™€์ด๋“œ ์›น (World Wide Web, WWW)"์„ ์ค„์—ฌ ๋ถ€๋ฅด๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ์›น์€ ์ธํ„ฐ๋„ท์ด๋ผ๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ†ต์‹ ๋ง ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ์ •๋ณด ๊ณต์œ  ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ „ ์„ธ๊ณ„์— ํฉ์–ด์ ธ ์žˆ๋Š” ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ๋ฌธ์„œ, ์ด๋ฏธ์ง€, ์˜์ƒ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ๊ฑฐ๋Œ€ํ•œ ๊ฐ€์ƒ์˜ ์ •๋ณด ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์›น๊ณผ ์ธํ„ฐ๋„ท์˜ ์ฐจ์ด: ์ด ๊ธฐ๋ณธ๋ถ€ํ„ฐ ์žก๊ณ  ๊ฐ‘์‹œ๋‹ค

์›น ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž๋“ค์ด ๊ฐ€์žฅ ๋จผ์ € ์ •ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•  ๊ธฐ๋ณธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

๊ตฌ๋ถ„์—ญํ• ๋น„์œ 
์ธํ„ฐ๋„ท (Internet)์ „ ์„ธ๊ณ„ ์ปดํ“จํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฑฐ๋Œ€ํ•œ ํ†ต์‹ ๋ง ๊ทธ ์ž์ฒด์ž…๋‹ˆ๋‹ค. (ํ•˜๋“œ์›จ์–ด ์ธํ”„๋ผ)์ „๊ธฐ๊ฐ€ ํ†ตํ•˜๋Š” ์ „์„ 
์›น (Web)์ธํ„ฐ๋„ท๋ง ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ์ •๋ณด ๊ณต์œ  ์„œ๋น„์Šค์ด์ž, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. (์†Œํ”„ํŠธ์›จ์–ด/์„œ๋น„์Šค)์ „์„ (์ธํ„ฐ๋„ท)์„ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐฉ์†ก/ํ†ต์‹ 

์ธํ„ฐ๋„ท์ด ๊ธฐ๋ฐ˜ ์‹œ์„ค์ด๋ผ๋ฉด, ์›น์€ ๊ทธ ์‹œ์„ค์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์„œ๋น„์Šค๋ผ๊ณ  ์ดํ•ดํ•˜์‹œ๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค.


2. ์›น์˜ ์ž‘๋™ ์›๋ฆฌ (๊ฐœ๋ก ): ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ์•ฝ์†

์›น์ด ์›€์ง์ด๋Š” ์›๋ฆฌ๋Š” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ "ํด๋ผ์ด์–ธํŠธ(Client)"์™€ "์„œ๋ฒ„(Server)"๋ผ๋Š” ๋‘ ์ฃผ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ, ์ฆ‰ ์š”์ฒญ(Request)๊ณผ ์‘๋‹ต(Response)์ž…๋‹ˆ๋‹ค.

(1) ํด๋ผ์ด์–ธํŠธ (Client): ์ •๋ณด๋ฅผ '์š”์ฒญ'ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธก

  • ์—ญํ• : ์›น ๋ธŒ๋ผ์šฐ์ €(Chrome, Safari ๋“ฑ)๋ฅผ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€, ๋ฐ์ดํ„ฐ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ์ฃผ์ฒด์ž…๋‹ˆ๋‹ค.

  • ์‹ค์ œ ํ–‰๋™: ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— URL์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ํŽ˜์ด์ง€ ๋‚ด์˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋Š” ๋ชจ๋“  ํ–‰์œ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ž…๋‹ˆ๋‹ค.

(2) ์„œ๋ฒ„ (Server): ์ •๋ณด๋ฅผ '์‘๋‹ต'ํ•˜๋Š” ์ €์žฅ์†Œ

  • ์—ญํ• : ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ(HTML, CSS, JavaScript)๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์ „๋ฌธ ์ปดํ“จํ„ฐ์ž…๋‹ˆ๋‹ค.

  • ์‹ค์ œ ํ–‰๋™: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ •๋ณด๋ฅผ ์ฐพ์•„์„œ HTTP๋ผ๋Š” ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋˜๋Œ๋ ค์ค๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋น„์œ ํ•˜์ž๋ฉด, ํด๋ผ์ด์–ธํŠธ(๋‚˜)๊ฐ€ ์„œ์ (์„œ๋ฒ„) ์ง์›์—๊ฒŒ ํŠน์ • ์ฑ…(HTML ํŒŒ์ผ)์„ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด, ์ง์›์€ ์ฑ…์„ ์ฐพ์•„์„œ ๋‚˜์—๊ฒŒ ๊ฑด๋„ค์ฃผ๋Š” ํ–‰์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.


3. ์›น์„ ์ด๋ฃจ๋Š” 3๊ฐ€์ง€ ํ•ต์‹ฌ ๊ธฐ๋ณธ ์š”์†Œ (์ •์„)

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

URL(Uniform Resource Locator): ์›น ์ฃผ์†Œ

  • ์—ญํ• : ์›น์ƒ์— ์กด์žฌํ•˜๋Š” ๊ณ ์œ ํ•œ ์ •๋ณด์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • ์ •์„ ํ’€์ด: ์›น ๊ฐœ๋ฐœ์ž๋Š” URL์„ ํ†ตํ•ด ์„œ๋ฒ„์— ์–ด๋–ค ์ •๋ณด๋ฅผ '์š”์ฒญ'ํ• ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. URL์€ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๊ธธ์žก์ด์ธ ๋™์‹œ์—, ์›น ํŽ˜์ด์ง€์˜ ์ด๋ฆ„ํ‘œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

HTTP(HyperText Transfer Protocol): ํ†ต์‹  ๊ทœ์•ฝ

  • ์—ญํ• : ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ•˜์ดํผํ…์ŠคํŠธ(Hypertext)๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

  • ์ •์„ ํ’€์ด: ์›น์ƒ์—์„œ ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ทœ์น™์„ HTTP๊ฐ€ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋Š” GET ์š”์ฒญ์„, ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ผ ๋•Œ๋Š” POST ์š”์ฒญ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์ด HTTP์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ์€ ์ด HTTP ๊ทœ์น™์„ ์ดํ•ดํ•˜๊ณ  ๋”ฐ๋ฅด๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

HTML(HyperText Markup Language): ์›น ๋ฌธ์„œ ์–ธ์–ด

  • ์—ญํ• : ์›น ํŽ˜์ด์ง€์˜ "๊ตฌ์กฐ์™€ ๋‚ด์šฉ(๋ผˆ๋Œ€)"์„ ์ •์˜ํ•˜๋Š” ๋งˆํฌ์—… ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

  • ์ •์„ ํ’€์ด: ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์ฃผ๋Š” ์ •๋ณด์˜ ๋Œ€๋ถ€๋ถ„์€ HTML ๋ฌธ์„œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด HTML ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜์—ฌ ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ๋งํฌ ๋“ฑ์„ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ์›น ํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ '๋ Œ๋”๋ง(Rendering)'ํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. CSS(๋””์ž์ธ)์™€ JavaScript(๋™์ž‘)๊ฐ€ ์•„๋ฌด๋ฆฌ ๋ณต์žกํ•ด๋„, ๊ทธ ๋ชจ๋“  ๊ฒƒ์€ HTML์ด๋ผ๋Š” ๋ผˆ๋Œ€ ์œ„์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค

 

์ฒ˜์Œ๋‹ค์Œ

๋Œ“๊ธ€ ์“ฐ๊ธฐ