Skip to content

Latest commit

ย 

History

History
258 lines (164 loc) ยท 9.24 KB

http.md

File metadata and controls

258 lines (164 loc) ยท 9.24 KB

HTTP์˜ ๊ธฐ๋ณธ

๐Ÿ’ก ๊ฐ„๋‹จ ์š”์•ฝ : ์ธํ„ฐ๋„ท ํ†ต์‹ ์€ IP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋ค„์ง€๊ณ , TCP๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ด๊ณ  ์‹ ๋ขฐ์„ฑ์ด ๋†’์€ ๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹, UDP๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅธ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฉ์‹์ด์•ผ. TCP๋Š” ์—ฐ๊ฒฐ ์„ค์ • ํ›„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ์ „์†กํ•˜๊ณ , UDP๋Š” ๋น ๋ฅด๊ฒŒ ์ „์†กํ•˜๋˜ ์ˆœ์„œ๋‚˜ ์—๋Ÿฌ์— ๋Œ€ํ•œ ๋ณด์žฅ์€ ์—†์–ด. ํฌํŠธ๋Š” ํ”„๋กœ์„ธ์Šค ์‹๋ณ„์— ์“ฐ์ด๊ณ , DNS๋Š” ๋„๋ฉ”์ธ ๋ช…์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜.

1. ๋ชจ๋“  ๊ฒƒ์ด HTTP(HyperText Transfer Protocol)

1) HTTP ๋ฉ”์„ธ์ง€์— ๋ชจ๋“  ๊ฒƒ์„ ์ „์†ก

  1. ์ „์†ก์ข…๋ฅ˜
  • HTML, TEXT
  • IMAGE, ์Œ์„ฑ, ์˜์ƒ, ํŒŒ์ผ
  • JSON, XML (API)
  1. ๊ฑฐ์˜ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ
  2. ์„œ๋ฒ„๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ๋Œ€๋ถ€๋ถ„ HTTP ์‚ฌ์šฉ
  3. 1997๋…„์— ๋‚˜์˜จ HTTP/1.1 ๋ฒ„์ „์ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋จ

2) ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ

  1. TCP : HTTP/1.1, HTTP
  2. UDP : HTTP/3

3) HTTP ํŠน์ง•

  1. ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๊ตฌ์กฐ
  2. ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ(์Šคํ…Œ์ด์Šค๋ฆฌ์Šค), ๋น„์—ฐ๊ฒฐ์„ฑ
  3. HTTP ๋ฉ”์„ธ์ง€
  4. ๋‹จ์ˆœํ•จ, ํ™•์žฅ ๊ธฐ๋Šฅ

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

  1. Request, Response ๊ตฌ์กฐ
  2. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์‘๋‹ต์„ ๋Œ€๊ธฐ
  3. ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‘๋‹ต

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๋ถ„๋ฆฌ๊ฐ€ ์ค‘์š”

  1. ์„œ๋ฒ„
  • ๋ฐ์ดํ„ฐ
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง
  1. ํด๋ผ์ด์–ธํŠธ
  • UI
  • ์‚ฌ์šฉ์„ฑ

3. ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ

1) ์Šคํ…Œ์ด์Šค๋ฆฌ์Šค(Stateless)

  1. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กด x
  2. ์žฅ์  : ์„œ๋ฒ„ ํ™•์žฅ์„ฑ ๋†’์Œ(์Šค์ผ€์ผ ์•„์›ƒ)
  3. ๋‹จ์  : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ์ „

2) Stateful, Stateless ์ฐจ์ด

Stateful(์ƒํƒœ ์œ ์ง€)

  1. ๊ณ ๊ฐ: ์ด ๋…ธํŠธ๋ถ ์–ผ๋งˆ์ธ๊ฐ€์š”?
  2. ์ ์›: 100๋งŒ์› ์ž…๋‹ˆ๋‹ค. . (๋…ธํŠธ๋ถ ์ƒํƒœ ์œ ์ง€)
  3. ๊ณ ๊ฐ: 2๊ฐœ ๊ตฌ๋งคํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  4. ์ ์›: 200๋งŒ์› ์ž…๋‹ˆ๋‹ค. ์‹ ์šฉ์นด๋“œ, ํ˜„๊ธˆ์ค‘์— ์–ด๋–ค ๊ฑธ๋กœ ๊ตฌ๋งค ํ•˜์‹œ๊ฒ ์–ด์š”?(๋…ธํŠธ๋ถ, 2๊ฐœ ์ƒํƒœ ์œ ์ง€)
  5. ๊ณ ๊ฐ: ์‹ ์šฉ์นด๋“œ๋กœ ๊ตฌ๋งคํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  6. ์ ์›: 200๋งŒ์› ๊ฒฐ์ œ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (๋…ธํŠธ๋ถ, 2๊ฐœ, ์‹ ์šฉ์นด๋“œ ์ƒํƒœ ์œ ์ง€)

Stateless ์ค‘๊ฐ„์— ์ ์›์ด ๋ฐ”๋€Œ๋ฉด?(๋ฌด์ƒ)

  1. ๊ณ ๊ฐ: ์ด ๋…ธํŠธ๋ถ ์–ผ๋งˆ์ธ๊ฐ€์š”?
  2. ์ ์›A: 100๋งŒ์› ์ž…๋‹ˆ๋‹ค.
  3. ๊ณ ๊ฐ: 2๊ฐœ ๊ตฌ๋งคํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  4. ์ ์›B: ? ๋ฌด์—‡์„ 2๊ฐœ ๊ตฌ๋งคํ•˜์‹œ๊ฒ ์–ด์š”?
  5. ๊ณ ๊ฐ: ์‹ ์šฉ์นด๋“œ๋กœ ๊ตฌ๋งคํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  6. ์ ์›C: ? ๋ฌด์Šจ ์ œํ’ˆ์„ ๋ช‡ ๊ฐœ ์‹ ์šฉ์นด๋“œ๋กœ ๊ตฌ๋งคํ•˜์‹œ๊ฒ ์–ด์š”?

3) Stateful

  1. ์ƒํƒœ ์œ ์ง€: ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ์ ์›์œผ๋กœ ๋ฐ”๋€Œ๋ฉด ์•ˆ๋œ๋‹ค.(์ค‘๊ฐ„์— ๋‹ค๋ฅธ ์ ์›์œผ๋กœ ๋ฐ”๋€” ๋•Œ ์ƒํƒœ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์ ์›์—๊ฒŒ ๋ฏธ๋ฆฌ ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค.)

4) Stateless

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

  • ๊ฐ‘์ž๊ธฐ ๊ณ ๊ฐ์ด ์ฆ๊ฐ€ํ•ด๋„ ์ ์›์„ ๋Œ€๊ฑฐ ํˆฌ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ‘์ž๊ธฐ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์ฆ๊ฐ€ํ•ด๋„ ์„œ๋ฒ„๋ฅผ ๋Œ€๊ฑฐ ํˆฌ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฌด์ƒํƒœ์—์„œ๋Š” ๊ณ ๊ฐ์ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ทธ๋•Œ ๊ทธ๋•Œ ๋„˜๊ฒจ์คŒ ๋งˆ์ง€๋ง‰๋ง๋กœ๋งŒ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋“ฏ์ด
  • ์ค‘๊ฐ„์— ์„œ๋ฒ„๊ฐ€ ์žฅ์• ๊ฐ€ ๋‚˜๋ฉด?

  1. ๋ฌด์ƒํƒœ๋Š” ์‘๋‹ต ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. -> ๋ฌดํ•œํ•œ ์„œ๋ฒ„ ์ฆ์„ค ๊ฐ€๋Šฅ(์Šค์ผ€์ผ ์•„์›ƒ)

5) Stateless ์‹ค๋ฌด ํ•œ๊ณ„

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

4. ๋น„์—ฐ๊ฒฐ์„ฑ(connectionless)

1) ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ๋ชจ๋ธ

  • ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€, ์„œ๋ฒ„ ์ž์› ์†Œ๋ชจ

2) ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ

  • ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ ์œ ์ง€X, ์ตœ์†Œํ•œ์˜ ์ž์› ์‚ฌ์šฉ

3) ๋น„ ์—ฐ๊ฒฐ์„ฑ

  1. HTTP๋Š” ๊ธฐ๋ณธ์ด ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ
  2. ์ผ๋ฐ˜์ ์œผ๋กœ ์ดˆ ๋‹จ์œ„์˜ ์ดํ•˜์˜ ๋น ๋ฅธ ์†๋„๋กœ ์‘๋‹ต
  3. 1์‹œ๊ฐ„ ๋™์•ˆ ์ˆ˜์ฒœ๋ช…์ด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์‹ค์ œ ์„œ๋ฒ„์—์„œ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ์€ ์ˆ˜์‹ญ๊ฐœ ์ด ํ•˜๋กœ ๋งค์šฐ ์ž‘์Œ
  • ์˜ˆ) ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ณ„์† ์—ฐ์†ํ•ด์„œ ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์ง€๋Š” ์•Š๋Š”๋‹ค.
  • ์„œ๋ฒ„ ์ž์›์„ ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

4) ๋น„ ์—ฐ๊ฒฐ์„ฑ ํ•œ๊ณ„์™€ ๊ทน๋ณต

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

5) HTTP ์ดˆ๊ธฐ : ์—ฐ๊ฒฐ, ์ข…๋ฃŒ ๋‚ญ๋น„

6) HTTP ์ง€์† ์—ฐ๊ฒฐ(Persistent Connections)

  • ๋‹ค ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•ด๋‘ 

7) ์Šคํ…Œ์ด์Šค๋ฆฌ์Šค๋ฅผ ๊ธฐ์–ตํ•˜์ž(์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์–ด๋ ค์›Œํ•˜๋Š” ์—…๋ฌด)

  • ์ •๋ง ๊ฐ™์€ ์‹œ๊ฐ„์— ๋”ฑ ๋งž์ถ”์–ด ๋ฐœ์ƒํ•˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ
  • ์˜ˆ) ์„ ์ฐฉ์ˆœ ์ด๋ฒคํŠธ, ๋ช…์ ˆ KTX ์˜ˆ์•ฝ, ํ•™๊ณผ ์ˆ˜์—… ๋“ฑ๋ก
  • ์˜ˆ) ์ €๋… 6:00 ์„ ์ฐฉ์ˆœ 1000๋ช… ์น˜ํ‚จ ํ• ์ธ ์ด๋ฒคํŠธ -> ์ˆ˜๋งŒ๋ช… ๋™์‹œ ์š”์ฒญ
  • ๋ณดํ†ต ์ฒซ ํŽ˜์ด์ง€๋Š” ์ •์  ํŽ˜์ด์ง€์ธ html(์ƒํƒœ ์—†์Œ) โ‡’ ๊ทธ ํ›„ ์ด๋ฒคํŠธ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ฒŒ

5. HTTP ๋ฉ”์„ธ์ง€

1) ์š”์ฒญ ๋ฉ”์„ธ์ง€์™€ ์‘๋‹ต ๋ฉ”์„ธ์ง€ ๊ตฌ์กฐ

2) ์š”์ฒญ ๋ฉ”์„ธ์ง€ ๊ณต์‹ ์ŠคํŽ™

์‹œ์ž‘๋ผ์ธ(์š”์ฒญ ๋ฉ”์„ธ์ง€)

  • start-line = request-line / status-line
  • request-line = method SP(๊ณต๋ฐฑ) request-target SP HTTP-version CRLF(์—”ํ„ฐ)
  • HTTP ๋ฉ”์„œ๋“œ (GET: ์กฐํšŒ)
  • ์š”์ฒญ ๋Œ€์ƒ (/search?q=hello&hl=ko)
  • HTTP Version

์‹œ์ž‘๋ผ์ธ(์š”์ฒญ๋ฉ”์„ธ์ง€-HTTP ๋ฉ”์„œ๋“œ)

  • ์ข…๋ฅ˜: GET, POST, PUT, DELETE...
  • ์„œ๋ฒ„๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋™์ž‘ ์ง€์ •
    • GET: ๋ฆฌ์†Œ์Šค ์กฐํšŒ
    • POST: ์š”์ฒญ ๋‚ด์—ญ ์ฒ˜๋ฆฌ

์‹œ์ž‘๋ผ์ธ(์š”์ฒญ ๋ฉ”์„ธ์ง€-์š”์ฒญ ๋Œ€์ƒ)

  • absolute-path[?query] (์ ˆ๋Œ€๊ฒฝ๋กœ[?์ฟผ๋ฆฌ])
    • ์ ˆ๋Œ€๊ฒฝ๋กœ= "/" ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ๋กœ
    • ์ฐธ๊ณ : *, http://...?x=y ์™€ ๊ฐ™์ด ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๊ฒฝ๋กœ์ง€์ • ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

์‹œ์ž‘ ๋ผ์ธ(์š”์ฒญ๋ฉ”์„ธ์ง€ - HTTP ๋ฒ„์ „)

  • HTTP ๋ฒ„์ „

3) ์‹œ์ž‘๋ผ์ธ(์‘๋‹ต ๋ฉ”์„ธ์ง€)

  • start-line = request-line / status-line
  • status-line = HTTP-version SP status-code SP reason-phrase CRLF
  • HTTP ๋ฒ„์ „
  • HTTP ์ƒํƒœ ์ฝ”๋“œ: ์š”์ฒญ ์„ฑ๊ณต, ์‹คํŒจ๋ฅผ ๋‚˜ํƒ€๋ƒ„
    • 200: ์„ฑ๊ณต
    • 400: ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์˜ค๋ฅ˜
    • 500: ์„œ๋ฒ„ ๋‚ด๋ถ€ ์˜ค๋ฅ˜
  • ์ด์œ  ๋ฌธ๊ตฌ: ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์งง์€ ์ƒํƒœ ์ฝ”๋“œ ์„ค๋ช… ๊ธ€

4) HTTP ํ—ค๋”

  • header-field = field-name ":" OWS field-value OWS (OWS:๋„์–ด์“ฐ๊ธฐ ํ—ˆ์šฉ)
  • field-name์€ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ฌธ ์—†์Œ

์šฉ๋„

  1. HTTP ์ „์†ก์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ถ€๊ฐ€์ •๋ณด
  • ์˜ˆ) ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์˜ ๋‚ด์šฉ, ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์˜ ํฌ๊ธฐ, ์••์ถ•, ์ธ์ฆ, ์š”์ฒญ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €) ์ •๋ณด, ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด, ์บ์‹œ ๊ด€๋ฆฌ ์ •๋ณด...
  1. ํ‘œ์ค€ ํ—ค๋”๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Œ
  1. ํ•„์š”์‹œ ์ž„์˜์˜ ํ—ค๋” ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
  • helloworld: hihi

5) HTTP ๋ฉ”์„ธ์ง€ ๋ฐ”๋””

์šฉ๋„

  • ์‹ค์ œ ์ „์†กํ•  ๋ฐ์ดํ„ฐ
  • HTML ๋ฌธ์„œ, ์ด๋ฏธ์ง€, ์˜์ƒ, JSON ๋“ฑ๋“ฑ byte๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ

6) ๋‹จ์ˆœํ•จ์˜ ํ™•์žฅ ๊ฐ€๋Šฅ

  • HTTP๋Š” ๋‹จ์ˆœํ•˜๋‹ค. ์ŠคํŽ™๋„ ์ฝ์–ด๋ณผ๋งŒ...
  • HTTP ๋ฉ”์‹œ์ง€๋„ ๋งค์šฐ ๋‹จ์ˆœ
  • ํฌ๊ฒŒ ์„ฑ๊ณตํ•˜๋Š” ํ‘œ์ค€ ๊ธฐ์ˆ ์€ ๋‹จ์ˆœํ•˜์ง€๋งŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ 

7) HTTP ์ •๋ฆฌ

  1. HTTP ๋ฉ”์‹œ์ง€์— ๋ชจ๋“  ๊ฒƒ์„ ์ „์†ก
  2. HTTP ์—ญ์‚ฌ HTTP/1.1์„ ๊ธฐ์ค€์œผ๋กœ ํ•™์Šต
  3. ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๊ตฌ์กฐ
  4. ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ(์Šคํ…Œ์ด์Šค๋ฆฌ์Šค)
  5. HTTP ๋ฉ”์‹œ์ง€
  6. ๋‹จ์ˆœํ•จ, ํ™•์žฅ ๊ฐ€๋Šฅ
  7. ์ง€๊ธˆ์€ HTTP ์‹œ๋Œ€