๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ—‚๏ธ ์Šคํ„ฐ๋”” ํ™œ๋™/๐Ÿ“— ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ

[๋„คํŠธ์›Œํฌ] HTTP

by ๐Ÿ’พ๊ณ ๊ตฌ๋งˆ๋ง›ํƒ•๋จน๊ณ ์‹ถ๋‹ค 2024. 9. 12.
728x90

HTTP Overview

HTTP (Hypertext Transfer Protocol)

์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‘๋‹ต

https://www.youtube.com/watch?v=a-sBfyiXysI

HTTP 1.0

  1. ๋‹จ์ผ ์—ฐ๊ฒฐ, ๋‹จ์ผ ์š”์ฒญ

ํ•˜๋‚˜์˜ ์š”์ฒญ์— ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ ์‚ฌ์šฉ → RTT(์™•๋ณต ์‹œ๊ฐ„) ์ฆ๊ฐ€

  1. RTT ๋ฌธ์ œ ํ•ด๊ฒฐ
    1. ์ด๋ฏธ์ง€ ์Šคํ”Œ๋ฆฌํŒ… : ์••์ถ•๋œ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ
    2. ์ฝ”๋“œ ์••์ถ• : ์ฝ”๋“œ ํฌ๊ธฐ ์ตœ์†Œํ™”
    3. ์ด๋ฏธ์ง€ ๋ฌธ์ž์—ด ์ธ์ฝ”๋”ฉ

HTTP 1.1

  1. ์ง€์† ์—ฐ๊ฒฐ

ํ•œ ๋ฒˆ์˜ ์—ฐ๊ฒฐ๋กœ ์—ฌ๋Ÿฌ ํŒŒ์ผ ์†ก์ˆ˜์‹  → RTT ๊ฐ์†Œ.

  1. HOL Blocking ๋ฌธ์ œ

๋ฌด๊ฑฐ์šด ํ—ค๋”๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ

ํŒจํ‚ท ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€์•Š์œผ๋ฉด ๊ทธ ๋’ค์— ํŒจํ‚ท์ด ์ง€์—ฐ๋˜๋Š” ํ˜„์ƒ

→ ํŒŒ์ดํ”„๋ผ์ด๋‹(Pipelining) : ๋‹ค์ˆ˜์˜ ์š”์ฒญ์„ ์—ฐ์†์ ์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ

HTTP 2.0

  1. ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ

ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์—์„œ ์—ฌ๋Ÿฌ ์š”์ฒญ ๋™์‹œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ŠคํŠธ๋ฆผ ์‚ฌ์šฉ

  1. ํ—ค๋” ์••์ถ•

ํ—ˆํ”„๋งŒ ์ฝ”๋”ฉ ์ด์šฉ

HTTPS

  1. HTTP + SSL/TLS

HTTP 2.0์€ HTTPS ์œ„์—์„œ ๋™์ž‘

๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์•ˆ์ „ํ•œ ํ†ต์‹  ์ œ๊ณต

SSL์€ TLS๋กœ ๋ฐœ์ „ํ•˜๋ฉฐ, ๋ณด์•ˆ ๋ฐ ์„ฑ๋Šฅ์ด ๊ฐœ์„ . ํ˜„์žฌ TLS 1.3์ด ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ, ์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๋ณด์•ˆ์„ฑ์ด ๋†’์Œ

  1. ๋ณด์•ˆ ๊ธฐ์ˆ 

์‚ฌ์ดํผ ์ŠˆํŠธ : ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐํ•ฉ

CA ์ธ์ฆ์„œ : ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ด€์ด ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ ๊ธฐ๋ฐ˜

๋””ํ”ผ-ํ—ฌ๋งŒ ํ‚ค ๊ตํ™˜ : ์•ˆ์ „ํ•œ ์•”ํ˜ธํ™” ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

SHA-256 : ๊ฐ•๋ ฅํ•œ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ

HTTPS ๊ตฌ์ถ• ๋ฐฉ๋ฒ•

  1. CA ์ธ์ฆ์„œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ๊ตฌ์ถ•
    • SSL/TLS ์ธ์ฆ์„œ ๋ฐœ๊ธ‰
    • ์„œ๋ฒ„์— ์ธ์ฆ์„œ ์„ค์น˜: ์›น ์„œ๋ฒ„(Apache, Nginx ๋“ฑ)์— ์„ค์น˜
    • ๋ณด์•ˆ ์„ค์ • ๊ฐ•ํ™”: SSL/TLS ์„ค์ •
  2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์‚ฌ์šฉ
    • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์„ค์ •
    • HTTPS ์ข…๋ฃŒ(TLS Termination): ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์—์„œ SSL/TLS ์•”ํ˜ธํ™”๋ฅผ ํ•ด์ œ(์ข…๋ฃŒ)ํ•˜์—ฌ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์„ ์ตœ์ ํ™”
    • ์•ˆ์ •์„ฑ ๋ฐ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ: ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ , ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ•ํ™”
  3. CDN(Content Delivery Network) ์ด์šฉ
    • CDN ์„ค์ •
    • HTTPS ์ ์šฉ: CDN์—์„œ๋„ SSL/TLS ์ธ์ฆ์„œ๋ฅผ ์ ์šฉ
    • ์†๋„ ๋ฐ ๋ณด์•ˆ ๊ฐ•ํ™”: CDN์„ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ , DDoS ๊ณต๊ฒฉ ๋ณดํ˜ธ

 

HTTP 3.0

  1. QUIC ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜

UDP ์œ„์—์„œ ๋™์ž‘ํ•˜์—ฌ TCP ๊ธฐ๋ฐ˜๋ณด๋‹ค ๋น ๋ฅธ ์ „์†ก ๊ฐ€๋Šฅ

  1. ์—ฐ๊ฒฐ ๋ณต๊ตฌ

QUIC ํ”„๋กœํ† ์ฝœ์€ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ๋‹ค๊ฐ€๋„ ๊ธฐ์กด์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ ์ฑ„ ๋น ๋ฅด๊ฒŒ ์žฌ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ๋ฆฌ

QUIC

๊ธฐ์กด TCP์™€ TLS ํ”„๋กœํ† ์ฝœ์ด ๊ฐ€์ง€๋Š” ๋น„ํšจ์œจ์ ์ธ ๋ผ์šด๋“œ ํŠธ๋ฆฝ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด UDP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋œ ์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ

  1. ์ŠคํŠธ๋ฆผ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ : ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ฆผ์„ ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ ์•ˆ์—์„œ ๊ด€๋ฆฌ, ํ—ค๋“œ ์˜ค๋ธŒ ๋ผ์ธ ๋ธ”๋กœํ‚น ๋ฌธ์ œ ์™„ํ™”
  2. ๋ณด์•ˆ๊ณผ ์•”ํ˜ธํ™” : ๋ชจ๋“  ํŒจํ‚ท์€ ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก, ํŒจํ‚ท ํ—ค๋”๋„ ์•”ํ˜ธํ™”
  3. ์†์‹ค ๋ณต๊ตฌ ๋ฐ ํ๋ฆ„ ์ œ์–ด : ์†์‹ค๋œ ํŒจํ‚ท์„ ์žฌ ์ „์†กํ•  ๋•Œ ์ƒˆ ํŒจํ‚ท ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด ๋ชจํ˜ธ์„ฑ ์ œ๊ฑฐ, ํ๋ฆ„ ์ œ์–ด ๋ฐ ํ˜ผ์žก ์ œ์–ด ๊ธฐ๋Šฅ ์กด์žฌ

๊ตฌ๊ธ€์€ QUIC์„ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์™€ ์œ ํŠœ๋ธŒ ์•ฑ์— ์ ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜์—ฌ ํšจ๊ณผ๋ฅผ ๋ด„

https://www.cdnetworks.com/ko/media-delivery-blog/what-is-quic/

 

728x90