HTTP

URL๊ณผ URN

  • URL(Uniform Resource Locator)

    • ์›น ์ฃผ์†Œ

  • URN(Uniform Resource Name)

    • ํŠน์ • ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ด๋ฆ„์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” URI

URI(Uniform Resource Identifier) ๊ตฌ๋ฌธ

  • ์ธํ„ฐ๋„ท

    • ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ(IP, Internet Protocol)์„ ๊ณต์œ ํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ผ์šฐํŒ…ํ•˜๋Š” ์‹์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ณต์šฉ ์ปดํ“จํ„ฐ์˜ ๋ชจ์Œ์ด๋‹ค.

    • ์›”๋“œ ์™€์ด๋“œ ์›น, ์ด๋ฉ”์ผ, ํŒŒ์ผ ๊ณต์œ , ์ธํ„ฐ๋„ท ์ „ํ™” ๋“ฑ ํฌํ•จ

  • HTTP

    • ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

    • URI ๋ฐ Hypertext Markup Language์™€ ํ•จ๊ป˜ (ํŒ€ ๋ฒ„๋„ˆ์Šค ๋ฆฌTim Berners-Lee)๊ฐ€ ์›น ๋ฐœ๋ช…ํ–ˆ์„ ๋•Œ ์ •์˜ํ•œ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๋‹ค.

์ž‘๋™ ์ˆœ์„œ

  1. IP์ฃผ์†Œ๋ฅผ ์ „ํ™”๋ฒˆํ˜ธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด DNS(Domain Name System)๋Š” ์ „ํ™”๋ฒˆํ˜ธ๋ถ€๋‹ค. - DNS๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  2. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ปดํ“จํ„ฐ์— ์ด ์ฃผ์†Œ๋กœ ํ‘œ์ค€ ์›นํฌํŠธ(ํฌํŠธ 80) ๋˜๋Š” ํ‘œ์ค€ ๋ณด์•ˆ ์›น ํฌํŠธ(ํฌํŠธ 443)์— IP๋ฅผ ํ†ตํ•œ TCP(Transmission Control Protocol)์—ฐ๊ฒฐ์„ ์š”์ฒญํ•œ๋‹ค.

  3. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์„ ๋งบ๊ณ  ์žˆ์œผ๋ฉด ์›น ์‚ฌ์ดํŠธ๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  4. ์„œ๋ฒ„๋Š” ์š”์ฒญ๋ฐ›์€ URL์— ์‘๋‹ตํ•œ๋‹ค.

  5. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ˜ํ™˜๋œ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. - HTML ์ฝ”๋“œ ํ•ด์„์„ ์‹œ์ž‘ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ๋‚ด๋ถ€ ํ‘œํ˜„์ธ ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM,Document Objet Model)์„ ๊ตฌ์ถ•ํ•œ๋‹ค.

  6. ์›น ํ”„๋ผ์šฐ์ €๊ฐ€ ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•œ๋‹ค.

  7. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ค‘์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถฉ๋ถ„ํžˆ ์–ป์œผ๋ฉด ํ™”๋ฉด์— ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

  8. ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ ํ‘œ์‹œํ•œ ํ›„ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ํŽ˜์ด์ง€์— ํ•„์š”ํ•œ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณ„์† ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋ฆฌ์†Œ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Œ€๋กœ ํŽ˜์ด์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

  9. ํŽ˜์ด์ง€๊ฐ€ ์™„์ „ํžˆ ๋กœ๋“œ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋กœ๋”ฉ ์•„์ด์ฝ˜์„ ๋ฉˆ์ถ”๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์—์„œ ํŽ˜์ด์ง€๊ฐ€ ์–ด๋–ค ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ค€๋น„๊ฐ€ ๋๋‹ค๋Š” ํ‘œ์‹œ๋กœ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” OnLoad ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

  10. ์ด ์‹œ์ ์—์„œ ํŽ˜์ด์ง€๋Š” ์™„์ „ํžˆ ๋กœ๋“œ๋์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €๋Š” ์š”์ฒญ ์ „์†ก์„ ๋จธ์ถ”์ง€ ์•˜๋‹ค,

OSI 7 ๊ณ„์ธต

OSI 7 ๊ณ„์ธต

HTTP 1.0

HTTP/1.1

  • ํ˜ธ์ŠคํŠธ ํ—ค๋”๊ฐ€ ํ•„์ˆ˜์ ์ธ ๊ฐ’์ด ๋์œผ๋ฉฐ ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์ด ์ถ”๊ฐ€๋๋‹ค๋Š” ์ ์ด HTTP/1.0 ๊ตฌ๋ฌธ๊ณผ์˜ ๋‘๋“œ๋Ÿฌ์ง€๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

  • ํ•„์ˆ˜์ ์ธ ํ˜ธ์ŠคํŠธ ํ—ค๋”

  • ์ง€์†์ ์ธ ์—ฐ๊ฒฐ(keep-alive)

    • Connection HTTP ํ•ด๋”๋กœ ํ•ด๊ฒฐ

  • ๊ธฐํƒ€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ

    • HTTP/1.0์— ์ •์˜๋œ GET,POST,HEAD ๋ฉ”์„œ๋“œ์— ์ถ”๊ฐ€๋œ ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๋Š” PUT,OPTIONS์™€ ์ž˜ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š๋Š” CONNECT, TRACE, DELETE๋‹ค

    • ๊ฐœ์„ ๋œ ์บ์‹ฑ ๋ฐฉ๋ฒ•์„ ๋„์ž…ํ•ด ์„œ๋ฒ„๊ฐ€ ๋ฆฌ์†Œ์Šค(CSS ํŒŒ์ผ๊ณผ ๊ฐ™์€)๋ฅผ ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ์— ์ €์žฅํ•ด์„œ ํ•„์š”ํ•˜๋ฉด ๋‚˜์ค‘์— ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํด๋ผ์ด์–ธํŠธ์— ์ง€์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. Cache-Control HTTP ํ—ค๋”๋Š” HTTP/1.1์— HTTP/1.0์˜ Expires ํ—ค๋”๋ณด๋‹ค ๋งŽ์€ ์˜ต์…˜์„ ๋„์ž…ํ–ˆ๋‹ค.

    • HTTP๊ฐ€ ์ƒํƒœ ์—†๋Š” ํ”„๋กœํ† ์ฝœ์—์„œ ์ƒํƒœ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” HTTP ์ฟ ํ‚ค๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

    • HTTP ์‘๋‹ต์—์„œ์˜ ๋ฌธ์ž ์ง‘ํ•ฉ(character set)๊ณผ ์–ธ์–ด๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

    • ํ”„๋ก์‹œ ์ง€์› ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ๋‹ค.

    • ์ธ์ฆ ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ๋‹ค.

    • ์ƒˆ๋กœ์šด ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

    • ํ›„ํ–‰ ํ—ค๋”๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

HTTP/1.1์˜ ๊ทผ๋ณธ์ ์ธ ์„ฑ๋Šฅ ๋ฌธ์ œ

  • ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ๋‹ค.

    • ๋Œ€๊ธฐ์‹œ๊ฐ„์€ ๋‹จ์ผ ๋ฉ”์‹œ์ง€๋ฅผ ์„œ๋ฒ„์— ์ „์†กํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๋ฐ˜๋ฉด, ๋Œ€์—ญํญ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด ๋ฉ”์‹œ์ง€์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๋Š” ์–‘์„ ์ธก์ •ํ•œ๋‹ค

ํŒŒ์ดํ”„๋ผ์ด๋‹

  • ์—ฌ์ „ํžˆ ํŒŒ์ดํ”„๋ผ์ด๋‹์—์„œ๋Š” ์‘๋‹ต์ด ์š”์ฒญ์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋ผ์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค

    • HOL(Head-Of-Line) ๋ธ”๋กœํ‚น

  • HTTP/1.1 ์„ฑ๋Šฅ ๋ฌธ์ œ์˜ ์šฐํšŒ์  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

    • HTTP/1.1์€ ๋™๊ธฐ์ ์ด๋‹ค.(synchronous)

    • ๋‘ ๋ถ€๋ฅ˜

      • ์—ฌ๋Ÿฌ HTTP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•œ๋‹ค.

      • ์ ์ง€๋งŒ ์ž ์žฌ์ ์œผ๋กœ ํฐ HTTP ์š”์ฒญ์„ ๋งŒ๋“ ๋‹ค.

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

์—ฌ๋Ÿฌ HTTP ์—ฐ๊ฒฐ ์‚ฌ์šฉ

  • HTTP/1.1์˜ ๋ธ”๋กœํ‚น ๋ฌธ์ œ๋ฅผ ํšŒํ”ผํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ๋งบ์–ด ๋ณ‘๋ ฌ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ HTTP ์š”์ฒญ์ด ๋Š์ž„์—†์ด ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ๋„๋ฉ”์ธ ์ƒค๋”ฉ(domain sharding)

    • ๋ณ‘๋ ฌํ™” ์ •๋„๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ ์™ธ์—๋„ ์ฟ ํ‚ค์˜ HTTP ํ—ค๋”๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๋“ฑ์˜ ์—ญํ• ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ฃผ์š” ์ด์Šˆ๋Š” ํ•˜๋ถ€ TCP ํ”„๋กœํ† ์ฝœ์—์„œ์˜ ์ปค๋‹ค๋ž€ ๋น„ํšจ์œจ์„ฑ์ด๋‹ค.

    • TCP๋Š” ๊ณ ์œ  ์‹œํ€ธ์Šค ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ํŒจํ‚ท์„ ์ „์†กํ•˜๊ณ  ๋ˆ„๋ฝ๋œ ์‹œํ€œ์Šค ๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ๋„์ค‘์— ์†์‹ค๋œ ํŒจํ‚ท์„ ๋‹ค์‹œ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

TCP๋Š” 3 ๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ(three-way handshake)

  1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ ์‹œํ€ธ์Šค ๋ฒˆํ˜ธ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋™๊ธฐํ™”(SYN) ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ์š”์ฒญ๋ถ€ํ„ฐ ๋ชจ๋“  ๋ฏธ๋ž˜์˜ TCP ํŒจํ‚ท์ด ์ด ์‹œํ€ธ์Šค๋ฒˆํ˜ธ์— ๊ธฐ๋ฐ˜์„ ๋‘˜ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•  ๊ฒƒ์ด๋‹ค.

  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์‹œํ€ธ์Šค ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›์•˜๋‹ค๊ณ  ์•Œ๋ฆฌ๊ณ  ์„œ๋ฒ„ ์ž์ฒด์˜ ๋™๊ธฐํ™” ์š”์ฒญ์„ ์ „์†กํ•ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋ฒ„์˜ ๋ฉ”์‹œ์ง€์— ์‚ฌ์šฉํ•  ์‹œํ€ธ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ „ํ•œ๋‹ค. ๋‘ ๋ฉ”์‹œ์ง€๋Š” ํ•˜๋‚˜์˜ SYN-ACK ๋ฉ”์‹œ์ง€๋กœ ๊ฒฐํ•ฉ๋œ๋‹ค.

  3. ๋งˆ์ง€๋ง‰์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ACK ๋ฉ”์‹œ์ง€๋กœ ์„œ๋ฒ„์˜ ์‹œํ€ธ์Šค ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›์•˜๋‹ค๊ณ  ์•Œ๋ฆฐ๋‹ค.

์ •์ฒด ์ฐฝ (CWND, congestion window)

  • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋Š” ๋ฐ ๋”ฐ๋ผ ์—ฐ๊ฒฐ์ด ํŒจํ‚ท ์†์‹ค ์—†์ด ๋” ํฐ ํฌ๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉด์„œ ์ •์ฐจ ์ฆ๊ฐ€ํ•œ๋‹ค.

  • TCP ์ •์ฒด ์ฐฝ์˜ ํฌ๊ธฐ๋Š” TCP ๋А๋ฆฐ ์‹œ์ž‘ ์•Œ๋กœ๋ฆฌ์ฆ˜์„ ์ œ์–ดํ•œ๋‹ค.

  • TCP๋Š” ๋„คํŠธ์›Œํฌ์— ๊ณผ๋ถ€ํ•˜๋ฅผ ์ฃผ์ง€ ์•Š์œผ๋ ค๊ณ  ํ•˜๋Š” ๋ณด์žฅ๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ๋งบ๋Š” ๊ฒƒ์€ HTTP ์ˆ˜์ค€์—์„œ ๊ดœ์ฐฎ์€ ์ตœ์ ํ™”์ด๋”๋ผ๋„ TCP์™€ HTTPS ์ˆ˜์ค€์—์„œ๋Š” ๋น„ํšจ์œจ์ ์ด๋‹ค.

์š”์ฒญ ์ˆ˜ ์ค„์ด๊ธฐ

  • ์š”์ฒญ ์ˆ˜ ์ค„์ด๊ธฐ ๊ธฐ๋ฒ•

    • ๋ถˆํ•„์š”ํ•œ ์š”์ฒญ์„ ์ค„์ด๊ฑฐ๋‚˜(๋ธŒ๋ผ์šฐ์ €์— ์ž์‚ฐ์„ ์บ์‹œํ•˜๋Š” ๋“ฑ) ์ ์€ ์ˆ˜์˜ HTTP ์š”์ฒญ์„ ๋™์ผํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค.

    • ์ „์ž์˜ ๋ฐฉ๋ฒ•์€ HTTP ์บ์‹ฑ ํ—ค๋” ์‚ฌ์šฉ๊ณผ ์—ฐ๊ด€๋ผ ์žˆ๊ณ 

    • ํ›„์ž์˜ ๋ฐฉ๋ฒ•์€ ์ž์‚ฐ์„ ๊ฒฐํ•ฉ๋œ ํŒŒ์ผ๋กœ ๋ฌถ๋Š”(bundle) ์ผ์ด ์ˆ˜๋ฐ˜๋œ๋‹ค.

  • ์Šคํ”„๋ผ์ดํŒ…(spriting)

    • ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ฒˆ๋“ค๋ง ๊ธฐ๋ฒ•

    • ์„ค์ •ํ•˜๋Š” ๋ฐ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค.

  • ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค๋ฅธ ํŒŒ์ผ์— ์ธ๋ผ์ธ์‹œํ‚ค๋Š” ๊ฒƒ๋„ ํฌํ•จ๋œ๋‹ค.

    • ๋‹จ์ ์€ ๋ณต์žก์„ฑ

    • ๋‚ญ๋น„

    • ์บ์‹ฑ

  • ์ด ๊ธฐ๋ฒ•์€ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต๊ณผ ์ฒ˜๋ฆฌ์˜ ์ธก๋ฉด์—์„œ ๋ชจ๋‘ ๋น„ํšจ์œจ์ ์ด๋‹ค.

HTTPS

  • HTTP๊ฐ€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„์ค‘์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๋กœ์ฑ„๊ณ ,์ฝ๊ณ ,๊ณ ์ณ ์“ฐ๊ธฐ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ „์†ก ์ค‘์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ(TLS, Transport Layer Security) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™”ํ•˜๋Š” HTTP์˜ ๋ณด์•ˆ ๋ฒ„์ „์ด๋‹ค.

    • TLS๋Š” ์ข…์ข… ์ด์ „ ์ด๋ฆ„์ธ ๋ณด์•ˆ ์†Œ์ผ“ ๊ณ„์ธต(SSL,Secure Sockets Layer)

  • ์ถ”๊ฐ€ํ•œ ์„ธ๊ฐ€์ง€ ๊ฐœ๋…

    • ์•”ํ˜ธํ™”: ๋ฉ”์‹œ์ง€๋Š” ์ „์†ก ์ค‘์— ์ œ3์ž์—๊ฒŒ ์ฝํž ์ˆ˜ ์—†๋‹ค.

    • ๋ฌด๊ฒฐ์„ฑ: ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋””์ง€ํ„ธ ์„œ๋ช…๋˜๊ณ  ์„œ๋ช…์ด ๋ณตํ˜ธํ™”๋˜๊ธฐ ์ „์— ์•”ํ˜ธํ•™์ ์œผ๋กœ ๊ฒ€์ฆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์‹œ์ง€๋Š” ์ „์†ก ์ค‘์— ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

    • ์ธ์ฆ: ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ ค๋˜ ๋ฐ”๋กœ ๊ทธ ์„œ๋ฒ„๋‹ค.

HTTPS ํ•ธ๋“œ์„ธ์ดํฌ

  • HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ HTTP/1์ด๋Š” HTTP/2๋“  ๊ฐ„์— ํ‘œ์ค€ HTTP ์—ฐ๊ฒฐ์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐ SSL/TLS๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

  • ๊ณต๊ฐœ-๋น„๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋Š” ๋น„๋Œ€์นญํ˜• ์•”ํ˜ธํ™”๋ผ๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋Š”๋ฐ, ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ณตํ˜ธํ™”ํ•˜๋Š” ๋ฐ ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์•”ํ˜ธํ™”๋Š” ์ด์ „์— ํ•œ ๋ฒˆ๋„ ์—ฐ๊ฒฐํ•œ ์ ์ด ์—†๋Š” ์„œ๋ฒ„์™€ ๋ณด์•ˆ ํ†ต์‹ ์„ ํ•˜๋Š”๋ฐ ํ•„์š”ํ•˜์ง€๋งŒ ๋А๋ฆฌ๋ฏ€๋กœ ๋‚˜๋จธ์ง€ ์—ฐ๊ฒฐ์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋Œ€์นญํ˜• ์•”ํ˜ธํ™”ํ‚ค๋ฅผ ํ•ฉ์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ํ•ฉ์˜๋Š” TLS ํ•ธ๋“œ์„ธ์ดํฌ ๋„์ค‘์— ์ผ์–ด๋‚˜๋Š”๋ฐ, ํ•ธ๋“œ์„ธ์ดํฌ๋Š” ์—ฐ๊ฒฐ์˜ ์‹œ์ž‘์„ ์ผ์–ด๋‚œ๋‹ค.

ALPN

  • ALPN๋Š” ClientHello ๋ฉ”์‹œ์ง€์— ์ถ”๊ฐ€์ ์ธ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋”ํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ ์ง€์›์„ ์•Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๊ณ ,ServerHello ๋ฉ”์‹œ์ง€์—๋„ ์ถ”๊ฐ€ํ•ด ์„œ๋ฒ„๊ฐ€ HTTPS ํ˜‘์ƒ ์ดํ›„์— ์–ด๋–ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ• ์ง€ ํ™•์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

  • ALPN์€ ๊ฐ„๋‹จํ•˜๊ณ  ๋” ์ด์ƒ์˜ ์–ด๋–ค ๋ผ์šด๋“œ ๋“œ๋ฆฝ, ๋ฆฌ๋””๋ ‰์…˜, ๊ทธ ์™ธ์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ์ง€์—ฐ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ์กด HTTPS ํ˜‘์ƒ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด HTTP/2 ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ํ•ฉ์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ALPN์˜ ์œ ์ผํ•œ ๋ฌธ์ œ

    • ๋น„๊ต์  ์ƒˆ๋กœ์šด ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํŽธ์ ์œผ๋กœ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉฐ, ํŠนํžˆ ์˜ค๋ž˜๋œ TLS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ”ํ•œ ์„œ๋ฒ„ ์ธก์—์„œ ์ง€์›์ด ์ž˜๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค.

    • ALPN์ธ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉด ์„œ๋ฒ„๋Š” ๋ณดํ†ต ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP/2๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ HTTP/1.1์„ ์‚ฌ์šฉํ•œ๋‹ค.

NPN

  • ALPN์˜ ์ „์‹ ์€ NPN(Next Protocol Negotiation)

  • NPN์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ํด์„ ๊ฒฐ์ •ํ•˜์ง€๋งŒ ALPN์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ์ •ํ•œ๋‹ค๋Š” ์ ์ด ์ฃผ๋œ ์ฐจ์ด์ ์ด๋‹ค.

HTTP/1.1 ๊ณผ HTTP/2

HTTP/2 ํ‘ธ์‹œ๋ž€

HTTP/2 ์„œ๋ฒ„ ํ‘ธ์‹œ๋ž€?

  • HTTP/2 ์„œ๋ฒ„ ํ‘ธ์‹œ(์ดํ›„๋ถ€ํ„ฐ HTTP/2 ํ‘ธ์‹œ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•˜์ง€ ์•Š์€ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ผ์šด๋“œ ํŠธ๋ฆฝ ์ง€์—ฐ์€ HTML ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ <style> ํƒœ๊ทธ๋กœ ์ธ๋ผ์ด๋‹ํ•˜๊ฑฐ๋‚˜ <script> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋„ ๋น„์Šทํ•œ ์ž‘์—…์„ ํ•˜๋Š” ๋“ฑ์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋กœ ์ด์–ด์ง„๋‹ค.

    • ์ค‘์š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ธ๋ผ์ด๋‹ํ•จ์œผ๋กœ์จ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฒซ ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์ž๋งˆ์ž ์ถ”๊ฐ€์ ์ธ ์ค‘์š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋Œ€์‹  ์ฒซ ๋ Œ๋”๋ง์„ ์‹œ์ž‘ํ•˜๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ๋ฆฌ์†Œ์Šค๋ฅผ ์ธ๋ผ์ด๋‹ํ•˜๋Š” ๋ฐ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ๋‹ค.

      • CSS ๋ฆฌ์†Œ์Šค์—์„œ ํ•„์š”ํ•œ ๋งŒํผ์˜ ์ค‘์š”ํ•œ ์Šคํƒ€์ผ๋งŒ ๋นผ๋‚ด HTML ํŒŒ์ผ์— ๋ผ์›Œ ๋„ฃ๋Š” ๊ฒƒ์€ ์ด ์ž‘์—…์„ ๋•๋Š” ๋„๊ตฌ๊ฐ€ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ณต์žกํ•˜๋‹ค. ๋ณต์žกํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด๋Ÿฐ ์ ˆ์ฐจ๋Š” ๋‚ญ๋น„๋‹ค. ์ค‘์š”ํ•œ CSS๋Š” ์บ์‹œ๋ผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์— ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” CSS ํŒŒ์ผ ํ•˜๋‚˜์— ์ €์žฅ๋˜๊ธฐ๋ณด๋‹ค๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” CSS ํŒŒ์ผ ํ•˜๋‚˜์— ์ €์žฅ๋˜๊ธฐ๋ณด๋‹ค๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์— ์ค‘๋ณต๋ผ ์ €์žฅ๋œ๋‹ค. ๋” ๋‚˜์œ ์ ์€ ์ธ๋ผ์ธ๋œ ์ค‘์š” CSS๊ฐ€ ๋ณดํ†ต ๋‚˜์ค‘์— ๋กœ๋“œ๋˜๋Š” ์ฃผ CSS ํŒŒ์ผ์— ์—ฌ์ €ํžˆ ํฌํ•จ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ํŽ˜์ด์ง€๋งˆ๋‹ค ์ค‘๋ณต๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŽ˜์ด์ง€ ์•ˆ์—์„œ๋„ ์ค‘๋ณต๋œ๋‹ค.

      • ์ค‘์š”ํ•˜์ง€ ์•Š์€ CSSํŒŒ์ผ๋„ ๋ชจ๋‘ ๋กœ๋“œํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ํฌํ•จํ•œ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด ์ค‘์š”ํ•œ CSSํŒŒ์ผ ์ค‘ ์–ด๋–ค ๊ฒƒ์ด๋“  ๋ณ€๊ฒฝํ•˜๋ ค ํ•œ๋‹ค๋ฉด ํ•˜๋‚˜์˜ ๊ณตํ†ต CSSํŒŒ์ผ๋งŒ ๊ฐฑ์‹ ํ•˜๋Š” ๋Œ€์‹  ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค

  • HTTP/2 ํ‘ธ์‹œ๋Š” HTTP๊ฐ€ ํ•ญ์ƒ โ€˜ํ•˜๋‚˜์˜ ์š”์ฒญ = ํ•˜๋‚˜์˜ ์‘๋‹ตโ€™์ด๋ผ๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๊นจ๋œจ๋ฆฐ๋‹ค. HTTP/2 ํ‘ธ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์‘๋‹ต์œผ๋กœ ๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค.

  • HTTP ํ‘ธ์‹œ๊ฐ€ ์›น์†Œ์ผ“์ด๋‚˜ SSE๋ฅผ ๋Œ€์ฒดํ•˜๋Š”๊ฐ€?

    • HTTP/2๋Š” ์—„๋ฐ€ํ•˜๊ฒŒ ์–‘๋ฐฉํ–ฅ์€ ์•„๋‹ˆ๋‹ค.

    • ๋ชจ๋“  ๊ฒƒ์€ ์—ฌ์ „ํžˆ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์š”์ฒญ์—์„œ ์‹œ์ž‘๋œ๋‹ค. ํ‘ธ์‹œ๋œ ๋ฆฌ์†Œ์Šค๋Š” ์ฒซ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์— ์ถ”๊ฐ€ ์‘๋‹ต์„ ๋งŒ๋“ค์–ด์ง„๋‹ค.

    • ์ฒญ ์š”์ฒญ์ด ์ข…๋ฃŒ๋˜๋ฉด ์ŠคํŠธ๋ฆผ์ด ๋‹ซํžˆ๊ณ , ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์—†๋‹ค๋ฉด ๋” ์ด์ƒ ์–ด๋–ค ๋ฆฌ์†Œ์Šค๋„ ํ‘ธ์‹œ๋  ์ˆ˜ ์—†๋‹ค.

๋งํฌ ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์šด์ŠคํŠธ๋ฆผ ์‹œ์Šคํ…œ์—์„œ ํ‘ธ์‹œ

  • ์ด ๊ทธ๋ฆผ์€ HTTP/2 ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์•„๋ฌด๊ฒƒ๋„ ์†ก์‹ ๋˜๊ฑฐ๋‚˜ ์ˆ˜์‹ ๋˜์ง€ ์•Š์€ ํฐ ๊ณต๋ฐฑ์„ ๋ณด์—ฌ์ฃผ๋Š”๋ฐ, ์ด๋Š” ๋‚ญ๋น„๋ฉฐ HTTP/2๊ฐ€ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋˜ HOL(Head-Of-Line) ๋ธ”๋กœํ‚น ๋ฌธ์ œ๋ฅผ ์—ฐ์ƒ์‹œํ‚จ๋‹ค.

  • H2PushResource์™€ ๊ฐ™์€ ์›น์„œ๋ฒ„์˜ ์ด๋ฅธ ํ‘ธ์‹œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋”ฐ๋ฅธ ๋‹จ์ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด๋Ÿฌํ•œ ํ‘ธ์‹œ๋ฅผ ๊ฐœ์‹œํ•˜๊ฒŒ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ‘ธ์‹œ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ์— ์ตœ์ ์˜ ์œ„์น˜์ผ ๊ฒƒ์ด๋ผ๋Š” ์ ์ด๋‹ค. ์ด ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์ƒˆ๋กœ์šด HTTP ์ƒํƒœ ์ฝ”๋“œ(103 Early Hint)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ”„๋ฆฌ์ฝ”๋“œ HTTP ๋งํฌ ํ—ค๋”๋ฅผ ํ†ตํ•œ ๋ฆฌ์†Œ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋” ์ด๋ฅด๊ฒŒ ์•”์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์ด ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ—ค๋”๋งŒ ์žˆ๋Š” ์ด๋ฅธ ์‘๋‹ต์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ , ๋“œ๋‹ค์Œ์—๋Š” ํ‘œ์ค€ 200 ๋“ฑ๋‹ต ์ฝ”๋“œ๊ฐ€ ๋”ฐ๋ผ์˜จ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์—์„œ ํ‘ธ์‹œ ์บ์‹œ ๋™์ž‘ ๋ฐฉ์‹

  • ํ‘ธ์‹œ๋œ ๋ฆฌ์†Œ์Šค๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ณ„๋„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€๋˜๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํŽ˜์ด์ง€๋กœ ๋กœ๋“œ๋œ๋‹ค.

  • ์บ์‹œ ํ—ค๋”๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ ๋ณดํ†ต ๋•Œ์™€ ๊ฐ™์ด ๋‚˜์ค‘์— ์žฌ์‚ฌ์šฉํ•  ์šฉ๋„๋กœ ๋ธŒ๋ผ์šฐ์ ์˜ HTTP ์บ์‹œ๋„ ์ €์žฅ๋„๋‹ˆ๋‹ค.

    • ๋ˆˆ์— ๋„๋Š” ์˜ˆ์™ธ ์‚ฌํ•ญ์€ ํฌ๋กœ๋ฏธ์›€ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €(Chromium-based browers)๋Š” ์‹ ๋ขฐํ•˜์ง€ ์•Š๋Š” ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์บ์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค.

    • ์ธ์ฆ์„œ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„๋‚ธ ๊ฒฝ์šฐ์—๋„ ์—ฌ์ „ํžˆ ์บ์‹œ๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

  • ์ด๋ฏธ์ง€ ์บ์‹œ๋Š” ์ˆ˜๋ช…์ด ์งง์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ์บ์‹œ๋กœ, ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์บ์‹œ๋‹ค.

    • ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ด์ง€์—์„œ ๋‘๋ฒˆ ์ฐธ์กฐํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋‘๋ฒˆ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ํ•˜๊ณ ์ž ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ง•ํ•˜๋ฉด ์บ์‹œ๋Š” ์—†์–ด์ง„๋‹ค.

  • ํ”„๋ฆฌ๋กœ๋“œ ์บ์‹œ๋Š” ๋˜ ํ•˜๋‚˜์˜ ์ˆ˜๋ช…์ด ์งง์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ์บ์‹œ๋กœ, ํ”„๋ฆฌ๋กœ๋“œ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ด ์บ์‹œ๋Š” ํŽ˜์ด์ง€์— ํŠน์ •์ ์ด๋‹ค. ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•ด ํ”„๋ฆฌ๋กœ๋“œํ•˜์ง€ ๋ง๋ผ, ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  • ์„œ๋น„์Šค ์›Œ์ปค๋Š” ์›น ํŽ˜์ด์ง€์™€ ๋ณ„๊ฐœ๋กœ ์‹คํ–‰๋˜๊ณ  ์›น ํŽ˜์ด์ง€์™€ ์›น ์‚ฌ์ดํŠธ์˜ ์ค‘๊ฐœ๊ฐ€ ์—ญํ• ์„ ํ•˜๋Š” ์ƒ๋‹นํžˆ ์ƒˆ๋กœ์šด ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…”์ด๋‹ค. ์„œ๋น„์Šค ์œ„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์‚ฌ์ดํŠธ๊ฐ€ ๋”์šฑ ์›์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค. ์„œ๋น„์Šค ์›Œ์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์‚ฌ์ดํŠธ๊ฐ€ ๋”์šฑ ์›์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์žƒ์—ˆ์„ ๋•Œ์กฐ์ฐจ ๊ทธ๋ ‡๋‹ค. ์„œ๋น„์Šค ์›Œ์ปค๋Š” ๋„๋ฉ”์ธ์— ์—ฐ๊ฒฐ๋œ ๊ณ ์œ ํ•œ ์บ์‹œ๋ฅผ ๊ฐ–๋Š”๋‹ค.

  • HTTP ์บ์‹œ๋Š” ๊ฐœ๋ฐœ์ž ๋Œ€๋ถ€๋ถ„์ด ์•„๋Š” ์ค‘์š” ์บ์‹œ๋ฉฐ, ๋””์Šคํฌ ๊ธฐ๋ฐ˜์˜ ์ง€์†์„ฑ ์บ์‹œ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ณต์œ ๋˜๊ณ ,๋ชจ๋“  ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ œํ•œ๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.

  • HTTP/2 ํ‘ธ์‹œ ์บ์‹œ๋Š” ์ˆ˜๋ช…์ด ์งง์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ์บ์‹œ๋กœ, ์—ฐ๊ฒฐ์— ๋งค์—ฌ ์žˆ์œผ๋ฉฐ ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฒ€์‚ฌ๋œ๋‹ค.

Reference

์ฑ…: HTTP/2 in Action

Last updated