Posts ๐Ÿ’ป HTTP #7: HTTP ์••์ถ•
Post
Cancel

๐Ÿ’ป HTTP #7: HTTP ์••์ถ•

์••์ถ•์€ ์›น ์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ์„ ๋†’์—ฌ์ฃผ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์–ด๋–ค ๋ฌธ์„œ์— ๋Œ€ํ•ด์„œ๋Š” 70% ์ด์ƒ์˜ ์‚ฌ์ด์ฆˆ ์ถ•์†Œ๋กœ ๋Œ€์—ญํญ ์šฉ๋Ÿ‰์„ ๋‚ฎ์ถฐ์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๊ฐ€์ ธ๋‹ค์ค€๋‹ค. ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๊ฐ€ ์ด๋ฏธ ์••์ถ• ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ž˜ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์›น ๊ฐœ๋ฐœ์ž๋Š” ๊ตฌํ˜„ํ•  ํ•„์š” ์—†์ด ์„œ๋ฒ„๊ฐ€ ์ž˜ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

์••์ถ•์€ ์„ธ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ„์ธต์—์„œ ์ด๋ค„์ง„๋‹ค.

  • ๋จผ์ € ์ผ๋ถ€ ํŒŒ์ผ ํ˜•์‹์ด ์ตœ์ ํ™”๋œ ํŠน์œ ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์••์ถ•
  • HTTP ๊ณ„์ธต์—์„œ ์ผ๋ฐ˜์ ์ธ ์•”ํ˜ธํ™”
  • HTTP ์ปค๋„ฅ์…˜์˜ ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์˜ ์ปค๋„ฅ์…˜ ๊ณ„์ธต์—์„œ ์••์ถ•์ด ์ •์˜๋œ๋‹ค.

ํŒŒ์ผ ํฌ๋งท ์••์ถ•

๊ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋‚ด๋ถ€์ ์œผ๋กœ ์ค‘๋ณต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ…์ŠคํŠธ๊ฐ€ 60%์˜ ์ค‘๋ณต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค ๊ฐ™์€ ๋ฏธ๋””์–ด์˜ ๊ฒฝ์šฐ ์ค‘๋ณต ๋น„์œจ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋†’๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ๋ชฉ์ ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŒŒ์ผ ํฌ๋งท์ด ์‚ฌ์šฉํ•˜๋Š” ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋“ฑ์žฅํ–ˆ๋‹ค.

๋ฌด์†์‹ค ์••์ถ•

์••์ถ•-๋น„์••์ถ• ์‚ฌ์ดํด์ด ๋ณต์› ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. (gif, png)

์†์‹ค ์••์ถ•

์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ง€ํ•˜๊ธฐ ์–ด๋ ค์šด ์ด๋‚ด์—์„œ ์‚ฌ์ดํด์ด ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. (์›น์˜ ๋น„๋””์˜ค, jpeg)

  • ์†์‹ค ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฌด์†์‹ค ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ํšจ์œจ์ ์ด๋‹ค.
  • ๋„๊ตฌ๊ฐ€ ๋งŒ๋“ค์–ด ๋‚ธ ์ด๋ฏธ์ง€๋Š” ์›น์— ์ตœ์ ํ™”๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์ดํŠธ์˜ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ํ’ˆ์งˆ์„ ์ง€ํ‚ค๋ฉด์„œ๋„ ๊ฐ€๋Šฅํ•œ ๋งŽ์ด ์••์ถ•ํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ด๋‹ค.
  • ์••์ถ•์€ ํŠน์ • ์ข…๋ฅ˜์˜ ํŒŒ์ผ์—์„œ ๋” ์ž˜ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ๋‘ ๋ฒˆ ์••์ถ•ํ•˜๋Š” ๊ฒƒ์€ ๋„์›€์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณดํ†ต ์••์ถ•์„ ํ•  ๋•Œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋น„์šฉ์ด ์ด๋“๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์‚ฐ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์˜ค๋ฒ„ํ—ค๋“œ? ์–ด๋–ค ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด๊ฐ€๋Š” ๊ฐ„์ ‘์ ์ธ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„/๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์„ ๋งํ•œ๋‹ค.

์ข…๋‹จ ๊ฐ„ ์••์ถ•

img

  • ์›น ์‚ฌ์ดํŠธ์˜ ๊ฐ€์žฅ ํฐ ์„ฑ๋Šฅ ์ด๋“์ด ๋ฐœ์ƒํ•˜๋Š” ๊ตฌ๊ฐ„์ด๋‹ค.
  • ์„œ๋ฒ„์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์˜ ์••์ถ•์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ๋ชจ๋“  ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๋Š” ์ข…๋‹จ ๊ฐ„ ์••์ถ•์„ ์ง€์›ํ•˜๊ณ , ๋‹จ์ง€ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งŒ์„ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.
  • ์ข…๋‹จ ๊ฐ„ ์••์ถ•์—์„œ๋Š” ๋ณดํ†ต ํ…์ŠคํŠธ์— ์ตœ์ ํ™”๋œ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธgzip๊ณผ ์ตœ๊ทผ ๋“ฑ์žฅํ•œ br์ด ์‚ฌ์šฉํ•˜๊ธฐ ์ ์ ˆํ•˜๋‹ค.

img

์‚ฌ์šฉํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๋Š” Content-Negotiation์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋ธŒ๋ผ์šฐ์ €: ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ทธ ์šฐ์„ ์ˆœ์œ„์™€ ํ•จ๊ป˜ Accept-Encoding ํ—ค๋”๋ฅผ ์ „์†กํ•œ๋‹ค.
  • ์„œ๋ฒ„: ์š”์ฒญ์˜ ํ—ค๋”๋ฅผ ๋ฝ‘์•„๋‚ด์„œ ์‘๋‹ต ๋ฐ”๋””๋ฅผ ์••์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ์„ ํƒํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ Content-Encoding ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค. ์ด๋•Œ, ์ปจํ…์ธ  ํ˜‘์ƒ์ด ์ธ์ฝ”๋”ฉ์— ๊ทผ๊ฑฐํ•œ ํ‘œํ˜„์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์ ์–ด๋„ Cotnent-Encoding์— ํฌํ•จ๋˜๋Š” ํ•˜๋‚˜์˜ Vary ํ—ค๋”๊ฐ€ ๋ฐ˜๋“œ์‹œ ์‘๋‹ต ๋‚ด ํ—ค๋”์— ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ์ข…๋‹จ ๊ฐ„ ์••์ถ• ๋‹จ๊ณ„์—์„œ๋Š” ์ด๋ฏธ ๋ฏธ๋””์–ด ํŒŒ์ผ๋“ค์€ ์••์ถ•๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

Hop-by-hop ์••์ถ•

img

img

  • ์ข…๋‹จ๊ฐ„ ์••์ถ•๊ณผ ๋น„์Šทํ•˜๊ธด ํ•˜์ง€๋งŒ, ์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์••์ถ•์ด ์ผ์–ด๋‚˜์ง€ ์•Š๊ณ  ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ๊ฒฝ๋กœ ์ƒ์— ์žˆ๋Š” ์–ด๋–ค ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์—์„œ ๋ฉ”์„ธ์ง€์˜ ๋ฐ”๋””์— ์••์ถ•์ด ์ผ์–ด๋‚œ๋‹ค.
  • ์š”์ฒญ์„ ์ „์†กํ•˜๋Š” ๋…ธ๋“œ๋Š” ๋…ธ๋“œ ์š”์ฒญ์ด TE ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค ์ค˜์•ผ ํ•œ๋‹ค. ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค์€ ์•Œ๋งž์€ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์—ฌ ์ ์šฉํ•˜๊ณ  Transfer-Encoding ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ์„ ํƒํ•œ ๋‚ด์šฉ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
  • Hop ์••์ถ•์€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด์ด์ง€ ์•Š๊ณ , ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.
  • Hop ์ธต์—์„œ Transfer-Encoding ํ—ค๋”์™€ ์••์ถ• ์‚ฌ์šฉ์€ ๋ณดํ†ต ํ”„๋ก์‹œ ๊ณ„์ธต์— ์ ์šฉ๋œ๋‹ค.

์ถœ์ฒ˜: https://developer.mozilla.org/ko/docs/Web/HTTP/Compression

This post is licensed under CC BY 4.0 by the author.

์ฝ”์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ #2.2 ์—„๊ฒฉ๋ชจ๋“œ

ํ•™์› #47์ผ์ฐจ: PMS ํ”„๋กœ์ ํŠธ v31 - ํŒŒ์ผ ์ž…์ถœ๋ ฅ

Loading comments from Disqus ...