Search
Duplicate

HTTP & HTTPS

ํƒœ๊ทธ
์†์„ฑ

HTTP(HyperText Transfer Protocol)

โ€ข
์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
โ€ข
HTTP๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์˜ ํ”„๋กœํ† ์ฝœ๋กœ TCP/IP ์œ„์—์„œ ์ž‘๋™ํ•œ๋‹ค.
โ€ข
์ƒํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ Stateless ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ Method, Path, Version, Headers, Body ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
โ€ข
ํ‰๋ฌธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

HTTP์˜ ๋ฌธ์ œ์ 

โ€ข
HTTP ๋Š” ํ‰๋ฌธ ํ†ต์‹ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„์ฒญ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
โ€ข
ํ†ต์‹  ์ƒ๋Œ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ„์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
โ€ข
์™„์ „์„ฑ์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

HTTPS(HyperText Transfer Protocol Secure)

HTTP์— ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ์ด HTTPS์ž…๋‹ˆ๋‹ค. HTTPS๋Š” ์ž์‹ ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ–๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜์—ฌ ๋ณด๋‚ด๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๋„๋ก ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฉ”์„ธ์ง€๋Š” ๊ฐœ์ธํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ธฐ์—…์„ ์ œ์™ธํ•œ ๋ˆ„๊ตฌ๋„ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
โ€ข
HTTPS๋Š” SSL ์˜ ๊ป์งˆ์„ ๋ฎ์–ด์“ด HTTP ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
HTTP ํ†ต์‹ ํ•˜๋Š” ์†Œ์ผ“ ๋ถ€๋ถ„์„ SSL(Secure Socket Layer) or TLS(Transport Layer Security)๋ผ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ ๋ฟ์ด๋‹ค.
โ€ข
HTTP ๋Š” ์›๋ž˜ TCP ์™€ ์ง์ ‘ ํ†ต์‹ ํ–ˆ์ง€๋งŒ, HTTPS ์—์„œ HTTP ๋Š” SSL ๊ณผ ํ†ต์‹ ํ•˜๊ณ  SSL ์ด TCP ์™€ ํ†ต์‹  ํ•˜๊ฒŒ ๋œ๋‹ค. SSL ์„ ์‚ฌ์šฉํ•œ HTTPS ๋Š” ์•”ํ˜ธํ™”์™€ ์ฆ๋ช…์„œ, ์•ˆ์ „์„ฑ ๋ณดํ˜ธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

HTTPS ํ†ต์‹  ํ๋ฆ„

HTTPS๋Š” SSL๊ณผ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž„์˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜์—ฌ๋„ ์›๋ณธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ธ์ฆ๋œ ๊ธฐ๊ด€(Certificate Authority) ์— ๊ณต๊ฐœํ‚ค๋ฅผ ์ „์†กํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ณ  ์žˆ๋‹ค. ์ž์„ธํ•œ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
1.
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(A)๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์—…์€ HTTPS๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ๋งŒ๋“ ๋‹ค.
2.
์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA ๊ธฐ์—…์„ ์„ ํƒํ•˜๊ณ , ๊ทธ ๊ธฐ์—…์—๊ฒŒ ๋‚ด ๊ณต๊ฐœํ‚ค ๊ด€๋ฆฌ๋ฅผ ๋ถ€ํƒํ•˜๋ฉฐ ๊ณ„์•ฝ์„ ํ•œ๋‹ค.
CA๋ž€?ย : Certificate Authority๋กœ, ๊ณต๊ฐœํ‚ค๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š” ์‹ ๋ขฐ์„ฑ์ด ๊ฒ€์ฆ๋œ ๋ฏผ๊ฐ„๊ธฐ์—…
3.
๊ณ„์•ฝ ์™„๋ฃŒ๋œ CA ๊ธฐ์—…์€ ํ•ด๋‹น ๊ธฐ์—…์˜ ์ด๋ฆ„, A์„œ๋ฒ„ ๊ณต๊ฐœํ‚ค, ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์„ ๋‹ด์€ ์ธ์ฆ์„œ๋ฅผ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ CA ๊ธฐ์—…์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ A์„œ๋ฒ„์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.
4.
A์„œ๋ฒ„๋Š” ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด์ œ A์„œ๋ฒ„๋Š” A์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ HTTPS ์š”์ฒญ์ด ์•„๋‹Œ ์š”์ฒญ์ด ์˜ค๋ฉด, ์ด ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๊ฑด๋‚ด์ค€๋‹ค.
5.
ํด๋ผ์ด์–ธํŠธ๋Š”ย main.htmlย ํŒŒ์ผ์„ ๋‹ฌ๋ผ๊ณ  A์„œ๋ฒ„์— ์š”์ฒญํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. HTTPS ์š”์ฒญ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— CA๊ธฐ์—…์ด A์„œ๋ฒ„์˜ ์ •๋ณด๋ฅผ CA ๊ธฐ์—…์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
CA ๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฏธ ์•Œ๊ณ ์žˆ๋‹ค. (์„ธ๊ณ„์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์—…์œผ๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ํ•ด๋…์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ)
6. ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋…ํ•œ ๋’ค A์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์–ป๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด์ œ A์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ๋Œ€๋Š” ์–ป์€ A์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ ์š”์ฒญ์„ ๋‚ ๋ฆฌ๊ฒŒ ๋œ๋‹ค.
์ธ์ฆ์„œ๋Š” CA์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” A ๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— A๊ธฐ์—…๋งŒ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์›๋ณธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
HTTPS๋„ ๋ฌด์กฐ๊ฑด ์•ˆ์ „ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. (์‹ ๋ขฐ๋ฐ›๋Š” CA ๊ธฐ์—…์ด ์•„๋‹Œ ์ž์ฒด ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ํ•œ ๊ฒฝ์šฐ ๋“ฑ)
์ด๋•Œ๋Š” HTTPS์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €์—์„œย ์ฃผ์˜ ์š”ํ•จ,ย ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์‚ฌ์ดํŠธ์™€ ๊ฐ™์€ ์•Œ๋ฆผ์œผ๋กœ ์ฃผ์˜ ๋ฐ›๊ฒŒ ๋œ๋‹ค.