FrontEnd
Javascript
Diary
ML
CS
Django
Algorithm
AWS
Co-Work
HTML
CSS
Python
React
ReactNative

Network

(8)

๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์ข…๋ฃŒ

โŒ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์˜ ์ข…๋ฃŒ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์ด ๋๋‚˜๊ฒŒ ๋˜๋ฉด ์ข…๋ฃŒํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” ๋ฆฌํ€˜์ŠคํŠธ์™€ ์‘๋‹ต๋ฉ”์„ธ์ง€๊ฐ€ ์˜ค๊ณ ๊ฐ€๋Š”๊ฒŒ ๋๋‚˜๊ฑฐ๋‚˜ (์‘๋‹ตํ›„์—๋„ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ๊ฐˆ ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ) ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์„ธ์ง€๊ฐ€ ์—†์„๋•Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋Š๊ธฐ ๋Œ์ž… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ ํ”„๋กœํ† ์ฝœ์Šคํƒ์€ ์–ด๋Š์ชฝ์—์„œ ๋จผ์ € ๋Š์–ด๋„ ์ƒ๊ด€์—†๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค ์—ฐ๊ฒฐ์„ ๋Š๋Š” ์ธก(์—ฌ๊ธฐ์„œ๋Š” ์„œ๋ฒ„๋ผ ๊ฐ€์ •)์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ Sockโ€ฆ

๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๊ณผ์ •

๐Ÿ“ก ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๊ณผ์ • ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— HTTP ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋„˜๊ธด๋‹ค ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์ œ์–ด๊ฐ€ ๋Œ์•„์˜ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์†ก์‹  ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœํ† ์ฝœ์Šคํƒ์— ๊ฑด๋„ค์ฃผ๊ณ  ์ด๊ฒƒ์„ ๋ฐ›์€ ํ”„๋กœํ† ์ฝœ์Šคํƒ์ด ์†ก์‹ ๋™์ž‘์„ ์‹คํ–‰ํ•œ๋‹ค ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋ฐ›์€ ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์ง€ ๋ชปํ•œ๋‹ค ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ์šฉ ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด๋‘๋Š”๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ข…๋ฅ˜โ€ฆ

์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ

๐Ÿ”Œ์„œ๋ฒ„์— ์ ‘์† ์†Œ์ผ“์„ ๋งŒ๋“ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๋ธŒ๋ผ์šฐ์ €)์€ ๋ฅผ ํ˜ธ์ถœ ๊ทธ๋Ÿฌ๋ฉด ํด๋ผ์ด์–ธํŠธ์˜ ์†Œ์ผ“์€ ์„œ๋ฒ„์ธก ์†Œ์ผ“์— ์ ‘์†ํ•˜๋Š”๋ฐ ์ผ€์ด๋ธ”์€ ํ•ญ์ƒ ์ ‘์†๋œ ์ƒํƒœ์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ๋™์ž‘์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž ์ ‘์†์˜ ์˜๋ฏธ๋Š” ๋ฌด์—‡์ผ๊นŒ ์†Œ์ผ“์„ ๋งŒ๋“  ์งํ›„์—” ์•„๋ฌด๊ฒƒ๋„ ๊ธฐ๋ก๋˜์–ด ์žˆ์ง€ ์•Š์•„ ํ†ต์‹ ์ƒ๋Œ€๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ์ˆ˜ ์—†๋‹ค ๋ธŒ๋ผ์šฐ์ €๋Š” IP์ฃผ์†Œ์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์กฐ์‚ฌํ•˜์—ฌ ์•Œ๊ณ ์žˆโ€ฆ

Protocol Stack์˜ ์‹œ์ž‘๊ณผ socket

โšก Protocol Stack์˜ ์‹œ์ž‘๊ณผ socket ํ”„๋กœํ† ์ฝœ ์Šคํƒ TCP/IP์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ธฐ์‹ ํ˜ธ๋กœ ๋งŒ๋“ค์–ด ๋ณด๋‚ธ๋‹ค ๋„คํŠธ์›Œํฌ ์ œ์–ด์šฉ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด๋ผ๊ณ  ํ•œ๋‹ค ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฑด๋‚ด์ค€ ๋ฉ”์„ธ์ง€๋ฅผ ํŒจํ‚ท์— ์ €์žฅํ•˜๊ณ  ์ˆ˜์‹ ์ฃผ์†Œ ๋“ฑ์˜ ์ œ์–ด์ •๋ณด๋ฅผ ๋ง๋ถ™์—ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ• ์‹œ ํŒจํ‚ท์˜ ์ˆ˜์ • ๋ฐ ํ†ต์‹ ์˜ ๊ธฐ๋ณธ์„ ์กฐ์ ˆํ•˜๋Š” ์—ญํ•  ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด ํŒจํ‚ท์„ LAN ์–ด๋Œ‘ํ„ฐ(์ด๋”๋„ท,๋ฌด์„  Lโ€ฆ

๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๊ณผ์ •(ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ์˜๋ขฐ)

๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๊ณผ์ •(ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ์˜๋ขฐ) ๐Ÿ’ฌ ๋ฐ์ดํ„ฐ ์†ก ์ˆ˜์‹  ๋™์ž‘์˜ ๊ฐœ์š” IP์ฃผ์†Œ๋ฅผ ์กฐ์‚ฌํ–ˆ์œผ๋ฉด ์•ก์„ธ์Šค๋Œ€์ƒ(์›น์„œ๋ฒ„์—) ๋ฉ”์„ธ์ง€๋ฅผ ์†ก์‹ ํ•˜๋„๋ก OS์˜ ๋‚ด๋ถ€์— ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ์˜๋ขฐ ํ•œ๋‹ค(Socket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด์šฉ) ์›น์„œ๋ฒ„์— ๋ณด๋‚ด๋Š” HTTP ๋ฉ”์„ธ์ง€๋Š” ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•˜๋„๋ก ์˜๋ขฐ ์ด ๋™์ž‘์€ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•ด๋‹น(DNS์„œ๋ฒ„ โ€ฆ

DNS ์„œ๋ฒ„์˜ ๋™์ž‘

๐Ÿ“ถ DNS ์„œ๋ฒ„์˜ ๋™์ž‘ ํด๋ผ์ด์–ธํŠธ์—์„œ ์กฐํšŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›์•„ ์‘๋‹ตํ•œ๋‹ค ์กฐํšŒ ๋ฉ”์„ธ์ง€ ๋‚ด์šฉ ์ด๋ฆ„ : ์„œ๋ฒ„๋‚˜ ๋ฉ”์ผ ๋ฐฐ์†ก ๋ชฉ์ ์ง€ (์ดˆ์ฐฝ๊ธฐ www๋ผ๊ณ  ๋“ฑ๋กํ•œ๊ฒŒ ๋งŽ์•„์„œ ๊ด€์Šต์ ์œผ๋กœ ์›น์„œ๋ฒ„๋ฅผ www๋กœ ์“ธ ๋ฟ ์ž„์˜์˜ ์ด๋ฆ„์œผ๋กœ ํƒ€์ž…๊ณผ ํ•จ๊ป˜ DNS์„œ๋ฒ„์— ๋“ฑ๋กํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ๊ฒƒ์ด ์›น์„œ๋ฒ„ ์ด๋ฆ„์ด๋œ๋‹ค, ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด Aํƒ€์ž…์˜ ๊ฒฝ์šฐ IP์ฃผ์†Œ๋ฅผ ํ• ๋‹น๋ฐ›์€ ๊ธฐ๊ธฐ์˜ ์ด๋ฆ„) (mail ์„œ๋ฒ„๋‚˜ DBโ€ฆ

Http

๐Ÿ”ŒNetwork - HTTP ๊ฐœ์š” ๋ธŒ๋ผ์šฐ์ €์— URL ์„ ์ž…๋ ฅํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” URL์˜ ์˜๋ฏธ์— ๋”ฐ๋ผ request massage๋ฅผ ๋งŒ๋“ ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ด massage๋ฅผ web server์— ๋ณด๋‚ด์ฃผ๊ฒŒ ๋˜๋Š”๋ฐ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด๋Š”๊ฒƒ์€ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋ฅผ ์šด๋ฐ˜ํ•˜๋Š” ๊ตฌ์กฐ์ธ OS์— ๋‚ด์žฅ๋œ ๋„คํŠธ์›Œํฌ ์ œ์–ด์šฉ ์†Œํ”„ํŠธ ์›จ์–ด์— ์˜๋ขฐํ•˜์—ฌ massage๋ฅผ server๊นŒ์ง€ ์ „๋‹ฌํ•œ๋‹ค ๐Ÿ’ก www.โ€ฆ

IP์ฃผ์†Œ์™€ DNS์„œ๋ฒ„

โ™ป IP์ฃผ์†Œ์™€ DNS์„œ๋ฒ„ HTTP๋ฉ”์„ธ์ง€๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฉด OS์— ์˜๋ขฐํ•ด์„œ ๋„คํŠธ์›Œํฌ์— ์†ก์‹ ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋•Œ ๋„๋ฉ”์ธ๋ช…์—์„œ IP์ฃผ์†Œ๋ฅผ ์กฐ์‚ฌํ•ด ์ง€์ •ํ•ด์ค€๋‹ค TCP/IP์˜ ๊ฐœ๋… ์ธํ„ฐ๋„ท์ด๋‚˜ ์‚ฌ๋‚ด LAN์€ TCP/IP์˜ ๊ฐœ๋…์— ๊ธฐ์ดˆํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค ํ—ˆ๋ธŒ(ํŒจํ‚ท์ค‘๊ณ„์žฅ์น˜) + ๋ช‡๋Œ€์˜ PC์ ‘์† ==> ์„œ๋ธŒ๋„ท ์„œ๋ธŒ๋„ท์ด๋ผ๋Š” ์ž‘์€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ผ์šฐํ„ฐ๋กœ ์ ‘์† ํ•˜์—ฌ ์ „์ฒด ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ (๊ฐ€์ •โ€ฆ