KIMHYEYUN 2025. 6. 3. 16:46
๋ฐ˜์‘ํ˜•

HTTP (HyperText Transfer Protocol)

| HTTP ๋ฉ”์‹œ์ง€์— ๋ชจ๋“  ๊ฒƒ์„ ์ „์†ก

  • HTML, TEXT
  • ์ด๋ฏธ์ง€, ์Œ์„ฑ, ์˜์ƒ, ํŒŒ์ผ
  • JSON, XML (API)
  • ๊ฑฐ์˜ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ
  • ์„œ๋ฒ„๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ๋Œ€๋ถ€๋ถ„ HTTP ์‚ฌ์šฉ

ํŠน์ง•

  • ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๊ตฌ์กฐ

    • Request-Response ๊ตฌ์กฐ
    • ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์‘๋‹ต์„ ๋Œ€๊ธฐ
    • ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‘๋‹ต
  • ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ(stateless)

    • ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กด โŽ

    • ์žฅ์  : ์„œ๋ฒ„ ํ™•์žฅ์„ฑ ๋†’์Œ(์Šค์ผ€์ผ ์•„์›ƒ)

    • ๋‹จ์  : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ์ „์†ก```

      Stateful, Stateless ์ฐจ์ด 
      ์˜ˆ์‹œ ) ๊ตฌ๋งค ๊ณผ์ • 
      - Stateful 
          > ๊ตฌ๋งค ๋ฌผํ’ˆ ์„ ํƒ > ๊ตฌ๋งค ๊ฐฏ์ˆ˜ ์„ ํƒ > ๊ฒฐ์ œ ๋ฐฉ์‹ ์„ ํƒ 
          > ์ดํ›„ ๊ณผ์ •์—์„œ๋Š” ์•ž์˜ ์„ ํƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋ชจ๋ฆ„(์ •๋ณด ์ „๋‹ฌ โŽ) 
          > ์ฆ‰, ๋™์ผํ•œ ์ ์›์ผ ๊ฒฝ์šฐ ์ƒํƒœ๋ฅผ ๊ณ„์† ์œ ์ง€ํ•˜๊ณ  ์žˆ์Œ 
          > ๋งŒ์•ฝ, ๊ฒฐ์ œ ๋ฐฉ์‹ ์„ ํƒ ๊ณผ์ •์—์„œ ์ ์›์ด ๋ณ€๊ฒฝ๋œ๋‹ค๋ฉด, ํ•ด๋‹น ์ ์›์€ ์–ด๋–ค ๋ฌผํ’ˆ์„, ๋ช‡๊ฐœ ์„ ํƒํ–ˆ๋Š”์ง€ ๋ชจ๋ฆ„ 
      - Stateless 
          > ๊ตฌ๋งค ๋ฌผํ’ˆ ์„ ํƒ > ๊ตฌ๋งค ๊ฐฏ์ˆ˜ ์„ ํƒ > ๊ฒฐ์ œ ๋ฐฉ์‹ ์„ ํƒ 
          > ๊ฐ ์„ ํƒ ๊ณผ์ •์—์„œ ์•ž์„  ์„ ํƒ ๊ฒฐ๊ณผ๋ฅผ ํ•จ๊ป˜ ๋งํ•จ > ์ค‘๊ฐ„์— ์ ์›์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ ํ•ด๋‹น ์ด์ „ ์„ ํƒ์„ ํ•จ๊ป˜ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ์—†์Œ
    • ์ƒํƒœ์œ ์ง€ : ์ค‘๊ฐ„์— ๋‹ค๋ฆ„ ์ ์›์œผ๋กœ ๋ฐ”๋€Œ๋ฉด ์•ˆ๋จ
      (์ค‘๊ฐ„์— ๋ณ€๊ฒฝ๋ ๋•Œ ์ƒํƒœ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์ ์›์—๊ฒŒ ๋ฏธ๋ฆฌ ์ „๋‹ฌํ•ด์•ผํ•จ)

    • ๋ฌด์ƒํƒœ : ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ์ ์›์œผ๋กœ ๋ฐ”๋€Œ์–ด๋„ ๋จ

      • ๊ฐ‘์ž๊ธฐ ๊ณ ๊ฐ์ด ์ฆ๊ฐ€ํ•ด๋„ ์ ์›์„ ๋Œ€๊ฑฐ ํˆฌ์ž… ๊ฐ€๋Šฅ
      • ๊ฐ‘์ž๊ธฐ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์ฆ๊ฐ€ํ•ด๋„ ์„œ๋ฒ„๋ฅผ ๋Œ€๊ฑฐ ํˆฌ์ž… ๊ฐ€๋Šฅ
    • ๋ฌด์ƒํƒœ๋Š” ์‘๋‹ต ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ -> ๋ฌดํ•œํ•œ ์„œ๋ฒ„ ์ฆ์„ค ๊ฐ€๋Šฅ

    • ๋ฌด์ƒํƒœ์˜ ํ•œ๊ณ„

      • ์„ค๊ณ„ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์กด์žฌ
      • ๋ฌด์ƒํƒœ ) ๋กœ๊ทธ์ธ์ด ํ•„์š”์—†๋Š” ๋‹จ์ˆœํ•œ ์„œ๋น„์Šค ์†Œ๊ฐœ ํ™”๋ฉด
      • ์ƒํƒœ์œ ์ง€ ) ๋กœ๊ทธ์ธ
      • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธํ–ˆ๋‹ค๋Š” ์ƒํƒœ๋ฅผ ์„œ๋ฒ„์— ์œ ์ง€
      • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค์™€ ์„œ๋ฒ„ ์„ธ์…˜๋“ฑ์„ ์‚ฌ์šฉํ•ด์„œ ์ƒํƒœ ์œ ์ง€
      • ์ƒํƒœ์œ ์ง€๋Š” ์ตœ์†Œํ•œ๋งŒ ์‚ฌ์šฉ
        = โœ… ์ด ๊ด€๋ จํ•ด์„œ ๋ฉด์ ‘ ์งˆ๋ฌธ์žˆ์—ˆ์Œ ์ •๋ฆฌ ํ•„์ˆ˜
        ใ„ด ๋ฌด์ƒํƒœ์„ฑ์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ์„œ๋ฒ„์— ๋กœ๊ทธ์ธ ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€?

  • ๋น„์—ฐ๊ฒฐ์„ฑ
    • ์—ฐ๊ฒฐ์˜ ์œ ์ง€ํ•˜๋Š” ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ์—๋Š” ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„ ์ž์›์„ ๊ณ„์†ํ•ด์„œ ์†Œ๋ชจํ•จ
    • HTTP ๋Š” ๊ธฐ๋ณธ์ด ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ
    • ์ผ๋ฐ˜์ ์œผ๋กœ ์ดˆ ๋‹จ์œ„ ์ดํ•˜์˜ ๋น ๋ฅธ ์†๋„๋กœ ์‘๋‹ต
    • 1์‹œ๊ฐ„ ๋™์•ˆ ์ˆ˜์ฒœ๋ช…์ด ์„œ๋ฏธ์Šค๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์‹ค์ œ ์„œ๋ฒ„์—์„œ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ์€ ์ˆ˜์‹ญ๊ฐœ ์ดํ•˜๋กœ ๋งค์šฐ ์ž‘์Œ
    • ์„œ๋ฒ„ ์ž์›์„ ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • ํ•œ๊ณ„์™€ ๊ทน๋ณต
      • TCI/IP ์—ฐ๊ฒฐ์„ ์ƒˆ๋กœ ๋งบ์–ด์•ผ ํ•จ -> 3 way handshake ์‹œ๊ฐ„ ์ถ”๊ฐ€
      • ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์‚ฌ์ดํŠธ๋ฅผ ์š”์ฒญํ•˜๋ฉด HTML ๋ฟ ๋งŒ ์•„๋‹ˆ๋ผ JS, CSS, ์ด๋ฏธ์ง€ ๋“ฑ ์ˆ˜๋งŽ์€ ์ž์›์ด ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œ
      • ์ง€๊ธˆ์€ HTTP ์ง€์† ์—ฐ๊ฒฐ(Persistent Connections)๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
      • HTTP/2, HTTP/3์—์„œ ๋” ๋งŽ์€ ์ตœ์ ํ™”
  • HTTP ๋ฉ”์‹œ์ง€
  • ๋‹จ์ˆœํ•จ, ํ™•์žฅ ๊ฐ€๋Šฅ
728x90
๋ฐ˜์‘ํ˜•