๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ‘‰ Network

๐ŸŽˆ HTTP์™€ HTTPS์˜ ์ฐจ์ด์ โ€‹

HTTP๋Š” ์ธํ„ฐ๋„ท์—์„œ ์›น ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํ“จํ„ฐ์— ์„ค์น˜๋œ ์›น ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์˜ ๋ฌธ์„œ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. HTTP์˜ ๊ธฐ๋ณธ ํฌํŠธ๋ฒˆํ˜ธ๋Š” 80๋ฒˆ์ด๊ณ  HTTP๋Š” ์ •๋ณด๋ฅผ ํ…์ŠคํŠธ๋กœ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœ ํ…์ŠคํŠธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ์—์„œ ์ „์†ก ์‹ ํ˜ธ๋ฅผ ์ธํ„ฐ์…‰ํŠธํ•˜๋Š” ๊ฒฝ์šฐ ์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์œ ์ถœ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ํ”„๋กœํ† ์ฝœ์ด HTTPS์ž…๋‹ˆ๋‹ค. HTTPS๋Š” ํฌํŠธ๋ฒˆํ˜ธ 443๋ฒˆ์œผ๋กœ HTTP์— Secure Socket Layer์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค. HTTPS์˜ ๋‹จ์ ์œผ๋กœ๋Š” ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”์˜ ๊ณผ์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋–„๋ฌธ์— HTTP๋ณด๋‹ค ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฌ์ง€๋งŒ ์˜ค๋Š˜๋‚ ์€ ๊ฑฐ์˜ ์ฐจ์ด๊ฐ€ ์—†๊ณ  HTTPS๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ธฐ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽˆ TCP์™€ UDPโ€‹

TCP์™€ UDP๋Š” OSI 7๊ณ„์ธต์—์„œ ์ „์†ก๊ณ„์ธต ์†ํ•ฉ๋‹ˆ๋‹ค. TCP๋Š” ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์ด ๋ฐ˜๋“œ์‹œ ๋ณด์žฅ๋˜๋Š” ํ”„ํ† ํ† ์ฝœ๋กœ ์—ฐ๊ฒฐ์ง€ํ–ฅ์„ฑ, ๋†’์€ ์‹ ๋ขฐ์„ฑ, ํ๋ฆ„์ œ์–ด, ํ˜ผ์žก์—๋Ÿฌ ๋ฐ ์—๋Ÿฌ ๊ฐ์ง€๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. TCP๋Š” ํ˜ธ์ŠคํŠธ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ 3way handshaking ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด์„œ 4way handshaking ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
UDP๋Š” TCP์™€ ๋‹ฌ๋ฆฌ ๋น„์—ฐ๊ฒฐ์„ฑ, ๋น„์‹ ๋ขฐ์„ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง„ ํ”„๋กœํ†จ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, TCP์— ๋น„ํ•ด์„œ ์ƒ๋Œ€์ ์œผ๋กœ ์†๋„๊ฐ€ ๋นจ๋ผ์„œ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์ด๋‚˜ DNS์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

๐ŸŽˆ HTTP/1.1๊ณผ HTTP/2์˜ ์ฐจ์ด์ โ€‹

HTTP/1.1์˜ ๋ฌธ์ œ์ ์€ Head of Line Blocking์ด๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ–ˆ๋Š”๋ฐ, ์ด ๋ฌธ์ œ๋Š” HTTP์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์ด ์™€์•ผ ๋‹ค์Œ ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, HTTP/1.1์—์„œ ํŒŒ์ดํ”„๋ผ์ด๋‹ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ๋ฐ›์ง€์•Š๊ณ ๋„ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ์ด ๋งˆ์ €๋„ ์ฒ˜์Œ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ, ๋˜‘๊ฐ™์ด ๊ทธ ๋‹ค์Œ ์‘๋‹ต๊นŒ์ง€ ์ง€์—ฐ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ Head of Line Blocking ๋ฌธ์ œ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, HTTP/1.1์˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์ ์€ ์š”์ฒญ์„ ํ•  ๋•Œ ์š”์ฒญํ—ค๋”์— ๋ฉ”ํƒ€์ •๋ณด๋ฅผ ๋„ฃ์–ด์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ, ๋งค ์š”์ฒญ๋งˆ๋‹ค ๋ณด๋‚ด๋Š” ์ •๋ณด๊ฐ€ ๋งŽ์•„์ ธ์„œ ํ—ค๋”๊ฐ€ ๋ฌด๊ฑฐ์›Œ์ง€๊ณ  ์ฟ ํ‚ค ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๊ณ„์† ๋ณด๋‚ด๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต๋„ ๋งŽ์•„์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ 2015๋…„์— HTTP/2๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๊ณ  ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ๊ณผ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด Head of Line Blocking ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ํ—ค๋”๋ฅผ ์••์ถ•์‹œ์ผœ ๋ฌด๊ฑฐ์šด ํ—ค๋”๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽˆ GET๊ณผ POST์˜ ์ฐจ์ด๋Š”?โ€‹

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

๐ŸŽˆ REST API๋ž€?โ€‹

REST๋Š” ์ž์›์„ ์ฃผ๊ณ ๋ฐ›์€ ์›น ์ƒ์—์„œ์˜ ํ†ต์‹  ์ฒด๊ณ„๊ฐ€ ์žˆ์–ด์„œ ๋ฒ”์šฉ์ ์ธ ์Šคํƒ€์ผ์„ ๊ทœ์ •ํ•œ ์•„ํ‚คํ…์ฒ˜์ด๊ณ , API๋Š” ๊ตฌ๊ธ€ ๋งต API๋“ฑ ๊ธฐ์กด์— ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ธ๋ฅด ์ œ๊ณต๋ฐ›๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ทœ๊ฒฉ์ž…๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ REST API๋ž€ REST ์›์น™์„ ์ ์šฉํ•˜์—ฌ ์„œ๋น„์Šค API๋ฅผ ์„ค๊ณ„ํ•œ ๊ฒƒ์„ ๋งํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น„์Šค๊ฐ€ REST API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. REST์˜ ํŠน์ง•์œผ๋กœ๋Š” HTTP ํ‘œ์ค€๋งŒ ๋”ฐ๋ฅด๋ฉด ์–ด๋–ค ๊ธฐ์ˆ ์ด๋˜์ง€ ์ ‘๋ชฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์˜ˆ๋ฅผ ๋“ค์–ด JSON์ด๋‚˜ XML๋“ฑ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๊ทธ์ € API ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋งŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ํ•ฉ๋‹ˆ๋‹ค. REST ์„œ๋ฒ„๊ฐ€ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
REST API๋Š” URI๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ‘œํ˜„ํ•ด์•ผํ•˜๋Š”๋ฐ ์ด๋Š” ๋™์‚ฌ๊ฐ€ ์•„๋‹Œ ๋ช…์‚ฌ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ , ๊ทธ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํ–‰์œ„๋Š” GET, POST๋“ฑ HTTP์˜ ๋ฉ”์†Œ๋“œ๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. HTTP ์ƒํƒœ ์ฝ”๋“œ๋กœ๋Š” 200์€ ์„ฑ๊ณต 300๋Œ€๋Š” ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๊ด€๋ จ, 400๋Œ€๋Š” ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ๊ด€๋ จ, 500๋Œ€๋Š” ์„œ๋ฒ„ ์—๋Ÿฌ ๊ด€๋ จ๋“ฑ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP๋Š” ์ƒํƒœ๊ฐ€ ์—†๋Š” ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋–„๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด์„œ ํŠน์ • ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฟ ํ‚ค ๋˜๋Š” ์„ธ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ  ๊ฐ ์‚ฌ์šฉ์ž์— ๋งž๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ ์ชฝ์— ์ €์žฅ๋˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ์‚ญ์ œ๋˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งŒํผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ด๊ธฐ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํด๋ผ์ด์–ธํŠธ์ชฝ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋ฐ€๋จผํ˜ธ์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํƒˆ์ทจ๋‹นํ•  ์ˆ˜๋„ ์žˆ์–ด ๋ณด์•ˆ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์€ ์„œ๋ฒ„์ชฝ์— ์ €์žฅ๋˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊บผ์ง€๋ฉด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๋„ ๋ฌธ์ž์—ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์„œ๋ฒ„์ชฝ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น„๊ต์  ๋Š๋ฆฌ์ง€๋งŒ ์„œ๋ฒ„์—์„œ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต์  ๋ณด์•ˆ์— ์ข‹์Šต๋‹ˆ๋‹ค.

๐ŸŽˆ URL์„ ์ž…๋ ฅํ•˜๊ณ  ๋ฒŒ์–ด์ง€๋Š” ์ผโ€‹

๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์— url์„ ์ž…๋ ฅํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋‹น url์— ์ƒ์‘ํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ DNS ๊ธฐ๋ก ์บ์‹œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. DNS ๊ธฐ๋ก์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๋Š” browser -> OS -> router -> ISP์ˆœ์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์š”์ณฅํ•œ URL์ด ์บ์‹œ์— ์—†๋‹ค๋ฉด ISP์˜ DNS ์„œ๋ฒ„๋Š” ํ•ด๋‹น url์„ ๊ฐ–๋Š” ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ท€ ์œ„ํ•ด DNS Query๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๋ฅผ ์ฐพ์•˜์œผ๋‹ˆ ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์™€ TCP ํ†ต์‹ ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ IP์ฃผ์†Œ๋ฅผ ๋ฐ›์œผ๋ฉด, IP์ฃผ์†Œ์™€ ์ผ์น˜ํ•˜๋Š” ์„œ๋ฒ„์™€ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ปดํ“จํ„ฐ์™€ ์„œ๋ฒ„๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํŒจํ‚ท ์ „์†ก์„ ์œ„ํ•ด TCP์—ฐ๊ฒฐ์ด ๋งŒ๋“ค์–ด์ง€๋Š”๋ฐ ์ด ์—ฐ๊ฒฐ์€ three way handshake ๊ณผ์ •์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ด์ œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ์„œ๋ฒ„์— GET, POST๋“ฑ์˜ ํ•ด๋‹น HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ๋‹ค์‹œ HTTP ์‘๋‹ต์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์ปจํ…์ธ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ HTML ๋ผˆ๋Œ€๋งŒ ๋ Œ๋”๋งํ•˜๊ณ , HTML ํƒœ๊ทธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด๋ฏธ์ง€, CSS JavaScript ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ ์š”์†Œ์— ๋Œ€ํ•œ GET ์š”์ฒญ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. css, javascript์™€ ๊ฐ™์€ static ํŒŒ์ผ๋“ค์€ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์บ์‹œ๋˜๊ธฐ ๋–„๋ฌธ์— ๋‹ค์Œ์— ๋™์ผํ•œ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ–ˆ์„ ๋•Œ ๊ทธ๊ฒƒ์„ ๋‹ค์‹œ fetchํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.