[HTTP] ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ

2022. 3. 10. 22:29ยทWEB
๋ชฉ์ฐจ
  1. ๐Ÿ“Œ ์ธํ„ฐ๋„ท ํ†ต์‹ 
  2. ๐Ÿ“Œ IP(Internet Protocol)
  3. ๐Ÿ“Œ IP์˜ ํ•œ๊ณ„
  4. ๐Ÿ“Œ TCP(Transmission Control Protocol)
  5. ๐Ÿ“Œ UDP(User Datagram Protocol)
  6. ๐Ÿ“Œ PORT
  7. ๐Ÿ“Œ DNS(Domain Name System)

๐Ÿ“Œ ์ธํ„ฐ๋„ท ํ†ต์‹ 

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ(request)์„ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต(response)์„ ํ•œ๋‹ค.

๋ฉ”์„ธ์ง€๋ฅผ ์ „์†กํ•  ๋•Œ ๋ณต์žกํ•œ ์ธํ„ฐ๋„ท ๋ง์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋ฉ”์„ธ์ง€๊ฐ€ ์ž˜ ์ „์†ก๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ๋ จ์˜ ๊ทœ์น™์ด ํ•„์š”ํ•˜๋‹ค.

 

๐Ÿ“Œ IP(Internet Protocol)

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

๋ณต์žกํ•œ ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ ๋ฉ”์„ธ์ง€๋ฅผ ์ž˜ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๊ฐ๊ฐ IP ์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌ๋ฐ›๋Š”๋‹ค.

์ด๋•Œ IP๋Š” ์ง€์ •ํ•œ IP ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ํŒจํ‚ท์ด๋ผ๋Š” ํ†ต์‹  ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ „์†กํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์— ์ถœ๋ฐœ์ง€ IP, ๋ชฉ์ ์ง€ IP ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋”ํ•ด IP ํŒจํ‚ท์œผ๋กœ ๋งŒ๋“ ๋‹ค.

 

๐Ÿ“Œ IP์˜ ํ•œ๊ณ„

ํ•˜์ง€๋งŒ IP์—๋Š” ํ•œ๊ณ„์ ๋“ค์ด ์žˆ๋‹ค.

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

 

๐Ÿ“Œ TCP(Transmission Control Protocol)

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

 

TCP๋Š” ์ „์†ก ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ๋กœ IP ํŒจํ‚ท์„ ๋ณด์™„ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ("Hello, world!"๋ผ๋Š” ๋ฉ”์„ธ์ง€)๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด

  1. ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. Socket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ๋ฉ”์„ธ์ง€๋ฅผ OS ๊ณ„์ธต์— ์ „๋‹ฌํ•œ๋‹ค.
  3. ์ „์†ก ๊ณ„์ธต์—์„œ TCP ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฉ”์„ธ์ง€๋ฅผ ๊ฐ์‹ผ๋‹ค.
  4. ์ธํ„ฐ๋„ท ๊ณ„์ธต์—์„œ TCP ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” IP ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜๊ณ  ์‹ค์ œ ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ์ •๋ณด(e.g. MAC ์ฃผ์†Œ)๋ฅผ ํฌํ•จํ•œ Ethernetframe์„ ์”Œ์šด ํ›„ ์ „์†กํ•œ๋‹ค.

 

โœ… TCP/IP ํŒจํ‚ท ์ •๋ณด

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

TCP ์ •๋ณด์—๋Š” PORT, ์ „์†ก์ œ์–ด, ์ˆœ์„œ ๋“ฑ์ด ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— IP ํŒจํ‚ท๋งŒ์œผ๋กœ ๋ฐœ์ƒํ–ˆ๋˜ ํ•œ๊ณ„์ ๋“ค์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค!

 

โœ… TCP ํŠน์ง•

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

  • ์—ฐ๊ฒฐ ์ง€ํ–ฅ : 3 way handshake (๊ฐ€์ƒ ์—ฐ๊ฒฐ)
    • SYN : ์ ‘์† ์š”์ฒญ, ACK : ์š”์ฒญ ์ˆ˜๋ฝ
    • ์„ธ๋ฒˆ์˜ ๋ฉ”์„ธ์ง€๊ฐ€ ์ „์†ก๋˜๊ณ  ๋‚˜๋ฉด ์—ฐ๊ฒฐ์ด ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ (๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ) ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.
    • ์ฐธ๊ณ ๋กœ 3๋ฒˆ ACK์™€ ํ•จ๊ป˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

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

 

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

  • ์ˆœ์„œ ๋ณด์žฅ
    • ์„œ๋ฒ„๋Š” ํŒจํ‚ท์˜ ์ˆœ์„œ ์ •๋ณด๋ฅผ ์ „๋‹ฌ ๋ฐ›๋Š”๋‹ค.
    • ํŒจํ‚ท์˜ ์ˆœ์„œ๊ฐ€ ์ž˜๋ชป๋˜๋ฉด ์ˆœ์„œ๊ฐ€ ์ž˜๋ชป๋œ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์žฌ์ „์†ก์„ ์š”์ฒญํ•œ๋‹ค.

 

 

๐Ÿ“Œ UDP(User Datagram Protocol)

UDP๋Š” ๋ณดํ†ต ํ•˜์–€ ๋„ํ™”์ง€์— ๋น„์œ ํ•œ๋‹ค. TCP์™€ ๊ฐ™์ด ์ „์†ก ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์ด์ง€๋งŒ ๊ทธ์™€ ๋‹ฌ๋ฆฌ ์—ฐ๊ฒฐ ์ง€ํ–ฅ, ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ณด์ฆ, ์ˆœ์„œ ๋ณด์žฅ ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. UDP๋Š” IP์™€ ๊ฑฐ์˜ ๊ฐ™์ง€๋งŒ PORT์™€ ์ฒดํฌ์„ฌ ๊ธฐ๋Šฅ ์ •๋„๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ถ”๊ฐ€ ์ž‘์—…์„ ํ•˜๋ฉด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ PORT

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Œ๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. IP ํŒจํ‚ท์—๋Š” ๋„์ฐฉ์ง€ IP ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์ถœ๋ฐœ์ง€ IP์ฃผ์†Œ๋„ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์˜ PC๊นŒ์ง€ ๋„์ฐฉํ•˜๋Š”๋ฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์ „๋‹ฌ๋œ ํŒจํ‚ท์ด ์–ด๋–ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „๋‹ฌ๋œ ๊ฒƒ์ธ์ง€๋Š” ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๋‹ค. 

 

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

PORT๋Š” ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ™์€ IP๋‚ด์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ์ด๋‹ค. IP ์ฃผ์†Œ๋ฅผ ์•„ํŒŒํŠธ๋ผ๊ณ  ํ•˜๋ฉด PORT๋Š” ๋™, ํ˜ธ์ˆ˜๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. PORT ์ •๋ณด๋Š” TCP๋ฅผ ํ†ตํ•ด IP ํŒจํ‚ท์— ์ถ”๊ฐ€๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค.

 

PORT ์ค‘ 0~1023์€ ์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ๋กœ, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๊ณ  ๋ณดํ†ต 0~65535๋ฅผ ํ• ๋‹นํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐Ÿ“Œ DNS(Domain Name System)

 

์ธํ”„๋Ÿฐ ๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜์ž๋ฃŒ

IP ์ฃผ์†Œ๋Š” ๊ธฐ์–ตํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค. DNS๋Š” ๋„๋ฉ”์ธ ๋ช…๊ณผ IP ์ฃผ์†Œ๋ฅผ ๋งคํ•‘์‹œ์ผœ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ IP์ฃผ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 


๊ฐ•์˜ ์ž๋ฃŒ

 

๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

์‹ค๋ฌด์— ๊ผญ ํ•„์š”ํ•œ HTTP ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ์˜ฌ๋ฐ”๋ฅธ HTTP API ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค., - ๊ฐ•์˜ ์†Œ๊ฐœ | ์ธํ”„๋Ÿฐ...

www.inflearn.com

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'WEB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[HTTP] API URI ์„ค๊ณ„์™€ HTTP ๋ฉ”์„œ๋“œ  (0) 2022.03.13
[HTTP] HTTP ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํŠน์ง•  (0) 2022.03.13
[HTTP] URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„  (0) 2022.03.12
  1. ๐Ÿ“Œ ์ธํ„ฐ๋„ท ํ†ต์‹ 
  2. ๐Ÿ“Œ IP(Internet Protocol)
  3. ๐Ÿ“Œ IP์˜ ํ•œ๊ณ„
  4. ๐Ÿ“Œ TCP(Transmission Control Protocol)
  5. ๐Ÿ“Œ UDP(User Datagram Protocol)
  6. ๐Ÿ“Œ PORT
  7. ๐Ÿ“Œ DNS(Domain Name System)
'WEB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [HTTP] HTTP ๋ฉ”์„œ๋“œ ํ™œ์šฉ
  • [HTTP] API URI ์„ค๊ณ„์™€ HTTP ๋ฉ”์„œ๋“œ
  • [HTTP] HTTP ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํŠน์ง•
  • [HTTP] URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„
Sue
Sue
๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋กœ๊ทธ
  • Sue
    Sue's devlog
    Sue
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (122)
      • Algorithm (2)
      • WEB (8)
      • Java & Kotlin (83)
      • Spring (26)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Sue
[HTTP] ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.