02
28

์ฑ…์„ ์ฝ๊ณ  ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

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

  1. ์ปค๋„ฅ์…˜ ์—ฐ๊ฒฐ 
  2. ์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ 
  3. ์š”์ฒญ์ฒ˜๋ฆฌ
  4. ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ
  5. ์‘๋‹ต ์ƒ์„ฑ
  6. ์‘๋‹ต ์†ก์‹ 
  7. ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋ก(ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋ก์€ OS์ƒ์— ๋‚จ๋Š”๋‹ค.)

์ด๋ ‡๊ฒŒ 7๊ฐœ ๋‹จ๊ณ„๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ปค๋„ฅ์…˜ ์—ฐ๊ฒฐ

์ด๋ฏธ ์—ด๋ ค์žˆ๋Š” ์ง€์† ์ปค๋„ฅ์…˜์ด ์žˆ์œผ๋ฉด ๊ทธ๊ฑธ ์“ฐ๊ณ , ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ฉด ์ƒˆ ์ปค๋„ฅ์…˜์„ ์—ฐ๊ฒฐํ•œ๋‹ค. ์›น์„œ๋ฒ„๋Š” ์ปค๋„ฅ์…˜์ด ์—ฐ๊ฒฐ๋˜๋ฉด TCP ์ปค๋„ฅ์…˜์—์„œ IP ์ฃผ์†Œ๋ฅผ ์ถ”์ถœํ•ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. ์›น ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•  ์ˆ˜๋„, ๊ทธ๋ƒฅ ๋Š์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ๋‹ค์Œ ๋ฐฉ๋ฒ•๋“ค๋กœ ์‹๋ณ„ํ•œ๋‹ค.

1. Reverse DNS๋ฅผ ์ด์šฉํ•œ hostname ์‹๋ณ„ -> lookup์— ๋“œ๋Š” ์‹œ๊ฐ„์ด ๊ฝค ๋œ๋‹ค.

2. HTTP ์ปค๋„ฅ์…˜ ์ฃผ์ฒด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ident ํ”„๋กœํ† ์ฝœ(TCP 113๋ฒˆ ํฌํŠธ)์˜ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ์—” ์„œ๋ฒ„๊ฐ€ ident ์ปค๋„ฅ์…˜์„ ๋งบ์–ด์„œ ์‚ฌ์šฉ์ž์˜ ident ์‘๋‹ต์„ ํ™•์ธํ•ด์„œ ํด๋ผ์ด์–ธํŠธ ์‹๋ณ„์„ ํ•˜๋Š”๋ฐ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์•ˆ์ „ํ•˜์ง€ ์•Š์•„ ๋ฐฉํ™”๋ฒฝ์— ๋ง‰ํž ์ˆ˜ ์žˆ๊ณ  ident ์ปค๋„ฅ์…˜์„ ์—ฐ๊ฒฐํ•ด ์ž‘์—…ํ•˜๋Š” ๊ฒƒ๋„ ์ง€์—ฐ์‹œ๊ฐ„์— ํฌํ•จ๋˜๋Š”๋ฐ๋‹ค๊ฐ€ identd๋ฅผ ์ฐจ์šฉํ•˜๋Š” public network๊ฐ€ ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ 

์ปค๋„ฅ์…˜์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งบ๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ์š”์ฒญ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ด๊ฑธ ํŒŒ์‹ฑํ•  ๋•Œ ์š”์ฒญ ๋ฉ”์„œ๋“œ, URI, HTTP ๋ฒ„์ „๋ฒˆํ˜ธ๋ฅผ ์ฐพ๊ณ  ํ—ค๋”๋“ค์„ ์ˆ˜์‹ ํ•œ๋‹ค. ์ด์ „ ์žฅ์—์„œ ํ–ˆ๋“ฏ์ด CRLF๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. (OS๋ณ„ ์ฐจ์ด๋ฅผ ๋‘์ง€ ์•Š๊ธฐ์œ„ํ•ด ๋Œ€๋ถ€๋ถ„ ์›น์„œ๋ฒ„๊ฐ€ CR, LF ๋ชจ๋‘ ์ค„๋ฐ”๊ฟˆ์œผ๋กœ ์ธ์‹ํ•œ๋‹ค.)

ํŒŒ์‹ฑํ•  ๋•Œ ์ž…๋ ฅ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๋ฒˆ์— ์ญ‰ ์˜จ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๊ณ , ์ปค๋„ฅ์…˜์ด ์ค‘๊ฐ„์— ๋‹ซํž ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์‹œ์ง€ ์ผ๋ถ€๋ถ„์„ ์บ์‹ฑํ•ด๋‘˜ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. 

์š”์ฒญ ์ฒ˜๋ฆฌ

์š”์ฒญ ๋ฉ”์‹œ์ง€์— ๋‹ด๊ธด ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌํ•œ๋‹ค. (๋’ท ์ ˆ์—์„œ ์ž์„ธํ•˜๊ฒŒ ๋‚˜์˜จ๋‹ค๊ณ  ํ•œ๋‹ค..)

๋ฆฌ์†Œ์Šค ๋งคํ•‘๊ณผ ์ ‘๊ทผ 

  • docroot(๋ฌธ์„œ ๋ฃจํŠธ)
    • ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ๋‹ค. ์š”์ฒญ URI๋ฅผ ์›น ์„œ๋ฒ„ ํŒŒ์ผ์‹œ์Šคํ…œ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ์š”์ฒญ๋ฉ”์‹œ์ง€์—์„œ URI ๋–ผ์„œ ๋ฌธ์„œ ๋ฃจํŠธ ๋’ค์— ๋ถ™์ธ๋‹ค. 
    • /a/b.png ๊ฐ€ ์š”์ฒญ URI์˜€๋‹ค๋ฉด ๋ฌธ์„œ๋ฃจํŠธ(์›น ์ปจํ…์ธ ๋ฅผ ์œ„ํ•ด ์˜ˆ์•ฝํ•ด๋‘” ๋””๋ ‰ํ„ฐ๋ฆฌ)์ธ /root/res/ ๋’ค์— ๋ถ™์—ฌ์„œ /root/res/a/b.png ๋กœ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. 
  • ๊ฐ€์ƒํ˜ธ์ŠคํŒ… ๋œ docroot
    • ํ•œ ์›น์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ๊ฐœ ์›น ์‚ฌ์ดํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ๋•Œ, URI๋‚˜ ํ—ค๋”์—์„œ ์–ป์€ ํ˜ธ์ŠคํŠธ๋ช…(IP์ฃผ์†Œ)๋ฅผ ์ด์šฉํ•ด ๋ฌธ์„œ๋ฃจํŠธ๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ docroot
    • ๋ฌธ์„œ๋ฃจํŠธ ๋ฐ‘์— ๋˜ ์‚ฌ์šฉ์ž ๋ช…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„œ ๊ฐœ์ธ docroot๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ
  • ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์— ์ ‘๊ทผํ•œ๋‹ค๋ฉด?
    • ๊ณต๊ฒฉ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—๋Ÿฌ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ด๊ณ , ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” index.html๊ฐ™์€ ํŽ˜์ด์ง€๋กœ ๋žœ๋”ฉ ์‹œํ‚จ๋‹ค.
    • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์—†์ง€๋งŒ ์ƒ‰์ธ ํŽ˜์ด์ง€์—์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ง‰์•„๋‘๋Š”๊ฒŒ ์•ˆ์ „ํ•˜๋‹ค. 
  • ๋™์  ์ฝ˜ํ…์ธ  ๋ฆฌ์†Œ์Šค ๋งคํ•‘
    • ์š”์ฒญ์— ๋งž๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์— URI๋ฅผ ๋งตํ•‘ํžŒ๋‹ค. URI๋ฅผ ๋ฐ›์•„ ๋™์  ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ๊ฑธ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์›น์„œ๋ฒ„๊ฐ€ ์ค‘๊ฐ„์ž ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
    • ์„œ๋ฒ„์— ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š”๊ฒŒ ํ™•์‹คํ•˜๋ฉด(์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์ธํด๋ฃจ๋“œ) ๋ฏธ๋ฆฌ ๋ฆฌ์†Œ์Šค ์ปจํ…์ธ ๋ฅผ ์ฒ˜๋ฆฌํ•ด์„œ ๋™์  ์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ๋•Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.(๊ฐœ์ธ์ •๋ณด, ์ƒ์œ„ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ํŽ˜์ด์ง€ ๊ฐ™์€)

์‘๋‹ต ์ƒ์„ฑ

  • ํŠธ๋žœ์žญ์…˜์ด ์‘๋‹ต ๋ณธ๋ฌธ์„ ์ƒ์„ฑํ•œ๋‹ค๋ฉด ๊ทธ๊ฑธ ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ž‘ ํ•จ๊ป˜ ๋ณด๋‚ธ๋‹ค.
    • MIME ๊ฒฐ์ •
      • ์‘๋‹ต ๋ณธ๋ฌธ์ด ์žˆ์„ ๋•Œ MIME ํƒ€์ž…์„ ๊ฒฐ์ •ํ•ด์•ผ๋˜๋Š” ์ฑ…์ž„์ด ์›น์„œ๋ฒ„์— ์žˆ๋‹ค.
        • ํ™•์žฅ์ž๋ณ„ MIME ํƒ€์ž…์ด ๋‹ด๊ฒจ์žˆ๋Š” mime.types๋ฅผ ์Šค์บ”ํ•˜๊ฑฐ๋‚˜
        • ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ฒ€์‚ฌํ•ด์„œ ๋งค์ง ํŒŒ์ผ(์•Œ๋ ค์ง„ ํŒจํ„ด์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”)์— ๋งค์นญ์‹œ์ผœ ํƒ€์ž…์„ ์ฐพ๋Š”๋‹ค. ํ‘œ์ค€ ํ™•์žฅ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ด ๋ฐฉ๋ฒ•์ด ์ข‹๋‹ค. <- ๋งค์ง ํƒ€์ดํ•‘์ด๋ผ๊ณ  ํ•จ
        • ์œ ํ˜• ๋ช…์‹œ - ์›น ์„œ๋ฒ„ ์ž์ฒด์—์„œ ๋ฆฌ์†Œ์Šค์— mime ํƒ€์ž…์„ ์ง€์ •ํ•ด๋‘๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 
  • 200 OK ๋Œ€์‹  ๋ฆฌ๋‹ค์ด๋ ‰์…˜(3XX)์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋„ ์žˆ๋‹ค.
    • Location ์‘๋‹ตํ—ค๋”์— ํ•ด๋‹น URI ๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ๋‹ค. ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜ฎ๊ฒจ์ง„ ๊ฒฝ์šฐ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์„ ํ†ตํ•ด ์•Œ๋ฆฐ๋‹ค.
    • ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜ ๋ณ€ํ™”๊ฐ€ ์—†๋”๋ผ๋„ ์ด๋ฏธ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ ์žˆ๋Š” ์„œ๋ฒ„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๊ฑฐ๊ธฐ๋กœ ๋ณด๋‚ธ๋‹ค. 
    • URL์„ ์ข€๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜, ๊ณผ๋ถ€ํ•˜๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฆฌ๋‹ค์ด๋ ‰ํŒ…์„ ์‚ฌ์šฉํ•  ๋•Œ๋„ ์žˆ๋‹ค. 
    • ์˜คํƒ€ ๊ฒ€์‚ฌ๋„ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

์‘๋‹ต ์†ก์‹ 

์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๋งŽ์€ ์ปค๋„ฅ์…˜์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ์ปค๋„ฅ์…˜ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋ฉด์„œ ๋ชจ๋“  ์‘๋‹ต์„ ์†ก์‹ ํ–ˆ์„ ๋•Œ ์ปค๋„ฅ์…˜์„ ๋‹ซ์„ ์ˆ˜๋„, ์ง€์†ํ•ด์„œ ์—ด์–ด๋‘˜ ์ˆ˜๋„ ์žˆ๋‹ค. ์ง€์†ํ•  ๊ฒฝ์šฐ์—๋Š” Content Length๋ฅผ ์ด์šฉํ•œ๋‹ค.

 

๋กœ๊น…์€ ๊ทธ๋ƒฅ ์›น ์„œ๋ฒ„๊ฐ€ ํŠธ๋ž™์žญ์…˜์ด ์™„์„ฑ๋˜์—ˆ์„ ๋•Œ ๋กœ๊ทธ ํŒŒ์ผ์— ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋„์›€์ด ๋๋‹ค๋ฉด ๋Œ“๊ธ€์ด๋‚˜ ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค ^_^
๋ฐ˜์‘ํ˜•

'๐Ÿ“– > HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ๐Ÿ“–' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[7์žฅ] 7.1~7.9  (0) 2024.03.14
[6์žฅ] 6.1~  (0) 2024.02.29
[3์žฅ ~ 4์žฅ] 3.4 ~ 4.7  (0) 2024.02.16
[3์žฅ] 3 ~ 3.3  (0) 2024.02.14
[1์žฅ ~ 2์žฅ] 1.7 ~ 2.4  (0) 2024.02.12
COMMENT