Front End/Web

๋„คํŠธ์›Œํฌ(IP, TCP/UDP, HTTPS)

๐ŸŒ

๋„คํŠธ์›Œํฌ์˜ ๊ธฐ์›

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

๊ณผ๊ฑฐ์— ์‚ฌ์šฉํ•œ ํšŒ์„ ๊ตํ™˜ ๋ฐฉ์‹

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

ํŒจํ‚ท๊ตํ™˜ ๋ฐฉ์‹

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

IP (์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ)

๋ณต์žกํ•œ ์ธํ„ฐ๋„ท ๋ง ์† ์ˆ˜๋งŽ์€ ๋…ธ๋“œ(ํ•˜๋‚˜์˜ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ)๋ฅผ ์ง€๋‚˜ ์–ด๋–ป๊ฒŒ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ†ต์‹ ์„ ํ• ๊นŒ? ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์€ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€์˜ ์ •๋ณด๋ฅผ IP์ฃผ์†Œ๋ผ๋Š” ํŠน์ •ํ•œ ์ˆซ์ž๊ฐ’์œผ๋กœ ํ‘œ๊ธฐํ•˜๊ณ  ํŒจํ‚ท๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. ์ด ๋•Œ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์ƒ์—์„œ ์ฃผ๊ณ ๋ฐ›๋Š” IP ํŒจํ‚ท์€ ํƒ๋ฐฐ ์†ก์žฅ์ฒ˜๋Ÿผ ์ „์†ก๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์‚ฌํžˆ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์ถœ๋ฐœ์ง€ IP, ๋ชฉ์ ์ง€ IP์™€ ๊ฐ™์€ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค.

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

IP ํ”„๋กœํ† ์ฝœ์˜ ํ•œ๊ณ„

  • ๋น„์—ฐ๊ฒฐ์„ฑ

    ๋งŒ์•ฝ ํŒจํ‚ท์„ ๋ฐ›์„ ๋Œ€์ƒ์ด ์—†๊ฑฐ๋‚˜ ์„œ๋น„์Šค ๋ถˆ๋Šฅ ์ƒํƒœ์—ฌ๋„ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•  ๋ฐฉ๋ฒ•์ด ์—†์–ด ํŒจํ‚ท์„ ๊ทธ๋Œ€๋กœ ์ „์†กํ•˜๊ฒŒ ๋œ๋‹ค.

  • ๋น„์‹ ๋ขฐ์„ฑ

    ์ค‘๊ฐ„์— ์žˆ๋Š” ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋˜ ์ค‘ ์žฅ์• ๊ฐ€ ์ƒ๊ฒจ ํŒจํ‚ท์ด ์ค‘๊ฐ„์— ์†Œ์‹ค๋˜๋”๋ผ๋„ ํด๋ผ์ด์–ธํŠธ๋Š” ์ด๋ฅผ ํŒŒ์•…ํ•  ๋ฐฉ๋ฒ•์ด ์—†๋‹ค. ๋˜ํ•œ ์ „๋‹ฌ ๋ฐ์ดํ„ฐ ์šฉ๋Ÿ‰์ด ํด ๊ฒฝ์šฐ ์ด๋ฅผ ํŒจํ‚ท ๋‹จ์œ„๋กœ ๋‚˜๋ˆ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ํŒจํ‚ท๋“ค์€ ์ค‘๊ฐ„์— ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜๋„ํ•˜์ง€ ์•Š์€ ์ˆœ์„œ๋กœ ์„œ๋ฒ„์— ํŒจํ‚ท์ด ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

TCP / UDP

์•ž์„œ ๋‹ค๋ฃฌ IP ํŒจํ‚ท์—๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ, ๋น„์‹ ๋ขฐ์„ฑ๊ณผ ๊ฐ™์€ ํ•œ๊ณ„๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ, ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฐ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ œ๋กœ ์ปดํ“จํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. HTTP ๋ฉ”์„ธ์ง€๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์—ฐ๊ฒฐ๋ถ€์ธ ๋„คํŠธ์›Œํฌ ์†Œ์ผ“(Socket)์„ ํ†ตํ•ด ์ „๋‹ฌ๋œ๋‹ค.
  1. ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ TCP ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋จผ์ € ์ƒ์„ฑํ•œ๋‹ค.
  1. TCP ์„ธ๊ทธ๋จผํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” IP ํŒจํ‚ท์„ ์ƒ์„ฑํ•œ๋‹ค. (TCP/IP ํŒจํ‚ท)
  1. ๋งŒ๋“ค์–ด์ง„ TCP/IP ํŒจํ‚ท์„ LAN ์นด๋“œ์™€ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ๊ณ„์ธต์„ ์ง€๋‚˜๊ธฐ ์œ„ํ•ด ์ด๋”๋„ท ํ”„๋ ˆ์ž„ ์›Œํฌ์— ํฌํ•จํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†ก๋œ๋‹ค.

TCP/IP ํŒจํ‚ท

TCP ์„ธ๊ทธ๋จผํŠธ์—๋Š” IP ํŒจํ‚ท์˜ ์ถœ๋ฐœ์ง€ IP์™€ IP ์ •๋ณด๋ฅผ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ๋ฐœ์ง€ PORT, ๋ชฉ์ ์ง€ PORT, ์ „์†ก ์ œ์–ด, ์ˆœ์„œ, ๊ฒ€์ฆ ์ •๋ณด ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.

TCP์˜ ํŠน์ง•

TCP๋Š” ๊ฐ™์€ ๊ณ„์ธต์— ์†ํ•œ UDP์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.

  • ์—ฐ๊ฒฐ ์ง€ํ–ฅ - TCP 3 Way Handshake (๊ฐ€์ƒ์—ฐ๊ฒฐ)

    TCP๋Š” ์žฅ์น˜๋“ค ์‚ฌ์ด์— ๋…ผ๋ฆฌ์ ์ธ ์ ‘์†์„ ์„ฑ๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด 3 Way Handshake๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

    • 3 Way Handshake
      1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์ ‘์†์„ ์š”์ฒญํ•˜๋Š” SYN(Synchronize, ๋™๊ธฐํ™”) ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
      1. ์„œ๋ฒ„๋Š” SYN์š”์ฒญ์„ ๋ฐ›๊ณ  ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•œ๋‹ค๋Š” ACK(Acknowledgment, ์Šน์ธ)์™€ SYN๊ฐ€ ์„ค์ •๋œ ํŒจํ‚ท์„ ๋ฐœ์†กํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์‹œ ACK๋กœ ์‘๋‹ตํ•˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
      1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ACK์„ ๋ณด๋‚ด๋ฉด ์ด ์ดํ›„๋ถ€ํ„ฐ ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ˜„์žฌ๋Š” ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ ธ ์ด ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด๊ธฐ๋„ ํ•œ๋‹ค.)
      • ๋งŒ์•ฝ ์„œ๋ฒ„๊ฐ€ ๊บผ์ ธ์žˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ SYN์„ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„์—์„œ ์‘๋‹ต์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ณด์ฆ

    TCP๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๋ฉด ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— IP ํŒจํ‚ท์˜ ํ•œ๊ณ„์ธ ๋น„์—ฐ๊ฒฐ์„ฑ์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ˆœ์„œ ๋ณด์žฅ

    ๋งŒ์•ฝ ํŒจํ‚ท์ด ์ˆœ์„œ๋Œ€๋กœ ๋„์ฐฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด TCP ์„ธ๊ทธ๋จผํŠธ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ๋‹ค์‹œ ํŒจํ‚ท ์ „์†ก์„ ์š”์ฒญํ•ด ์ด๋ฅผ ํ†ตํ•ด IP ํŒจํ‚ท์˜ ํ•œ๊ณ„์ธ ๋น„์‹ ๋ขฐ์„ฑ(์ˆœ์„œ๊ฐ€ ๋ณด์žฅ์•ˆ๋จ)์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ

UDP

UDP๋Š” IP ํ”„๋กœํ† ์ฝœ์— PORT, ์ฒดํฌ์„ฌ(์ค‘๋ณต ๊ฒ€์‚ฌ์˜ ํ•œ ํ˜•ํƒœ) ํ•„๋“œ ์ •๋ณด๋งŒ ์ถ”๊ฐ€๋œ ๋‹จ์ˆœํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์•ž์„œ TCP ํŠน์ง•๊ณผ ๋น„๊ตํ•ด ๋ณด๋ฉด ์‹ ๋ขฐ์„ฑ์€ ๋‚ฎ์ง€๋งŒ 3 Way Handshake ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ TCP์™€ ๋น„๊ตํ•ด ๋น ๋ฅธ ์†๋„๋ฅผ ๋ณด์žฅํ•œ๋‹ค.

HTTP3๋Š” UDP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ด๋ฏธ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋œ TCP๋ณด๋‹ค๋Š” ํ•˜์–€ ๋„ํ™”์ง€์ฒ˜๋Ÿผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค๋Š” ์—ฐ์†์„ฑ์ด ์ค‘์š”ํ•œ ์„œ๋น„์Šค(ex. ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ)์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

TCP vs. UDP

TCPUDP
์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ๋น„ ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ
์ „์†ก ์ˆœ์„œ ๋ณด์žฅ์ „์†ก ์ˆœ์„œ ๋ณด์žฅ X
๋ฐ์ดํ„ฐ ์ˆ˜์‹  ์—ฌ๋ถ€ ํ™•์ธํ•จ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ์—ฌ๋ถ€ ํ™•์ธํ•˜์ง€ ์•Š์Œ
์‹ ๋ขฐ์„ฑ ๋†’์ง€๋งŒ ์†๋„ ๋Š๋ฆผ์‹ ๋ขฐ์„ฑ ๋‚ฎ์ง€๋งŒ ์†๋„ ๋น ๋ฆ„

๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋ชจ๋ธ

๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ OSI 7๊ณ„์ธต๊ณผ TCP/IP 4๊ณ„์ธต์œผ๋กœ ๋‚˜๋‰œ๋‹ค. IP ํ”„๋กœํ† ์ฝœ๋ณด๋‹ค ๋” ๋†’์€ ๊ณ„์ธต์— TCP ํ”„๋กœํ† ์ฝœ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ž์„œ ๋‹ค๋ฃฌ IP ํ”„๋กœํ† ์ฝœ์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿค”
TCP/IP 4๊ณ„์ธต์€ OSI 7 ๊ณ„์ธต๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ TCP/IP ํ”„๋กœํ† ์ฝœ์˜ ๊ณ„์ธต์€ OSI ๋ชจ๋ธ์˜ ๊ณ„์ธต๊ณผ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜์ง€๋Š” ์•Š๋‹ค. ์‹ค์ œ ๋„คํŠธ์›Œํฌ ํ‘œ์ค€์€ ์—…๊ณ„ํ‘œ์ค€์„ ๋”ฐ๋ฅด๋Š” TCP/IP 4 ๊ณ„์ธต์— ๊ฐ€๊น๋‹ค.

OSI 7๊ณ„์ธต ๋ชจ๋ธ

OSI 7๊ณ„์ธต ๋ชจ๋ธ์€ ISO(International Organization for Standardization)๋ผ๊ณ  ํ•˜๋Š” ๊ตญ์ œํ‘œ์ค€ํ™”๊ธฐ๊ตฌ์—์„œ 1984๋…„์— ์ œ์ •ํ•œ ํ‘œ์ค€ ๊ทœ๊ฒฉ์ด๋‹ค. ๊ณผ๊ฑฐ์—๋Š” ๊ฐ™์€ ํšŒ์‚ฌ์—์„œ ๋งŒ๋“  ์ปดํ“จํ„ฐ๋ผ๋ฆฌ๋งŒ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ–ˆ๊ณ  ๋‹ค๋ฅธ ํšŒ์‚ฌ์˜ ์‹œ์Šคํ…œ์ด๋ผ๋„ ๋„คํŠธ์›Œํฌ ์œ ํ˜•์— ๊ด€๊ณ„ ์—†์ด ์ƒํ˜ธ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ๊ทœ์•ฝ, ์ฆ‰ ํ”„๋กœํ† ์ฝœ(Protocol)์ด ํ•„์š”ํ–ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ISO์—์„œ ์ œ์กฐ์‚ฌ์™€ ์ƒ๊ด€ ์—†์ด ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ํ‘œ์ค€ ๊ทœ๊ฒฉ์„ ์ •์˜ํ•œ ๊ฒƒ์ด๋‹ค. OSI 7๊ณ„์ธต ๋ชจ๋ธ์€ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋„คํŠธ์›Œํฌ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๊ณ„์ธต์˜ ํ‘œ์ค€์„ ์ •ํ–ˆ๋‹ค.

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

๊ฐ ๊ณ„์ธต์˜ ๊ตฌ๋ถ„

  • 1๊ณ„์ธต : ๋ฌผ๋ฆฌ๊ณ„์ธต

    ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋ฌผ๋ฆฌ์ ์ธ ์—ฐ๊ฒฐ๊ณผ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๋ณ€ํ™˜ ๋ฐ ์ œ์–ดํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ์ฃผ๋กœ ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ์ฃผ๋กœ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ ์ดˆ์ ์„ ๋‘๊ณ  ๋“ค์–ด์˜จ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๊ทธ๋Œ€๋กœ ์ž˜ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค.

    • ex. ๋””์ง€ํ„ธ ๋˜๋Š” ์•„๋‚ ๋กœ๊ทธ๋กœ ์‹ ํ˜ธ ๋ณ€๊ฒฝ
  • 2๊ณ„์ธต : ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต

    ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ๋ฌผ๋ฆฌ์ฃผ์†Œ(ex. MAC ์ฃผ์†Œ)๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ๋ฌผ๋ฆฌ ๊ณ„์ธต์—์„œ ๋“ค์–ด์˜จ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๋ชจ์•„ ์ธ์‹ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ฃผ์†Œ ์ •๋ณด๋ฅผ ์ •์˜ํ•˜๊ณ  ์ถœ๋ฐœ์ง€์™€ ๋„์ฐฉ์ง€ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•œ ํ›„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    • ex. ๋ธŒ๋ฆฌ์ง€ ๋ฐ ์Šค์œ„์น˜, MAC ์ฃผ์†Œ
  • 3๊ณ„์ธต : ๋„คํŠธ์›Œํฌ ๊ณ„์ธต

    ์—ฌ๋Ÿฌ ๊ณ„์ธต ์ค‘ ๊ฐ€์žฅ ๋ณต์žกํ•œ ๊ณ„์ธต์œผ๋กœ ์‹ค์ œ ๋„คํŠธ์›Œํฌ ๊ฐ„์— ๋ฐ์ดํ„ฐ ๋ผ์šฐํŒ…(๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์งœ์—ฌ์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ํ†ต์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ๋ณด๋‚ผ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ณผ์ •)์„ ๋‹ด๋‹นํ•œ๋‹ค.

    • ex. IP ํŒจํ‚ท ์ „์†ก
  • 4๊ณ„์ธต : ์ „์†ก ๊ณ„์ธต

    ์ปดํ“จํ„ฐ๊ฐ„ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ํ•˜์œ„ ๊ณ„์ธต์—์„œ ์‹ ํ˜ธ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜๋กœ ๋ณด๋‚ด๊ณ  ์‹ ํ˜ธ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ง‘์ค‘ํ•œ๋‹ค๋ฉด ์ „์†ก ๊ณ„์ธต์€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์ด ์‹ค์ œ๋กœ ์ •์ƒ์ ์œผ๋กœ ๋ณด๋‚ด์ง€๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ํŒจํ‚ท์ด ์œ ์‹ค๋˜๊ฑฐ๋‚˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ๋ฐ”๋กœ ์žก๋Š” ์—ญํ• ๋„ ๋‹ด๋‹นํ•œ๋‹ค.

    • ex. TCP/UDP ์—ฐ๊ฒฐ
  • 5๊ณ„์ธต : ์„ธ์…˜ ๊ณ„์ธต

    ์„ธ์…˜ ์—ฐ๊ฒฐ์˜ ์„ค์ •๊ณผ ํ•ด์ œ, ์„ธ์…˜ ๋ฉ”์„ธ์ง€ ์ „์†ก ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰, ์ปดํ“จํ„ฐ๊ฐ„์˜ ํ†ต์‹  ๋ฐฉ์‹์— ๋Œ€ํ•ด ๊ฒฐ์ •ํ•˜๋ฉฐ, ์–‘ ๋ ๋‹จ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ฐ๊ฒฐ์„ ์„ฑ๋ฆฝํ•˜๋„๋ก ๋„์™€์ฃผ๊ณ  ์ž‘์—…์„ ๋งˆ์นœ ํ›„์— ์—ฐ๊ฒฐ์„ ๋Š๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

  • 6๊ณ„์ธต : ํ‘œํ˜„ ๊ณ„์ธต

    ์‘์šฉ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ์ „๋‹ฌ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ์ผ์ข…์˜ ๋ฒˆ์—ญ๊ธฐ์™€ ๊ฐ™์€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    • ex. ๋ฌธ์ž ์ฝ”๋“œ, ์••์ถ•, ์•”ํ˜ธํ™” ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜
  • 7๊ณ„์ธต : ์‘์šฉ ๊ณ„์ธต

    ์ตœ์ข…์ ์œผ๋กœ ์‚ฌ์šฉ์ž์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํ•ด๋‹น ๊ณ„์ธต์— ์†ํ•œ๋‹ค.

    • ex. ์ด๋ฉ”์ผ ๋ฐ ํŒŒ์ผ ์ „์†ก, ์›น ์‚ฌ์ดํŠธ ์กฐํšŒ

๋ฐ์ดํ„ฐ ์บก์Šํ™”

OSI 7๊ณ„์ธต ๋ชจ๋ธ์€ ์†ก์‹ ์ธก์˜ 7๊ณ„์ธต๊ณผ ์ˆ˜์‹ ์ธก์˜ 7๊ณ„์ธต์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ณ , ๊ฐ ๊ณ„์ธต์€ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ๊ณ„์ธต์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ธก์€ ์ƒ์œ„๊ณ„์ธต(7๊ณ„์ธต)์—์„œ ํ•˜์œ„ ๊ณ„์ธต(1๊ณ„์ธต)์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ์ด ๋•Œ ๊ฐ ๊ณ„์ธต์—์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ์— ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ ์ด ์ •๋ณด๋ฅผ ํ—ค๋”(๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์—์„œ๋Š” ํŠธ๋ ˆ์ผ๋Ÿฌ)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ํ—ค๋”๋ฅผ ๋ถ™์—ฌ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ์บก์Šํ™”๋ผ ํ•œ๋‹ค.

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

TCP/IP 4๊ณ„์ธต ๋ชจ๋ธ

TCP/IP 4๊ณ„์ธต ๋ชจ๋ธ์€ OSI ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ค๋ฌด์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ˜„์‹ค์— ๋งž์ถฐ ๋‹จ์ˆœํ™”๋œ ๋ชจ๋ธ์ด๋‹ค. ์ฆ‰, OSI 7๊ณ„์ธต ์ด๋ก ์„ ์‹ค์ œ ์‚ฌ์šฉํ•˜๋Š” ์‹ค์šฉ์„ฑ์— ๊ธฐ๋ฐ˜์„ ๋‘” ํ˜„๋Œ€์˜ ์ธํ„ฐ๋„ท ํ‘œ์ค€์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ ๊ณ„์ธต์˜ ๊ตฌ๋ถ„

  • 4๊ณ„์ธต : ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต โ†’ OSI ๊ณ„์ธต์˜ ์„ธ์…˜, ํ‘œํ˜„, ์‘์šฉ ๊ณ„์ธต(5~7๊ณ„์ธต)์— ํ•ด๋‹น

    TCP/UDP ๊ธฐ๋ฐ˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

    • ex. FTP, HTTP, SSH
  • 3๊ณ„์ธต : ์ „์†ก ๊ณ„์ธต โ†’ OSI ๊ณ„์ธต์˜ ์ „์†ก ๊ณ„์ธต(4๊ณ„์ธต)์— ํ•ด๋‹น

    ํ†ต์‹  ๋…ธ๋“œ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ œ์–ดํ•˜๊ณ , ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹นํ•œ๋‹ค.

    • ex. TCP/UDP
  • 2๊ณ„์ธต : ์ธํ„ฐ๋„ท ๊ณ„์ธต โ†’ OSI ๊ณ„์ธต์˜ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต(3๊ณ„์ธต)์— ํ•ด๋‹น

    ํ†ต์‹  ๋…ธ๋“œ ๊ฐ„์˜ IP ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ ๋ฐ ๋ผ์šฐํŒ…์„ ๋‹ด๋‹นํ•œ๋‹ค.

    • ex. IP, ARP, RARP
  • 1๊ณ„์ธต : ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์ธต โ†’ OSI ๊ณ„์ธต์˜ ๋ฌผ๋ฆฌ, ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต(1~2๊ณ„์ธต)์— ํ•ด๋‹น

    ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ MAC์„ ์‚ฌ์šฉํ•œ๋‹ค.

    • ex. LAN, ํŒจํ‚ท๋ง ๋“ฑ์— ์‚ฌ์šฉ๋จ

์‘์šฉ ๊ณ„์ธต

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

HTTP

HTTP๋Š” ์‘์šฉ ๊ณ„์ธต์˜ ๋Œ€ํ‘œ์ ์ธ ํ”„๋กœํ† ์ฝœ๋กœ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์€ ๋ชจ๋‘ HTTP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ์— ์ค‘์š”ํ•œ ํŠน์ง•๋“ค์„ ์•Œ์•„๋‘๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

HTTP์˜ ์—ญ์‚ฌ

HTTP์˜ ํŠน์ง•

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

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ(Request)์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต(Response)์„ ๋ณด๋‚ด๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ(2-Tier ์•„ํ‚คํ…์ณ) ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

๋ฌด์ƒํƒœ(Stateless) ํ”„๋กœํ† ์ฝœ

HTTP๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š” ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ํ™•์žฅ์„ฑ์ด ๋†’๋‹ค๋Š” ์žฅ์ (์Šค์ผ€์ผ ์•„์›ƒ)์ด ์žˆ์ง€๋งŒ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

  • ์‹ค๋ฌด์—์„œ์˜ ํ•œ๊ณ„์ 

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

๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless) ๋ชจ๋ธ

TCP/IP๋Š” ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ์ด๋‹ค. ์ดˆ๊ธฐ์—๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ์‘๋‹ต์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์–ด ์ด ํŠน์ง•์ด ํšจ์œจ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ๊ณ  ํฐ ๊ทœ๋ชจ์˜ ์„œ๋น„์Šค๊ฐ€ ์ƒ๊ฒจ๋‚˜๋ฉด์„œ ๋น„์—ฐ๊ฒฐ์„ฑ์€ ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์—ฐ๊ฒฐ์„ ๋ฐ˜๋ณตํ•˜๋Š” ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ์ง€๊ธˆ์˜ HTTP๋Š” ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ๋‚œ ๋’ค ๊ฐ๊ฐ์˜ ์ž์›๋“ค์„ ์š”์ฒญํ•˜๊ณ  ๋ชจ๋“  ์ž์›์— ๋Œ€ํ•œ ์‘๋‹ต์ด ๋Œ์•„์˜จ ํ›„์— ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์ถ”๊ฐ€ ์š”์ฒญ์ด ์—†์œผ๋ฉด ๊ทธ๋•Œ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๋Š” HTTP ์ง€์† ์—ฐ๊ฒฐ(Persistent Connections)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

HTTP Header

HTTP Message๋Š” Header์™€ Body๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ, Body์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ณธ๋ฌธ(payload)์„ ํ†ตํ•ด ํ‘œํ˜„(Representation) ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ์—ฌ๊ธฐ์—์„œ ํ‘œํ˜„์€ ์š”์ฒญ๊ณผ ์‘๋‹ต์—์„œ ์ „๋‹ฌํ•  ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋œปํ•˜๋ฉฐ ํ‘œํ˜„ ํ—ค๋”๋Š” ํ‘œํ˜„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

HTTP Header๋Š” <field-name(๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์Œ)>:<field-value>ํ˜•์‹์„ ๋”ฐ๋ฅด๋ฉฐ, HTTP ์ „์†ก์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ถ€๊ฐ€์ •๋ณด๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์ค‘์—๋Š” ํ‘œํ˜„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„ ํ—ค๋”๋„ ํฌํ•จ๋œ๋‹ค.

HTTP ์š”์ฒญ/์‘๋‹ต ์ฃผ์š” ํ—ค๋”

  • ์š”์ฒญ(Request)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ—ค๋”
    • From : ์œ ์ € ์—์ด์ „ํŠธ์˜ ์ด๋ฉ”์ผ ์ •๋ณด. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ
    • Referer : ์ด์ „ ์›น ํŽ˜์ด์ง€ ์ฃผ์†Œ. ํ˜„์žฌ ์š”์ฒญ ๋œ ํŽ˜์ด์ง€์˜ ์ด์ „ ์›น ํŽ˜์ด์ง€ ์ฃผ์†Œ์ด๋ฉฐ Referer ์‚ฌ์šฉ ์‹œ ์œ ์ž…๊ฒฝ๋กœ ์ˆ˜์ง‘ ๊ฐ€๋Šฅ
    • User-Agent : ์œ ์ € ์—์ด์ „ํŠธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด. ํด๋ผ์ด์–ธํŠธ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด(์›น ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด ๋“ฑ)์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ ํ†ต๊ณ„ ์ •๋ณด ์ค‘ ํ•˜๋‚˜๋กœ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • Host : ์š”์ฒญํ•œ ํ˜ธ์ŠคํŠธ ์ •๋ณด(๋„๋ฉ”์ธ). ํ•„์ˆ˜ ํ—ค๋”์ด๋ฉฐ ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋•Œ๋‚˜ ํ•˜๋‚˜์˜ IP ์ฃผ์†Œ์— ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์ด ์ ์šฉ๋˜์–ด ์žˆ์„ ๋•Œ ํ˜ธ์ŠคํŠธ ์ •๋ณด๋ฅผ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • Origin : ์„œ๋ฒ„๋กœ POST ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ์š”์ฒญ์„ ์‹œ์ž‘ํ•œ ์ฃผ์†Œ. ์—ฌ๊ธฐ์„œ ์š”์ฒญ์„ ๋ณด๋‚ธ ์ฃผ์†Œ์™€ ๋ฐ›๋Š” ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๋ฉด CORS ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ์‘๋‹ต ํ—ค๋”์˜ Access-Control-Allow-Origin์™€ ๊ด€๋ จ๋จ
    • Authorization : ์ธ์ฆ ํ† ํฐ(ex. JWT)์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ. ํ† ํฐ์˜ ์ข…๋ฅ˜์™€ ์‹ค์ œ ํ† ํฐ ๋ฌธ์ž๋ฅผ ์ „์†กํ•œ๋‹ค. (ex. Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l)
  • ์‘๋‹ต(Response)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ—ค๋”
    • Server : ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ORIGIN ์„œ๋ฒ„์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ •๋ณด.
      • ex. Server: Apache/2.2.22 (Debian)
    • Date : ๋ฉ”์„ธ์ง€๊ฐ€ ๋ฐœ์ƒํ•œ ๋‚ ์งœ์™€ ์‹œ๊ฐ„.
      • ex. Date: Tue, 15 Nov 1994 08:12:31 GMT
    • Location : ํŽ˜์ด์ง€ ๋ฆฌ๋””๋ ‰์…˜. ์š”์ฒญ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๋ฆฌ์†Œ์Šค์˜ URI(์‘๋‹ต์ฝ”๋“œ 201๋“ฑ)๋‚˜ ์š”์ฒญ์„ ์ž๋™์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜(์‘๋‹ต์ฝ”๋“œ 3XX ๋“ฑ) ํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ด
    • Allow : ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ HTTP ๋ฉ”์„œ๋“œ. ์‘๋‹ต์ฝ”๋“œ 405(Method Not Allowed)์ผ ๋•Œ ํฌํ•จ๋จ
      • ex. Allow: GET, HEAD, PUT
    • Retry-After: ์œ ์ € ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์Œ ์š”์ฒญ์„ ํ•˜๊ธฐ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์‹œ๊ฐ„. ์„œ๋น„์Šค๊ฐ€ ๋ถˆ๋Šฅ(503 : Service Unavailable)์ผ ๋•Œ ์–ธ์ œ๊นŒ์ง€ ๋ถˆ๋Šฅ์ธ์ง€ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Œ
      • ex. Retry-After: Fri, 31 Dec 2020 23:59:59 GMT(๋‚ ์งœ ํ‘œ๊ธฐ)
      • ex. Retry-After: 120(์ดˆ ๋‹จ์œ„ ํ‘œ๊ธฐ)

ํ‘œํ˜„ ํ—ค๋”

ํ‘œํ˜„ ํ—ค๋”๋Š” ์š”์ฒญ, ์‘๋‹ต ์–‘์ชฝ ๋ชจ๋‘ ์‚ฌ์šฉํ•œ๋‹ค.

  • Content-Type : ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹

    ๋ฏธ๋””์–ด ํƒ€์ž…๊ณผ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ํ˜•์‹์ด ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

    • ex. Text/html;charset=UTF-8, application/json, Image/png ๋“ฑ
  • Content-Encoding : ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ์••์ถ• ๋ฐฉ์‹

    ํ‘œํ˜„ ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ชฝ์—์„œ ์••์ถ• ํ›„ ์ธ์ฝ”๋”ฉ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์ชฝ์—์„œ๋Š” ์ธ์ฝ”๋”ฉ ํ—ค๋”์˜ ์ •๋ณด๋กœ ์••์ถ•์„ ํ•ด์ œํ•œ๋‹ค.

    • ex. gzip, deflate, identity ๋“ฑ
  • Content-Language : ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ์ž์—ฐ ์–ธ์–ด

    ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ์ž์—ฐ ์–ธ์–ด๊ฐ€ ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

    • ex. ko, en, en-US ๋“ฑ
  • Content-Length : ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด

    ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, Transfer-Encoding(์ „์†ก ์ฝ”๋”ฉ) ์‚ฌ์šฉ ์‹œ์—๋Š” ์ž‘์„ฑํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

    โš ๏ธ
    Transfer-Encoding์€ ์ „์†ก ์‹œ ์–ด๋–ค ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ chunked ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ด๋Š” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์•Œ ์ˆ˜ ์—†์–ด ํ‘œํ˜„ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•˜๋Š” Content-Length ํ—ค๋”์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ํ˜„์žฌ๋Š” Transfer-Encoding ๋ณด๋‹ค๋Š” Content-Encoding์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ปจํ…์ธ  ํ˜‘์ƒ ํ—ค๋”

์š”์ฒญ ์‹œ์—๋งŒ ์‚ฌ์šฉํ•˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์„ ํ˜ธํ•˜๋Š” ํ‘œํ˜„์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ด๋Š”๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ๋Š” ํ•ด๋‹น ์š”์ฒญ์˜ ํ—ค๋” ๋‚ด์šฉ์ด ์ง€์› ๊ฐ€๋Šฅํ•œ ์ปจํ…์ธ ๋ผ๋ฉด ๊ทธ์— ๋งž์ถฐ ์‘๋‹ตํ•˜๊ฒŒ ๋œ๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ์›ํ•˜๋Š” ์ปจํ…์ธ ์— ๋Œ€ํ•œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Accept : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ ์–ธํ•˜๋Š” ๋ฏธ๋””์–ด ํƒ€์ž… ์ „๋‹ฌ
  • Accept-Charset : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ
  • Accept-Encoding : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์••์ถ• ์ธ์ฝ”๋”ฉ
  • Accept-Language : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์ž์—ฐ ์–ธ์–ด

HTTPS

HTTPS๋Š” HTTP Secure์˜ ์•ฝ์ž๋กœ, ๋‹จ์–ด ๋œป ๊ทธ๋Œ€๋กœ ๊ธฐ์กด์˜ HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์š”์ฒญ๊ณผ ์‘๋‹ต์œผ๋กœ ์˜ค๊ฐ€๋Š” ๋‚ด์šฉ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋” ์•ˆ์ „ํ•˜๊ฒŒ(Secure) ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

์•”ํ˜ธํ™” ๋ฐฉ์‹

๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•  ๋•Œ๋Š” ์•”ํ˜ธํ™” ์‹œ ์‚ฌ์šฉํ•  ํ‚ค, ์•”ํ˜ธํ™”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•  ํ‚ค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด ๋•Œ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๊ฐ€ ๋™์ผํ•˜๋ฉด ๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹, ๋‹ค๋ฅด๋‹ค๋ฉด ๊ณต๊ฐœ ํ‚ค(๋น„๋Œ€์นญ ํ‚ค)์•”ํ˜ธํ™” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•œ๋‹ค.

1. ๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹

๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ํ•˜๋‚˜์˜ ํ‚ค๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ์•”ํ˜ธํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด ๋‘ ๊ฐœ์˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœ ํ‚ค ๋ฐฉ์‹์— ๋น„ํ•ด ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜ ํ‚ค๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์—์„œ ํƒˆ์ทจ๋‹นํ•œ ๊ฒฝ์šฐ ์•”ํ˜ธํ™”๊ฐ€ ์†Œ์šฉ์—†์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‹ ๊ฒฝ์„ ๋งŽ์ด ์จ์•ผํ•œ๋‹ค.

2. ๊ณต๊ฐœ ํ‚ค(๋น„๋Œ€์นญ ํ‚ค) ์•”ํ˜ธํ™” ๋ฐฉ์‹

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

๊ณต๊ฐœ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™” ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํƒˆ์ทจ๋‹นํ•˜๋”๋ผ๋„ ๋น„๋ฐ€ ํ‚ค๊ฐ€ ์—†๋‹ค๋ฉด ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ์ธ ๋น„๋ฐ€ ํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ฐœ ํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์€ ๋Œ€์นญ ํ‚ค ๋ฐฉ์‹๋ณด๋‹ค ๋ณด์•ˆ์„ฑ์ด ๋” ์ข‹์ง€๋งŒ, ๋” ๋ณต์žกํ•œ ์—ฐ์‚ฐ์„ ํ•„์š”๋กœ ํ•˜์—ฌ ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

SSL/TLS ํ”„๋กœํ† ์ฝœ

https://www.figma.com/file/jIkoJXAewtsDQQKQti2QzP/SSL%2FTLS?node-id=0%3A1

HTTPS๋Š” HTTP ํ†ต์‹ ์„ ํ•˜๋Š” ์†Œ์ผ“ ๋ถ€๋ถ„์—์„œ SSL ํ˜น์€ TLS๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์ธ์ฆ๊ณผ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. SSL์ด ํ‘œ์ค€ํ™” ๋˜๋ฉฐ ๋ฐ”๋€ ์ด๋ฆ„์ด TLS์ด๋ฏ€๋กœ ์‚ฌ์‹ค์ƒ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. SSL/TLS์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • CA๋ฅผ ํ†ตํ•œ ์ธ์ฆ์„œ ์‚ฌ์šฉ
  • ๋Œ€์นญํ‚ค, ๊ณต๊ฐœ ํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ๋ชจ๋‘ ์‚ฌ์šฉ

SSL/TLS ํ”„๋กœํ† ์ฝœ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ธ์ฆํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ฒŒ ๋˜๋ฉฐ, HTTP์— SSL/TLS ํ”„๋กœํ† ์ฝœ์„ ๋”ํ•œ ๊ฒƒ์„ HTTPS๋ผ ๋ถ€๋ฅธ๋‹ค.

SSL/TLS ํ”„๋กœํ† ์ฝœ ์•”ํ˜ธํ™” ๊ณผ์ •

  1. ์ธ์ฆ์„œ์™€ CA(Certificate Authority)

    HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์˜ ์‘๋‹ต๊ณผ ํ•จ๊ป˜ ์ „๋‹ฌ๋œ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ธ์ฆ์„œ๋Š” ์„œ๋ฒ„์˜ ์‹ ์›์„ ๋ณด์ฆํ•ด์ฃผ๋ฉฐ, ์ด ๋•Œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” ๊ณต์ธ๋œ ๊ธฐ๊ด€๋“ค์„ Certificate Authority, CA๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

    ์„œ๋ฒ„๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด CA๋กœ ์„œ๋ฒ„์˜ ์ •๋ณด์™€ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. CA๋Š” ์„œ๋ฒ„์˜ ๊ณต๊ฐœ ํ‚ค์™€ ์ •๋ณด๋ฅผ CA์˜ ๋น„๋ฐ€ ํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค.

    ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด CA์—๊ฒŒ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ด์ค€๋‹ค. ์ด ๋•Œ, ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์—๋Š” CA๋“ค์˜ ๋ฆฌ์ŠคํŠธ์™€ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด ํ•ด๋‹น ์ธ์ฆ์„œ๊ฐ€ ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” CA๊ฐ€ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ์ธ์ง€ ํ™•์ธํ•˜๊ณ , ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” CA๋ผ๋ฉด ํ•ด๋‹น๋˜๋Š” CA์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์ธ์ฆ์„œ์˜ ๋ณตํ˜ธํ™”๋ฅผ ์‹œ๋„ํ•œ๋‹ค. CA์˜ ๋น„๋ฐ€ ํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ(์ธ์ฆ์„œ)๋Š” CA์˜ ๊ณต๊ฐœ ํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, CA์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๊ฐ€ ๋งž๋‹ค๋ฉด ๋ณตํ˜ธํ™”๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ง„ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.

    ๋ณตํ˜ธํ™”๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ง„ํ–‰ ๋˜์—ˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ •๋ณด์™€ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์–ป๊ฒŒ ๋จ๊ณผ ๋™์‹œ์— ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ž„์„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ , ๋ณตํ˜ธํ™”๊ฐ€ ์‹คํŒจ๋œ๋‹ค๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด์ค€ ์ธ์ฆ์„œ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ธ์ฆ์„œ์ž„์„ ํ™•์ธํ•˜๊ฒŒ ๋œ๋‹ค.

  1. ๋Œ€์นญ ํ‚ค ์ „๋‹ฌ

    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ํ™•๋ณดํ–ˆ๋‹ค๋ฉด ์„œ๋ฒ„์˜ ๊ณต๊ฐœ ํ‚ค์™€ ๋น„๋ฐ€ ํ‚ค๋ฅผ ์ด์šฉํ•ด ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋Œ€์นญ ํ‚ค๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๊ณต๊ฐœ ํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ๋ณด์•ˆ์€ ํ™•์‹คํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•ด ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

    ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•  ๋Œ€์นญ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ณต๊ฐœ ํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค. ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋ฐ€ ํ‚ค๋กœ ๋ณตํ˜ธํ™” ํ•˜์—ฌ ๋Œ€์นญ ํ‚ค๋ฅผ ํ™•๋ณดํ•˜๊ณ , ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋Œ€์นญ ํ‚ค๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค. ๋Œ€์นญ ํ‚ค ์ž์ฒด๋Š” ์˜ค๊ณ  ๊ฐ€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค๊ฐ€ ์œ ์ถœ ๋  ์œ„ํ—˜์ด ์—†์–ด์ง€๊ณ , ์š”์ฒญ์ด ์ค‘๊ฐ„์— ํƒˆ์ทจ๋˜์–ด๋„ ์ œ3์ž๊ฐ€ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์–ด HTTP๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฃผ๊ณ  ๋ฐ›๊ฒŒ ๋œ๋‹ค.


Uploaded by N2T