๐Ÿ’ก๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์ดํŠธ ์ ‘์† ์‹œ ์ผ์–ด๋‚˜๋Š” ์ƒํ™ฉ์„ ํ•™์Šตํ•ด ๋ณด์ž

-ยท2022๋…„ 1์›” 14์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
5/12

๋ธŒ๋ผ์šฐ์ €์—์„œ www.example.com ์ ‘์†์‹œ

1. ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— www.example.com์„ ์ž…๋ ฅํ•œ๋‹ค.

2. ๋ธŒ๋ผ์šฐ์ €๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด DNS ์บ์‹œ๋ฅผ ํ™•์ธํ•œ๋‹ค.

  • DNS(Domain Name System)๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„(URL)๊ณผ ๊ทธ๊ฒƒ์ด ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • ๋ชจ๋“  URL์€ ์ž์‹ ๋งŒ์˜ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • DNS ๊ธฐ๋ก์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๋Š” ๋‹ค์Œ ์ˆœ์„œ๋กœ DNS Lookup์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    1. Browser์— ๋‚ด์žฅ๋œ ์ •๋ณด
    2. OS์˜ hosts file
    3. Router
    4. ISP

3. ์š”์ฒญํ•œ URL์ด ์บ์‹œ์— ์—†๋‹ค๋ฉด ISP์˜ DNS ์„œ๋ฒ„๋Š” www.example.com์„ ๊ฐ€์ง€๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด DNS Query๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ์˜ฌ๋ฐ”๋ฅธ IP ์ฃผ์†Œ๋ฅผ ์ฐพ์„๋•Œ ๊นŒ์ง€ recursive search๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์ด ๊ณผ์ •์€ ํ•œ DNS ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ DNS ์„œ๋ฒ„๋กœ ์˜ฎ๊ฒจ๊ฐ€๋ฉฐ IP ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ํ˜น์€ ๋ชป ์ฐพ๋Š”๋‹ค๋Š” ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค.
  • ์ด๋•Œ root domain์—์„œ ๋ถ€ํ„ฐ sub domain ์ˆœ์œผ๋กœ ์ฐพ๋Š”๋‹ค.

๋„๋ฉ”์ธ์˜ ๊ตฌ์กฐ

1๋‹จ๊ณ„: ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ(TLD, Top-Level Domain)

  • ๋„๋ฉ”์ธ ๋ ˆ๋ฒจ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ๋‹จ๊ณ„์˜ ๋„๋ฉ”์ธ
  • ๋„๋ฉ”์ธ์˜ ๋ชฉ์ , ์ข…๋ฅ˜, ๊ตญ์ ์„ ๊ฐ€์ง„๋‹ค.

2๋‹จ๊ณ„: ์ฐจ์ƒ์œ„ ๋„๋ฉ”์ธ(SLD, Second-Level Domain)

  • ํ˜ธ์ŠคํŠธ, ์„œ๋ธŒ ๋„๋ฉ”์ธ
  • URL๋กœ ์ „์†กํ•˜๊ฑฐ๋‚˜ ๊ณ„์ • ๋‚ด์˜ IP ์ฃผ์†Œ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ํฌ์›Œ๋”ฉ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ ํ™•์žฅ์ž

3๋‹จ๊ณ„: ๋„๋ฉ”์ธ ์ด๋ฆ„(Domain Name)

  • ์ž„์˜๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„

4. ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์™€ TCP ํ†ต์‹ ์„ ์‹œ์ž‘ํ•œ๋‹ค.

  • IP ์ฃผ์†Œ๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์„œ๋ฒ„์™€ ์ •๋ณด ์ „๋‹ฌ์„ ์œ„ํ•œ ์—ฐ๊ฒฐ์„ ์‹œ๋„
  • ์ปดํ“จํ„ฐ์™€ ์„œ๋ฒ„๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํŒจํ‚ท ์ „์†ก์„ ์œ„ํ•ด TCP ์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ.
  • ์ด ์—ฐ๊ฒฐ์€ TCP/IP three-way handshake ๊ณผ์ •์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„๋‹ค.
  • ์ด๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ ํ•˜๊ธฐ ์œ„ํ•ด์„œ SYN(synchronize), ACK(acknowledge) ๋ฉ”์„ธ์ง€๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธ.

TCP/IP Three-way handshake

  • ํด๋ผ์ด์–ธํŠธ ๊ธฐ๊ณ„๋Š” ์„œ๋ฒ„๊ฐ€ ์ƒˆ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์—ด๋ ค์žˆ๋Š”์ง€ ๋ฌผ์–ด๋ณด๋ฉฐ ์„œ๋ฒ„์— SYN ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
  • ๋งŒ์•ฝ ์„œ๋ฒ„๊ฐ€ ์ƒˆ ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ํฌํŠธ๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด, SYN/ACK ํŒจํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ SYN ํŒจํ‚ท์˜ ACKnowledgement๋กœ ์‘๋‹ตํ•œ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ SYN/ACK ํŒจํ‚ท์„ ๋ฐ›์„ ๊ฒƒ์ด๊ณ  ์„œ๋ฒ„์— ACK ํŒจํ‚ท์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ฐ›์•˜์Œ์„ ์•Œ๋ ค์ค„ ๊ฒƒ์ด๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ TCP ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง.

5. ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ์„œ๋ฒ„์— HTTP ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

  • TCP ์—ฐ๊ฒฐ์ด ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” www.example.com ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ๋ฌป๋Š” GET ์š”์ฒญ์„ ๋ณด๋‚ผ ๊ฒƒ์ด๋‹ค.

6. ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ๋‹ค์‹œ ๋ณด๋‚ธ๋‹ค.

7. ์„œ๋ฒ„๋Š” HTTP ์‘๋‹ต์„ ๋‚ด๋ณด๋‚ธ๋‹ค.

  • ์„œ๋ฒ„ ์‘๋‹ต์€ ์š”์ฒญํ•œ ํŽ˜์ด์ง€์™€ ํ•จ๊ป˜ status code, compression type(Content-Encoding), ํŽ˜์ด์ง€๋ฅผ ์บ์‹œํ•˜๋Š” ๋ฒ•(Cache-Control), ํ”„๋ผ์ด๋น— ์ •๋ณด ๋“ฑ์„ ๋‹ด๊ณ  ์žˆ๋‹ค.

8. ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์ปจํ…์ธ ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

Reference

profile
-์˜ Velog

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