๐Ÿ’ป ์ฃผ์†Œ์— url์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ์˜ ๊ณผ์ •

waterglassesยท2022๋…„ 10์›” 1์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
37/50
post-thumbnail

โš ๏ธ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์€ ์˜คํƒ€๋‚˜ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €์— URL์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๊ณผ์ •

0. ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•œ ํ…์ŠคํŠธ ์ •๋ณด ํ™•์ธ

์ด ํ…์ŠคํŠธ๊ฐ€ ๊ฒ€์ƒ‰์–ด์ธ์ง€ URL์ธ์ง€ ์šฐ์„ ์ ์œผ๋กœ ํ™•์ธํ•œ๋‹ค.

  • ๊ฒ€์ƒ‰์–ด โ‡’ ๋ธŒ๋ผ์šฐ์ €๋Š” ๊ฒ€์ƒ‰ ์—”์ง„์˜ URL์— ๊ฒ€์ƒ‰์–ด๋ฅผ ํฌํ•จํ•œ ์ฃผ์†Œ๋กœ ํŽ˜์ด์ง€๋ฅผ ์ด๋™์‹œํ‚จ๋‹ค.
  • URL โ‡’ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์—์„œ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    1. ๋„ค์ด๋ฒ„ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๋„ค์ž„ ์„œ๋ฒ„(Name Server)์™€ ํ†ต์‹ ํ•˜๊ธฐ
    2. ์•Œ์•„๋‚ธ ์ฃผ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋„ค์ด๋ฒ„ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์‘๋‹ต๋ฐ›๊ธฐ

1. ์›น ๋ธŒ๋ผ์šฐ์ €์— URL์„ ์ž…๋ ฅํ•˜๊ณ  Enter ํ‚ค ์ž…๋ ฅ

https://www.naver.com/blog

  • ํ†ต์‹  ๊ทœ์•ฝ(Protocol)
    https:// ๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

HTTPS(Hypertext Transfer Protocol Secure)๋Š” TLS์„ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์„ ํ•˜๋Š” HTTP๋ฅผ ๋งํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์— ์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ(TLS)์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๋„๋ก ์ง€์‹œํ•œ๋‹ค.

ftp:// , file:// ๋„ ์žˆ๋Š”๋ฐ ์ด๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ ์žˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

  • ๋„๋ฉ”์ธ(Domain)
    www.naver.com ์€ ์›น ์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด๋‹ค. ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ์ฃผ์†Œ์ด๋ฉฐ ํŠน์ • ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
  • ๊ฒฝ๋กœ(path)
    URL์— ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • fragment
    ํ”„๋ž˜๊ทธ๋จผํŠธ๋Š” ๋ฆฌ์†Œ์Šค ์ž์ฒด์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์•ต์ปค์ด๋‹ค. ์•ต์ปค๋Š” ๋ฆฌ์†Œ์Šค ๋‚ด์—์„œ ๋ถ๋งˆํฌ๋œ ์ง€์ ์— ์œ„์น˜ํ•œ ์ปค๋„จ์ธ ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

2. ๋ธŒ๋ผ์šฐ์ €๋Š” ์บ์‹ฑ๋œ DNS ๊ธฐ๋ก๋“ค์„ ํ†ตํ•ด www.naver.com์— ๋Œ€์‘๋˜๋Š” IP ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

DNS(Domain Name System)

  • URL ์ด๋ฆ„๋“ค๊ณผ IP์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค.

์•„๋ž˜ ์‚ฌ์ง„์€ ํ„ฐ๋ฏธ๋„์— nslookup www.naver.com ์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ์ด๋‹ค.

ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ IP ์ฃผ์†Œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ณ  www.naver.com ์˜ ์ •์‹์ด๋ฆ„(CNAME)์€ www.naver.com.nheos.com ์ด๋‹ค.

  • ์—ฌ๊ธฐ์„œ non-authoritative answer์€ name ์„œ๋ฒ„๊ฐ€ ๋„๋ฉ”์ธ์—์„œ ๋งŒ๋“  ์›๋ณธ ์†Œ์Šค ํŒŒ์ผ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด ์„œ๋ฒ„์—๋Š” ๋‹ค๋ฅธ DNS๋“ค์—์„œ ์–ป์–ด์ง„ ๋„๋ฉ”์ธ์˜ ํŒŒ์ผ์„ ์บ์‹ฑ ํ˜•ํƒœ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
  • authoritative answer์€ ๋„๋ฉ”์ธ์˜ ๋„ค์ž„ ์„œ๋ฒ„์—์„œ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด ์‘๋‹ต์„ ํ•ด์ค„ ๊ฒฝ์šฐ์ด๋‹ค.

DNS์˜ ๊ฐ€์žฅ ํฐ ๋ชฉ์ ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํŽธ๋ฆฌํ•จ์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

์›น ์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„์„ ๋ธŒ๋ผ์šฐ์ €์— ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” DNS ๊ธฐ๋ก์„ 4๊ฐ€์ง€์˜ ์บ์‹œ์—์„œ ํ™•์ธ์„ ํ•œ๋‹ค.

  1. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ํ™•์ธ
    • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ผ์ • ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ DNS ๊ธฐ๋ก๋“ค์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. DNS query๊ฐ€ ์ด ๊ณณ์—์„œ ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค.
  2. OS ์บ์‹œ ํ™•์ธ
    • ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์›น ์‚ฌ์ดํŠธ ์ด๋ฆ„์˜ IP ์ฃผ์†Œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ†ตํ•ด์„œ OS๊ฐ€ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” DNS ๊ธฐ๋ก๋“ค์˜ ์บ์‹œ์— ์ ‘๊ทผํ•œ๋‹ค.
  3. ๋ผ์šฐํ„ฐ ์บ์‹œ ํ™•์ธ
    • ์ปดํ“จํ„ฐ์— DNS ๊ธฐ๋ก์„ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด DNS ๊ธฐ๋ก์„ ์บ์‹ฑํ•˜๊ณ  ์žˆ๋Š” ๋ผ์šฐํ„ฐ์™€ ํ†ต์‹ ํ•ด์„œ ์ฐพ์œผ๋ ค ํ•œ๋‹ค.
  4. ISP ์บ์‹œ ํ™•์ธ
    • ์œ„ ๋ชจ๋“  ๋‹จ๊ณ„๊ฐ€ ์‹คํŒจํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ISP(์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด-Internet Service Provider)๋กœ ์ด๋™ํ•œ๋‹ค.
    • ISP๋Š” DNS ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ DNS ๊ธฐ๋ก์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ ์ ‘๊ทผํ•˜๊ฒŒ ๋œ๋‹ค.

3. ์š”์ฒญํ•œ URL์ด ์บ์‹œ์— ์—†์œผ๋ฉด, ISP์˜ DNS ์„œ๋ฒ„๊ฐ€ www.naver.com์„ ํ˜ธ์ŠคํŒ… ํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด DNS query๋ฅผ ๋‚ ๋ฆฐ๋‹ค.

IP ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ DNS ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ DNS ์„œ๋ฒ„๋ฅผ ์˜ค๊ฐ€๋ฉด์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋˜์ง€ ๋ชป ์ฐพ์•„์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ๊ฒ€์ƒ‰์„ ์ง„ํ–‰ํ•œ๋‹ค.

DNS ์ฟผ๋ฆฌ์˜ ๋ชฉ์ 

  • ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ DNS ์„œ๋ฒ„๋“ค์„ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ
  • ์ด๋Ÿฌํ•œ ๊ฒ€์ƒ‰์„ Reqursive Search๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋„๋ฉ”์ธ ์ด๋ฆ„๋“ค์˜ ๊ตฌ์กฐ, DNS ๊ตฌ์„ฑ ์š”์†Œ

  • ๋„๋ฉ”์ธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋Š” ์ตœ์ƒ์œ„์— ๋ฃจํŠธ DNS ์„œ๋ฒ„๊ฐ€ ์กด์žฌํ•˜๊ณ  ๊ทธ ํ•˜์œ„๋กœ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์—ฐ์†ํ•ด์„œ ์ด์–ด์ง„ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๋‹ค.
  1. Root DNS ์„œ๋ฒ„
    • ICANN์ด ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค.
    • TLD DNS ์„œ๋ฒ„ IP ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์•ˆ๋‚ดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  2. Top-Level Domain(TLD) DNS ์„œ๋ฒ„
    • ๋„๋ฉ”์ธ ๋“ฑ๋ก ๊ธฐ๊ด€์ด ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค.
    • SDL DNS ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์•ˆ๋‚ดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  3. Second-Level Domain(SDL) DNS ์„œ๋ฒ„
    • Authoritative DNS ์„œ๋ฒ„๋ผ๊ณ ๋„ ํ•จ
    • ์‹ค์ œ ๊ฐœ์ธ ๋„๋ฉ”์ธ๊ณผ IP ์ฃผ์†Œ์˜ ๊ด€๊ณ„๊ฐ€ ๊ธฐ๋ก๋˜๋Š” ์„œ๋ฒ„์ด๋‹ค.
    • ์ผ๋ฐ˜์ ์œผ๋กœ ๋„๋ฉ”์ธ ์—…์ฒด์˜ ๋„ค์ž„ ์„œ๋ฒ„๋ฅผ ๋งํ•œ๋‹ค.
  4. ๊ถŒํ•œ ์—†๋Š” DNS ์„œ๋ฒ„(Recursive server || Resolver server || recursor ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„)
    • ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋ฅผ ์œ„ํ•œ ๊ถŒํ•œ ์žˆ๋Š” DNS ์„œ๋ฒ„(1, 2, 3 ๊ฒฝ์šฐ)๋Š” IP ์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋งคํ•‘ํ•œ๋‹ค.
    • ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋ฅผ ์œ„ํ•œ ๊ถŒํ•œ ์—†๋Š” DNS ์„œ๋ฒ„๋Š” ์งˆ์˜๋ฅผ ํ†ตํ•ด IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๊ฑฐ๋‚˜ ์บ์‹œํ•œ๋‹ค.

DNS ๋™์ž‘๊ณผ์ • ์ด๋ฏธ์ง€

4. Browser๊ฐ€ ์„œ๋ฒ„์™€ TCP connection์„ ํ•œ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ IP ์ฃผ์†Œ๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์™€ connection์„ ๋นŒ๋“œํ•˜๊ฒŒ ๋œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์„œ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ด ๋œ๋‹ค. ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์˜ ์ข…๋ฅ˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ, ์›น ์‚ฌ์ดํŠธ์˜ HTTP ์š”์ฒญ์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ TCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

TCP/IP three-way handshake ๋ผ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„ connection์ด ์ด๋ค„์ง„๋‹ค. SYN๊ณผ ACK ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  3๋ฒˆ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์นœ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ ๋จธ์‹ ์ด SYN ํŒจํ‚ท์„ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ณ  connection์„ ์—ด์–ด๋‹ฌ๋ผ๊ณ  ๋ฌผ์–ด๋ณธ๋‹ค
  2. ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋กœ์šด connection์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด SYN/ACK ํŒจํ‚ท์œผ๋กœ ๋Œ€๋‹ต์„ ํ•œ๋‹ค
  3. ํด๋ผ์ด์–ธํŠธ๋Š” SYN/ACK ํŒจํ‚ท์„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์œผ๋ฉด ์„œ๋ฒ„์—๊ฒŒ ACK ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
Client > Server : TCP 
SYNServer > Client : TCP SYN ACKC
lient > Server : TCP ACK

5. Browser๊ฐ€ ์›น ์„œ๋ฒ„์— HTTP ์š”์ฒญ์„ ํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” GET ์š”์ฒญ์„ ํ†ตํ•ด ์„œ๋ฒ„์—๊ฒŒ www.naver.com ์›น ํŽ˜์ด์ง€๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

  • ๋งŒ์•ฝ ์ž๊ฒฉ ์ฆ๋ช…(credentials)์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ form์„ ์ œ์ถœํ•˜๋Š” ๊ฒฝ์šฐ POST ์š”์ฒญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ์š”์ฒญ์—๋Š” ๋ธŒ๋ผ์šฐ์ € ์‹๋ณ„(User-Agent ํ—ค๋”), ์ˆ˜๋ฝํ•  ์š”์ฒญ ์œ ํ˜•(Accept ํ—ค๋”) ๋ฐ ์ถ”๊ฐ€ ์š”์ฒญ์„ ์œ„ํ•ด TCP ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ผ๋Š” ์—ฐ๊ฒฐ ํ—ค๋”์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ์ •๋ณด๋„ ํฌํ•จ๋œ๋‹ค. ๋˜ํ•œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์ €์žฅํ•œ ์ฟ ํ‚ค์—์„œ ๊ฐ€์ ธ์˜จ ์ •๋ณด๋„ ์ „๋‹ฌํ•œ๋‹ค.

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

์„œ๋ฒ„๋Š” ์›น์„œ๋ฒ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค(ex- Apache, IIS...). ์ด๋Š” ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›๊ณ  request handlerํ•œํ…Œ ์š”์ฒญ์„ ์ „๋‹ฌํ•ด์„œ ์š”์ฒญ์„ ์ฝ๊ณ  ์ƒ์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‘๋‹ต์„ ํŠน์ • ํฌ๋งท(JSON, XML, HTML ๋“ฑ) ์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

  • request handler
    • ์š”์ฒญ, ์š”์ฒญ์˜ ํ—ค๋” ๋ฐ ์ฟ ํ‚ค๋ฅผ ์ฝ๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์„œ๋ฒ„์˜ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค(NET, PHP, Ruby, ASP ๋“ฑ์œผ๋กœ ์ž‘์„ฑ๋จ)

7. ์„œ๋ฒ„๊ฐ€ HTTP response๋ฅผ ๋ณด๋‚ธ๋‹ค

์„œ๋ฒ„ ์‘๋‹ต์—๋Š” ์›น ํŽ˜์ด์ง€์™€ ํ•จ๊ป˜ status code, content-encoding, ์„ค์ •ํ•  ์ฟ ํ‚ค ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค.

HTTP ์‘๋‹ต ๊ฒฐ๊ณผ

  • 2XX (Success):
    • 200 (OK): ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
    • 204 (No Content): ์š”์ฒญ์€ ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ, ๋Œ๋ ค์ค„ resourse๋Š” ์—†์„ ๋•Œ
  • 3XX (redirect): ์š”์ฒญ ์™„๋ฃŒ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
    • 301: ๊ฒ€์ƒ‰์—”์ง„์— ํ•ด๋‹น ์ปจํ…์ธ ์˜ URL์ด ์˜๊ตฌ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์•Œ๋ฆผ
    • 302: ๊ฒ€์ƒ‰์—”์ง„์— ํ•ด๋‹น ์ปจํ…์ธ ์˜ URL์ด ์ž„์‹œ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์„์„ ์•Œ๋ฆผ
  • 4XX (Client Error): ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์œ ํšจํ•˜์ง€ ์•Š์•„ ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
    • 400 : ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์œ ํšจํ•˜์ง€ ์•Š์•„ ๋” ์ด์ƒ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
    • 401 (Unauthorized): ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ถŒํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
    • 403 (Forbidden): ์ ‘๊ทผ์ด ๊ฑฐ๋ถ€๋จ์„ ์•Œ๋ฆผ
    • 404 (Not Found): ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ resourse๊ฐ€ ์—†์Œ์„ ์•Œ๋ฆผ
  • 500 (Server Error)
    • 503 (Unavailavle): ํ˜„์žฌ ๊ณผ๋ถ€ํ™” ํ˜น์€ ์ ๊ฒ€ ์ค‘์œผ๋กœ ์‚ฌ์šฉ๋ถˆ๊ฐ€ํ•จ์„ ์•Œ๋ฆผ

8. Browser๊ฐ€ HTML content๋ฅผ ๋ณด์—ฌ์ค€๋‹ค

๐Ÿ”ฅ ๋Š๋‚€์ 

์ฒ˜์Œ ์ด ๋ถ€๋ถ„์˜ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๊ฐœ๋… ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ์•„๊ฐ€๋ฉด์„œ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ์ดํ•ดํ•˜๊ธฐํž˜๋“ค์—ˆ๋‹ค. ํŠนํžˆ ๋„๋ฉ”์ธ ๋ถ€๋ถ„,, ์ง„์งœ ์•„์ง๊นŒ์ง€ ๋™์ž‘ ๊ณผ์ •์ด ์ดํ•ด๊ฐ€ ์ž˜ ๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
๋„๋ฉ”์ธ ๋ถ€๋ถ„๋งŒ ํŒŒ์„œ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.ใ… ใ… 

์ด ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ์›น ๋ธŒ๋ผ์šฐ์ € ์ถœ๋ ฅ ํ๋ฆ„์„ ์•Œ๊ฒŒ ๋˜์–ด์„œ ์ข‹์•˜์Šต๋„ค๋‹น

ref

profile
๋งค ์ˆœ๊ฐ„ ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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