iknowDev
Blog Driven Development
iknowDev ๐Ÿ˜
/
  • ์ž‘์„ฑ ๊ธ€ ๋ชฉ๋ก
  • Github
  • Category (30)
    • ๐Ÿ“• CS ์Šคํ„ฐ๋”” (22)
      • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ (0)
      • Java, Spring (5)
      • ๋„์ปค, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ๋ฆฌ๋ˆ…์Šค (4)
      • ๋„คํŠธ์›Œํฌ (11)
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • ๋””์ž์ธ ํŒจํ„ด (1)
      • ์ž๋ฃŒ ๊ตฌ์กฐ (0)
    • ๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” (4)
      • Java (3)
      • JavaScript (0)
      • Python3 (1)
    • ๐Ÿ’ป ํ† ์ด ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ (2)
    • ๐Ÿš€ ๊ฒฝํ—˜ (2)
      • ์—๋Ÿฌ ๋Œ€์‘ (2)
      • ํšŒ๊ณ  (0)
      • ์ฆ๊ฑฐ์šด์ผ (0)

Popular

Tag

Spring   
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค   
ํŠธ๋žœ์žญ์…˜   
๊ณจ๋“œ   
Netty   
side Project   
์—๋Ÿฌ ๋Œ€์‘   
java   
๋ฐฑ์ค€   
Was   

Comment


Designed By hELLO
iknowDev

Blog Driven Development

๐Ÿ“• CS ์Šคํ„ฐ๋””/๋„คํŠธ์›Œํฌ

[WEB] ๐ŸŒ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘ ์›๋ฆฌ - ์ฃผ์†Œ์ฐฝ์— URL ๊ฒ€์ƒ‰ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •

2023. 2. 9. 21:31
ํŠน์ • URL์„ ์ž…๋ ฅ
๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์—์„œ DNS ๊ธฐ๋ก ํ™•์ธ

 

๐Ÿ“Œ 1. ํŠน์ • URL์„ ์ž…๋ ฅ

์˜ˆ์ œ๋ฅผ ์œ„ํ•ด https://www.google.com ์„ ์ž…๋ ฅํ–ˆ๋‹ค๊ณ  ํ•ด๋ณด์ž

 

๐Ÿ“Œ 2. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ DNS์—๊ฒŒ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ์š”์ฒญ

 

   2 - 1. URL๊ณผ ๋งค์นญ๋˜๋Š” IP๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์บ์‹œ ํ™•์ธ

  1. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ํ™•์ธ
  2. ์ปดํ“จํ„ฐ์˜ hosts ํŒŒ์ผ์—์„œ OS ์บ์‹œ ํ™•์ธ (C:\Windows\System32\drivers\etc\hosts)
  3. router ์บ์‹œ ํ™•์ธ
  4. ISP ์บ์‹œ ํ™•์ธ

*hosts ํŒŒ์ผ := ip ์ฃผ์†Œ์™€ hostname ์„ ๋งค์นญ์‹œ์ผœ๋†“์€ ํ…์ŠคํŠธ ํŒŒ์ผ

*ISP := ์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์ œ๊ณต์ž (ex. KT, SKT)

 

 

   2 - 2. ์บ์‹œ์—์„œ ๋ชป ์ฐพ์•˜๋‹ค๋ฉด ISP์˜ DNS ์„œ๋ฒ„(DNS recursor)๋Š” recursive DNS lookup์„ ์ˆ˜ํ–‰

*DNS recursor := Client ์š”์ฒญ์„ ๋ฐ›์•„ Name Server๋กœ ์ „๋‹ฌํ•˜๊ณ  ๋ฐ˜ํ™˜ ๋ฐ›์€ ์ •๋ณด(IP ์ฃผ์†Œ)๋ฅผ Client์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์ค‘๊ณ„์ž ์—ญํ• 

 

DNS Lookup์€ ๋ฃจํŠธ ๋„๋ฉ”์ธ์„œ๋ฒ„์—์„œ๋ถ€ํ„ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ ์„œ๋ฒ„์ˆœ์œผ๋กœ ์ฐพ๋Š”๋‹ค.

๊ฐ๊ฐ์˜ ๋ ˆ๋ฒจ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„ค์ž„์„œ๋ฒ„๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ ์„œ๋ฒ„๋Š” ๋ฐ”๋กœ ํ•˜์œ„ ๋ ˆ๋ฒจ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋„ค์ž„์„œ๋ฒ„ ์ฃผ์†Œ ๋ฐ–์— ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

Root Server ๋Š” Top-Level ์˜ ์ •๋ณด ๋ฐ–์— ๋ชจ๋ฅด๊ณ , Top-Level ์„œ๋ฒ„๋Š” Second-Level ์˜ ์ •๋ณด ๋ฐ–์— ๋ชจ๋ฅธ๋‹ค.

๋”ฐ๋ผ์„œ, DNS ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ Root ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋‹จ๊ณ„์ ์œผ๋กœ ip ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

 

๋„๋ฉ”์ธ ์ด๋ฆ„ ๊ตฌ์กฐ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰

1. DNS recursor๊ฐ€ root name server์— ์—ฐ๋ฝ

2. root name server๋Š” .com ๋„๋ฉ”์ธ name server๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ

3. .com name server๋Š” google.com name server๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ

*root name server := ๊ณ„์ธต ๊ตฌ์กฐ ํŠธ๋ฆฌ์—์„œ ์ตœ์ƒ์œ„ ๊ฒฝ๋กœ๋ฅผ ๋‹ด๋‹น

 

DNS ์ฟผ๋ฆฌ์˜ ์‘๋‹ต์œผ๋กœ ip ์ฃผ์†Œ๋ฅผ ๋ฌด์‚ฌํžˆ ๋ฐ›์œผ๋ฉด, Local DNS Sever ๋Š” ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ์บ์‹œ์— ์ €์žฅํ•œ๋‹ค.

 

 

 

๐Ÿ“Œ 3. TCP ์—ฐ๊ฒฐ

IP ์ฃผ์†Œ๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์„œ๋ฒ„์™€ TCP connection์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. TCP/IP three-way handshake๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„ connection์ด ์ด๋ค„์ง€๊ฒŒ ๋œ๋‹ค.

 

 

๐Ÿ“Œ 4. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— HTTP ์š”์ฒญ

 

 

๐Ÿ“Œ 5. ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  response๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

๐Ÿ“Œ 6. ์„œ๋ฒ„๊ฐ€ HTTP response๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

 

๐Ÿ“Œ 6. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์„ ํ‘œ์‹œ

 

 

 

์ •๋ฆฌ

URL์„ ์ž…๋ ฅํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €์—์„œ DNS ์„œ๋ฒ„์— ์š”์ฒญํ•ด ํ•ด๋‹น URL๊ณผ ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๋ฅผ ์–ป๋Š”๋‹ค.

IP ์ฃผ์†Œ๋กœ HTTP ์š”์ฒญ์œผ๋กœ ์›น ์„œ๋ฒ„์—์„œ ์›น ํŽ˜์ด์ง€ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜จ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ด๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.

 


 

What happens when you type a URL into your browser?

What happens when you type a URL in the browser and press enter?

    '๐Ÿ“• CS ์Šคํ„ฐ๋””/๋„คํŠธ์›Œํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [WEB ๐ŸŒ] CSR/SSR/SSG, SPA/MPA, AJAX ๋ชฝ๋•… ์ •๋ฆฌ
    • [๋„คํŠธ์›Œํฌ] ๐ŸŒ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๋ช…ํ•ด๋ณด์ž
    • ๋”ฐ๋ผํ•˜๋ฉด ๋˜๋Š” Netty ๊ธฐ๋ฐ˜ ๊ฐ„๋‹จํ•œ Live Chat ์„œ๋ฒ„ ์˜ˆ์ œ
    • ๋”ฐ๋ผํ•˜๋ฉด ๋˜๋Š” Netty ๊ธฐ๋ฐ˜ EchoServer ์˜ˆ์ œ
    iknowDev
    iknowDev
    iknowDev ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ SSAFY 8๊ธฐ Java

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