[TIL]๐ŸŒ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

YJinยท2025๋…„ 3์›” 19์ผ

[๋‚ด๋ฐฐ์บ  Spring 6๊ธฐ_TIL]

๋ชฉ๋ก ๋ณด๊ธฐ
11/56

์ธํŠธ๋กœ

์ŠคํŒŒ๋ฅดํƒ€ ์ฝ”๋”ฉํด๋Ÿฝ ๊ธฐ์ดˆ Spring ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๋ฉฐ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๋ณต์Šตํ•  ๊ฒธ ๊ธฐ์ดˆ ๋„คํŠธ์›Œํฌ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

1. ๐ŸŒ ์ธํ„ฐ๋„ท๊ณผ ๋„คํŠธ์›Œํฌ ๊ฐœ๋…

์ธํ„ฐ๋„ท

: TCP/IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต์‹ ํ•˜๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๋ง

TCP/IP

: ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ(ํ†ต์‹  ๊ทœ์•ฝ). ํ˜„๋Œ€ ์ธํ„ฐ๋„ท์˜ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

IP (Internet Protocol)

: ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ.

  • IP์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๊ธฐ๋ฅผ ์‹๋ณ„ํ•˜๊ณ , ํŒจํ‚ท ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค.
  • ์˜ˆ์‹œ) ๋ฐ์ดํ„ฐ ์†ก์‹  ์ธก - ํŒจํ‚ท์— ์†Œ์Šค IP(๋ณด๋‚ด๋Š” ์ชฝ), ๋ชฉ์ ์ง€ IP(๋ฐ›๋Š” ์ชฝ)๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก

โš ๏ธ IP ๋ฐฉ์‹์˜ ํ•œ๊ณ„

1. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋ถ„: ์–ด๋–ค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ›์„ ๊ฑด์ง€?
2. ๋น„์—ฐ๊ฒฐ์„ฑ: ์ˆ˜์‹  ๋Œ€์ƒ์˜ ์ƒํƒœ์— ๊ด€๊ณ„์—†์ด ๋ฐ์ดํ„ฐ ์ „์†ก (์‚ฌ์ „ ์—ฐ๊ฒฐX)
3. ๋น„์‹ ๋ขฐ์„ฑ: ์ˆ˜์‹ ์ž๋Š” ํŒจํ‚ท ์†์ƒ์—ฌ๋ถ€ ์•Œ ์ˆ˜ ์—†์Œ

โžก๏ธTCP๋กœ ํ•œ๊ณ„ ๋ณด์™„

TCP

: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๋ขฐ์„ฑย ์žˆ๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœํ† ์ฝœ

3 Way HandShake


1๏ธโƒฃ SYN ์ ‘์† ์š”์ฒญ
2๏ธโƒฃ ACK ์š”์ฒญ ์ˆ˜๋ฝ
3๏ธโƒฃ ACK+๋ฐ์ดํ„ฐ ์ „์†ก
โžก๏ธ 3๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์—ฐ๊ฒฐ ์„ค์ •

  • ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ, ์ƒ๋Œ€๋ฐฉ ์ชฝ์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋ฐ›์•˜๋‹ค๋Š” ์‘๋‹ต ๋ฐ˜ํ™˜
  • ํŒจํ‚ท ์ˆœ์„œ: ๋ฐ์ดํ„ฐ๊ฐ€ ํฐ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ํŒจํ‚ท์ด ๋“ค์–ด์™€๋„ ํŒจํ‚ท ์ˆœ์„œ ๋ณด์žฅ

โš ๏ธ TCP ๋ฐฉ์‹์˜ ํ•œ๊ณ„

  • ์‹ ๋ขฐ์„ฑ์ด ์žˆ์ง€๋งŒ, ์—ฐ๊ฒฐ ์„ค์ •(3-way handshaking)๊ณผ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆผ


UDP (Internet Protocol)

: ๋น„์—ฐ๊ฒฐํ˜•, ์‹ ๋ขฐ์„ฑ์ด ์—†๋Š” ์ „์†ก ํ”„๋กœํ† ์ฝœ. ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ, ์ธํ„ฐ๋„ท ์ „ํ™” ๋“ฑ์— ์‚ฌ์šฉ๋œ๋‹ค.

  • IP ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, 3-way hand shaking์ด ์—†์Œ
    โžก๏ธ ๋ฐ์ดํ„ฐ ์ „์†ก/์‘๋‹ต/์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๋Œ€์‹ (๋น„์‹ ๋ขฐ์„ฑ) ์†๋„๊ฐ€ ๋น ๋ฆ„
  • IP์™€์˜ ์ฐจ์ด์ ์€ ํฌํŠธ ์กด์žฌ (TCP๋„ ํฌํŠธO)
  • ์ฒดํฌ์„ฌ ํฌํ•จ(๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ)


๐Ÿ”— 2. ์ธํ„ฐ๋„ท ์ฃผ์†Œ ์ฒด๊ณ„

: ์ธํ„ฐ๋„ท์—์„œ ํŠน์ • ์ž์›(์‚ฌ์ดํŠธ, ์ด๋ฏธ์ง€, ๋™์˜์ƒ etc.)์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์ธํ„ฐ๋„ท ์ฃผ์†Œ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ

  • IP
  • PORT
  • DNS
  • URL, URI


PORT

: ๊ฐ™์€ IP ๋‚ด์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•จ.

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

์ฃผ์š” ํฌํŠธ ๋ฒˆํ˜ธ

  1. 0 ~ 65535 ํ• ๋‹น ๊ฐ€๋Šฅ
  2. ์ด๋ฏธ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ํฌํŠธ (0 ~ 1023)
  • ์ด๋ฏธ ์˜ˆ์•ฝ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
    • FTPย - 20, 21 (TCP)
    • SSHย - 22 (TCP)
    • ํ…”๋„ทย - 23 (TCP)
    • DNSย - 53 (TCP/UDP)
    • DHCPย - 67 (UDP)
    • HTTPย - 80 (TCP)
    • HTTPSย - 443 (TCP)


DNS (Domain Name System)

: ์‹ค์ œ ์ธํ„ฐ๋„ท ์‚ฌ์šฉ ์‹œ์—๋Š” IP ์ฃผ์†Œ๋ฅผ ๋„๋ฉ”์ธ ๋„ค์ž„์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉ.

DNS์˜ ํ•„์š”์„ฑ

  • IP ๋ณ€๋™๋  ์ˆ˜ ์žˆ์Œ (์ผ๋ฐ˜ ๊ฐ€์ • ์ง‘์—์„œ๋Š” ์œ ๋™ IP ์‚ฌ์šฉ)
    โžก๏ธ DNS ์‚ฌ์šฉํ•œ๋‹ค๋ฉด DNS ์„œ๋ฒ„์—์„œ ๋ณ€๊ฒฝ๋œ IP๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋จ
  • IP ์ฃผ์†Œ ์™ธ์šฐ๊ธฐ ์–ด๋ ค์›€ โ€”> ๋ณด๋‹ค ์ง๊ด€์ ์ธ ๋„๋ฉ”์ธ ๋„ค์ž„ ์‚ฌ์šฉ
    • ์˜ˆ์‹œ) IP ์ฃผ์†Œ 108.59.0.1 ๋ณด๋‹ค๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„google.com ์ด ๋” ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์›€

DNS Lookup ๊ณผ์ •

  • 0๏ธโƒฃ ์›น์‚ฌ์ดํŠธ๋Š” ๋„๋ฉ”์ธ์„ ๊ตฌ๋งค ํ›„ DNS ์„œ๋ฒ„์— ๋“ฑ๋ก
  • 1๏ธโƒฃ ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋ฉ”์ธ ๋„ค์ž„ ์ž…๋ ฅ โžก๏ธ DNS ์„œ๋ฒ„์— ๋„๋ฉ”์ธ ๋„ค์ž„์œผ๋กœ ์š”์ฒญ
    • ์˜ˆ์‹œ) google.com ์ ‘์†
  • 2๏ธโƒฃ DNS ์„œ๋ฒ„๋Š” ์ž์‹ ์ด ๊ฐ€์ง„ DNS ํ…Œ์ด๋ธ”์—์„œ ์š”์ฒญ๋ฐ›์€ ๋„๋ฉ”์ธ ๋„ค์ž„๊ณผ ๋งค์น˜๋˜๋Š” IP ์ฃผ์†Œ ๋ฐ˜ํ™˜
    • ์˜ˆ์‹œ) ๋„๋ฉ”์ธ ๋„ค์ž„ google.com๊ณผ ๋งค์น˜๋˜๋Š” IP์ฃผ์†Œ 108.59.0.1๋ฅผ ๋ฐ˜ํ™˜
  • 3๏ธโƒฃ ์‚ฌ์šฉ์ž๋Š” ๋ฐ˜ํ™˜๋ฐ›์€ IP ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ์— ์ ‘์†

โœ”๏ธ IP ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„, DNS ์„œ๋ฒ„์— ๋“ฑ๋ก๋œ IP์ฃผ์†Œ๋งŒ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ฌธ์ œ ์—†์ด ์ ‘์† ๊ฐ€๋Šฅ

URI/URL

URI(Uniform Resource Identifier)

: ์ธํ„ฐ๋„ท ์ž์›(Resource)์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ  ์‹๋ณ„์ž(Identifier)

URL(Uniform Resource Locator)

  • ์ž์›(Resource)์˜ ์œ„์น˜
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Œ
  • ํ”„๋กœํ† ์ฝœ์„ ํฌํ•จํ•œ๋‹ค ex) https, http

URL ์Šคํ‚ค๋งˆ

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

https://www.google.com:443/search?q=์ŠคํŒŒ๋ฅดํƒ€+์ฝ”๋”ฉํด๋Ÿฝ
  • scheme
    • ์ฃผ๋กœ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉ. ex) http, https
  • host[:port]
    • ํ˜ธ์ŠคํŠธ๋ช… : ๋„๋ฉ”์ธ ๋„ค์ž„(www.google.com) ๋˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•œ๋‹ค.
    • ํฌํŠธ๋ฒˆํ˜ธ: http=80, https=443
    • ํฌํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๋žต
  • [/path]
    • ๋ฆฌ์†Œ์Šค์˜ ๊ฒฝ๋กœ
    • ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ ex) /products/clothes/shoes
  • [?query]
    • key=value ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ
    • Query Parameter, Query String
  • [#fragment]
    - html ๋‚ด๋ถ€ ๋ถ๋งˆํฌ ๋“ฑ์— ์‚ฌ์šฉ
    - ํŠน์ • ์œ„์น˜๋กœ ์ด๋™ ๊ฐ€๋Šฅ

๐Ÿ“Œ ๋ชจ๋“  URL์€ URI์˜ ํ•œ ์ข…๋ฅ˜
ย  ย โžก๏ธ URL์€ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ํฌํ•จํ•˜๋Š” URI


profile
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ๋„ ๋ฝ์ด๋‹ค

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