๐ŸŒ HTTP

์€์œ ๋กœ๊ทธยท2021๋…„ 10์›” 24์ผ
0

๐Ÿ“š study

๋ชฉ๋ก ๋ณด๊ธฐ
10/21
post-thumbnail
post-custom-banner

HTTP


HTTP(Hyper Text Transfer Protocol)๋Š”?

์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ(2ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. HTML ๋ฌธ์„œ(Hyper text), ์ด๋ฏธ์ง€, ๋น„๋””์˜ค ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹ ๊ทœ์•ฝ์œผ๋กœ, ๋ณดํ†ต 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

HTTP์˜ ํŠน์ง•

  • ํ—ค๋”์— ํ™•์žฅ์ด ๊ฐ€๋Šฅ
    โžก๏ธ Authentication, Caching, Conditionals, Cookies, CORS, Redirects ... ๋“ฑ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ๊ณ  ์ž์„ธํ•œ ์„ค๋ช…์€ HTTP-Header MDN ์„ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.
  • ๋ฌด์ƒํƒœ์„ฑ(Stateless)
  • ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless) : ์ตœ์†Œํ•œ ์ž์›์œผ๋กœ ์„œ๋ฒ„ ์œ ์ง€ ๊ฐ€๋Šฅ
    โžก๏ธ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ๊ณ , ํฐ ๊ทœ๋ชจ์˜ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•  ๊ฒฝ์šฐ ํ•œ๊ณ„๋ฅผ ๋Š๋‚Œ
    โžก๏ธ ์ง€๊ธˆ์€ HTTP ์ง€์† ์—ฐ๊ฒฐ(Persistent Connections)๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ƒํƒœ์„ฑ vs ๋ฌด์ƒํƒœ์„ฑ

ํด๋ผ์ด์–ธํŠธ์™€ ์ค‘๊ณ„์„œ๋ฒ„ ๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„(A,B,C)๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

์ƒํƒœ์„ฑ(stateful)์ธ ๊ฒฝ์šฐ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ค‘๊ณ„์„œ๋ฒ„๋ฅผ ํ†ตํ•ด A์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ƒํƒœ์ •๋ณด๋Š” A์„œ๋ฒ„์—๊ฒŒ๋งŒ ์œ ์ง€๋œ๋‹ค.
๋งŒ์•ฝ A์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ƒํƒœ์ •๋ณด๊ฐ€ ๋‹ค ๋‚ ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์„œ๋ฒ„(B,C)์—๊ฒŒ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์š”์ฒญ์„ ํ•ด์•ผํ•œ๋‹ค.

๋ฌด์ƒํƒœ์„ฑ(stateless)์ธ ๊ฒฝ์šฐ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์• ์ดˆ์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๋‹ด์•„ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด ์„œ๋ฒ„๋‚˜ ํ˜ธ์ถœํ•ด๋„ ๋œ๋‹ค.
๋งŒ์•ฝ A์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์„œ๋ฒ„(B,C)์—๊ฒŒ ์‘๋‹ต์„ ์ „๋‹ฌํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์‹œ ์žฌ์š”์ฒญ์„ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
๋ฌด์ƒํƒœ์„ฑ์€ ์‘๋‹ต ์„œ๋ฒ„๋ฅผ ์–ธ์ œ๋“  ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ ์„œ๋ฒ„ ์ฆ์„ค์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

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

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

HTTP ํ๋ฆ„

  • 2ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜
  • 3ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜

HTTP ๋ฉ”์„ธ์ง€

HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ตฌ์กฐ๋Š” ์„œ๋กœ ๋‹ฎ์•˜๋‹ค.

  1. ์‹œ์ž‘ ์ค„(start-line) : ์‹คํ–‰๋˜์–ด์•ผ ํ•  ์š”์ฒญ, ๋˜์€ ์š”์ฒญ ์ˆ˜ํ–‰์— ๋Œ€ํ•œ ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ๊ฐ€ ๊ธฐ๋ก๋˜์–ด์žˆ๋‹ค. ์ด ์ค„์€ ํ•ญ์ƒ ํ•œ ์ค„๋กœ ๋๋‚œ๋‹ค.
  2. ํ—ค๋”(HTTP headers) : ์š”์ฒญ์— ๋Œ€ํ•œ ์„ค๋ช…, ํ˜น์€ ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋“ค์–ด๊ฐ„๋‹ค.
  3. ๋นˆ ์ค„(empty line) : ์š”์ฒญ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฉ”ํƒ€ ์ •๋ณด๊ฐ€ ์ „์†ก๋˜์—ˆ์Œ์„ ์•Œ๋ฆฐ๋‹ค.
  4. ๋ณธ๋ฌธ(body) : ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ(HTML ํผ ์ฝ˜ํ…์ธ  ๋“ฑ)์ด ์˜ต์…˜์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜, ์‘๋‹ต๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์„œ(document)๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค. ๋ณธ๋ฌธ์˜ ์กด์žฌ ์œ ๋ฌด ๋ฐ ํฌ๊ธฐ๋Š” ์ฒซ ์ค„๊ณผ HTTP ํ—ค๋”์— ๋ช…์‹œ๋œ๋‹ค.

HTTP ๋ฉ”์‹œ์ง€์˜ ์‹œ์ž‘ ์ค„๊ณผ HTTP ํ—ค๋”๋ฅผ ๋ฌถ์–ด์„œ ์š”์ฒญ ํ—ค๋“œ(head)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, HTTP ๋ฉ”์‹œ์ง€์˜ ํŽ˜์ด๋กœ๋“œ(payload)๋Š” ๋ณธ๋ฌธ(body)์ด๋ผ๊ณ  ํ•œ๋‹ค.

์š”์ฒญ(Request) ๋ฉ”์„ธ์ง€

1. ์‹œ์ž‘์ค„(start-line)

  • ๋ฉ”์†Œ๋“œ(Method) : ์ˆ˜ํ–‰ํ•  ์ž‘์—…(GET, PUT, POST ๋“ฑ)์ด๋‚˜ ๋ฐฉ์‹(HEAD or OPTIONS)์„ ์„ค๋ช…ํ•˜๋Š” HTTP method๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด GET method๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›์•„์•ผ ํ•˜๊ณ , POST method๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค.
    โžก๏ธ ์ข…๋ฅ˜ : GET, POST, PUT, OPTIONS ๋“ฑ๋“ฑ
  • ๊ฒฝ๋กœ(Path) : ์ฃผ๋กœ URL๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ํ”„๋กœํ† ์ฝœ, ํฌํŠธ, ๋„๋ฉ”์ธ์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ๋„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ํฌ๋งท์€ HTTP ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.
    โžก๏ธ origin ํ˜•์‹ : ๋์— '?'์™€ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์ด ๋ถ™๋Š” ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋‹ค. GET, POST, HEAD, OPTIONS ๋ฉ”์„œ๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.
    - POST / HTTP 1.1
    - GET /background.png HTTP/1.0
    - HEAD /test.html?query=alibaba HTTP/1.1
    - OPTIONS /anypage.html HTTP/1.0
  • ๋ฒ„์ „(Version of the Protocol) : ๋ฉ”์‹œ์ง€์˜ ๋‚จ์€ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์‘๋‹ต ๋ฉ”์‹œ์ง€์—์„œ ์จ์•ผ ํ•  HTTP ๋ฒ„์ „์„ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

2. ํ—ค๋”(HTTP Headers)

๊ธฐ๋ณธ์ ์ธ ํฌ๋งท์€ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๋ฌธ์ž์—ด ๋‹ค์Œ ํด๋ก ์ด ์˜ค๊ณ , ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์€ ์–ด๋–ค ํ—ค๋”๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ฃน์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • Request ํ—ค๋” : fetch๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜ฌ ๋ฆฌ์†Œ์Šค๋‚˜ ํด๋ผ์ด์–ธํŠธ ์ž์ฒด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ํ—ค๋”๋ฅผ ์˜๋ฏธํ•œ๋‹ค. User-Agent, Accept-Type, Accept-Language๊ณผ ๊ฐ™์€ ํ—ค๋”๋Š” ์š”์ฒญ์„ ๋ณด๋‹ค ๊ตฌ์ฒดํ™”ํ•˜๊ณ  Referer์ฒ˜๋Ÿผ ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ If-None๊ณผ ๊ฐ™์ด ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ œ์•ฝ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • General ํ—ค๋” : ๋ฉ”์‹œ์ง€ ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ํ—ค๋”๋กœ, body๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์™€๋Š” ๊ด€๋ จ์ด ์—†๋‹ค.
  • Entity ํ—ค๋” : body์— ๋‹ด๊ธด ๋ฆฌ์†Œ์Šค์˜ ์ •๋ณด(์ปจํ…์ธ  ๊ธธ์ด, MIME ํƒ€์ž… ๋“ฑ)๋ฅผ ํฌํ•จํ•œ๋‹ค.

3. ๋ณธ๋ฌธ(body)

  • ๋ชจ๋“  ์š”์ฒญ์— body๊ฐ€ ํ•„์š”ํ•˜์ง€๋Š” ์•Š๋‹ค.
    GET, HEAD, DELETE, OPTIONS์ฒ˜๋Ÿผ ์„œ๋ฒ„์— ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ณธ๋ฌธ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
  • POST๋‚˜ PUT๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์š”์ฒญ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธ(์ˆ˜์ •)ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
  • body๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
    - Single-resource bodies(๋‹จ์ผ-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ) : ํ—ค๋” ๋‘ ๊ฐœ(Content-Type๊ณผ Content-Length)๋กœ ์ •์˜๋œ ๋‹จ์ผ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
    - Multiple-resource bodies(๋‹ค์ค‘-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ) : ์—ฌ๋Ÿฌ ํŒŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ ๋ณธ๋ฌธ์—์„œ๋Š” ๊ฐ ํŒŒํŠธ๋งˆ๋‹ค ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์ง€๋‹ˆ๊ณ  ๋ณดํ†ต HTML form๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค.

์‘๋‹ต(Response) ๋ฉ”์„ธ์ง€

1. ์‹œ์ž‘์ค„(start-line)

  • ๋ฒ„์ „(Version of the protocol) : ํ˜„์žฌ ํ”„๋กœํ† ์ฝœ์˜ ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ด๊ณ  ๋ณดํ†ต HTTP/1.1์ด๋‹ค.
  • ์ƒํƒœ ์ฝ”๋“œ(status code) : ์š”์ฒญ์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ‘œํ˜„ํ•œ๋‹ค.
    โžก๏ธ ์ข…๋ฅ˜ : 200(GET ์š”์ฒญ ์„ฑ๊ณต), 201(POST ์š”์ฒญ ์„ฑ๊ณต), 400(์š”์ฒญ ์‹คํŒจ), 500(์‹คํŒจ, ์„œ๋ฒ„ ๋ฌธ์ œ) ... ๊ทธ ์™ธ ์ƒํƒœ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.
  • ์ƒํƒœ ํ…์ŠคํŠธ(status message) : ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ ์งง์€ ๋ฌธ์žฅ์„ ์จ์„œ ์ƒํƒœ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ด๋‹ค.

2. ํ—ค๋”(HTTP Headers)

๊ธฐ๋ณธ์ ์ธ ํฌ๋งท์€ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๋ฌธ์ž์—ด ๋‹ค์Œ ํด๋ก ์ด ์˜ค๊ณ , ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์€ ์–ด๋–ค ํ—ค๋”๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ฃน์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • Response headers : ์œ„์น˜ ๋˜๋Š” ์„œ๋ฒ„ ์ž์ฒด์— ๋Œ€ํ•œ ์ •๋ณด(์ด๋ฆ„, ๋ฒ„์ „ ๋“ฑ)์™€ ๊ฐ™์ด ์‘๋‹ต์— ๋Œ€ํ•œ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ , Vary, Accept-Ranges์™€ ๊ฐ™์ด ์ƒํƒœ ์ค„์— ๋„ฃ๊ธฐ์—๋Š” ๊ณต๊ฐ„์ด ๋ถ€์กฑํ–ˆ๋˜ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • General headers : ๋ฉ”์‹œ์ง€ ์ „์ฒด์— ์ ์šฉ๋˜๋ฉฐ body๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์™€๋Š” ๊ด€๋ จ์ด ์—†๋‹ค.
  • Entity headers : body์— ๋‹ด๊ธด ๋ฆฌ์†Œ์Šค์˜ ์ •๋ณด(์ปจํ…์ธ  ๊ธธ์ด, MIME ํƒ€์ž… ๋“ฑ)๋ฅผ ํฌํ•จํ•œ๋‹ค.

3. ๋ณธ๋ฌธ(body)

  • ๋ชจ๋“  ์‘๋‹ต์— body๊ฐ€ ํ•„์š”ํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ 201, 204์™€ ๊ฐ™์€ ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๋Š” ์‘๋‹ต์—๋Š” ๋ณธ๋ฌธ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
  • ์‘๋‹ต์˜ body๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
    - Single-resource bodies(๋‹จ์ผ-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ) : ๊ธธ์ด๊ฐ€ ์•Œ๋ ค์ง„ ๋‹จ์ผ-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ์€ ๋‘ ๊ฐœ์˜ ํ—ค๋”(Content-Type, Content-Length)๋กœ ์ •์˜ํ•œ๋‹ค. ๊ธธ์ด๋ฅผ ๋ชจ๋ฅด๋Š” ๋‹จ์ผ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ ๋‹จ์ผ-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ์€ ransfer-Encoding์ด chunked ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ํŒŒ์ผ์€ chunk๋กœ ๋‚˜๋‰˜์–ด ์ธ์ฝ”๋”ฉ๋˜์–ด ์žˆ๋‹ค.
    - Multiple-resource bodies(๋‹ค์ค‘-๋ฆฌ์†Œ์Šค ๋ณธ๋ฌธ) : ์„œ๋กœ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

HTTP์˜ ์—ญ์‚ฌ

  • HTTP/1.1, HTTP/2 : TCP ๊ธฐ๋ฐ˜
  • HTTP/3 : UDP ๊ธฐ๋ฐ˜
profile
เน‘โ€ขโ€ฟโ€ขเน‘
post-custom-banner

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