HTTP & HTTPS
ย HTTP (Hypertext Tansfer Protocol)
์๋ฒ / ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ค.
HTTP๋ ์ธํฐ๋ท์์ ํ์ดํผํ
์คํธ๋ฅผ ๊ตํํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ผ๋ก, 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
ย HTTP ๊ตฌ์กฐ
โข
HTTP๋ ์ ํ๋ฆฌ์ผ์ด์
๋ ๋ฒจ์ ํ๋กํ ์ฝ๋ก TCP/IP ์์์ ์๋ํ๋ค.
โข
HTTP๋ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ Stateless ํ๋กํ ์ฝ์ด๋ฉฐ, Method, Path, Version, Headers, Body ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
ย HTTP ๋จ์
โข
HTTP๋ ์ํธํ๊ฐ ๋์ง ์์ ํ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ๋กํ ์ฝ์ด์๊ธฐ ๋๋ฌธ์, HTTP๋ก ๋น๋ฐ๋ฒํธ๋ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ ๋ฑ์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด ์ 3์๊ฐ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ย HTTPS (Hypertext Transfer Protocol Secure)
HTTP์ ๋ฐ์ดํฐ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด๋ค (SSL)
HTTPS๋ HTTP์ ๋ค๋ฅด๊ฒ 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋คํธ์ํฌ ์์์ ์ค๊ฐ์ ์ 3์๊ฐ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋๋ก ์ํธํ๋ฅผ ์ง์ํ๊ณ ์๋ค.
ย SSL (Secure Sockets Layer) ์ด๋?
โข
SSL (Secure Sockets Layer)์ ์ํธํ ๊ธฐ๋ฐ ์ธํฐ๋ท ๋ณด์ ํ๋กํ ์ฝ์ด๋ค.
โข
์ธํฐ๋ท ํต์ ์ ๊ฐ์ธ์ ๋ณด๋ณดํธ, ์ธ์ฆ, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด Netscape๊ฐ 1995๋
์ฒ์์ผ๋ก ๊ฐ๋ฐํ๋ค.
โข
SSL์ ํ์ฌ ์ฌ์ฉ ์ค์ธ TLS ์ํธํ์ ์ ์ .
โข
TLS ๋?
โฆ
์ ์ก ๊ณ์ธต ๋ณด์ (Transport Layer Security, TLS)
โฆ
TLS๋ ๊ฐ์ฅ ์ต์ ๊ธฐ์ ๋ก ๋ ๊ฐ๋ ฅํ ๋ฒ์ ์ SSL์ด๋ค.
โฆ
๊ทธ๋ฌ๋ SSL์ด ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ฉ์ด๋ผ์, ์ฌ์ ํ ๋ณด์ ์ธ์ฆ์๋ SSL์ด๋ผ ๋ถ๋ฆฐ๋ค.
โฆ
์๋๋ฉด โSSL/TLS ์ํธํโ ์ด๋ ๊ฒ ํ๊ธฐํ๋ค.
ย SSL ์๋ ๋ฐฉ์
โข
SSL์ ๋ฐ๋ก ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์ ์ ์ด์ฉํด์ ๋ฌธ์๋ฅผ ๋ณด์ํ๋ค.
โข
์ด ๋ฐฉ์์ ํต์ฌ์ ๋ฐ๋ก ๊ณต๊ฐํค์ ๊ฐ์ธํค๊ฐ ์๋ ๊ฒ์ธ๋ฐ,
โข
๊ณต๊ฐํค ๋ ๋๊ตฌ์๊ฒ๋ ๊ณต๊ฐ๋์ด โ๋ชจ๋๊ฐ ์ ๊ทผ์ด ๊ฐ๋ฅํ ํคโ ์ด๊ณ ,
โข
๊ฐ์ธํค ๋ ๋ฑ ํ ์ฌ๋๋ง์ด ์์ ํด โ๋ณธ์ธ์ ์ ์ธํ ๋๊ตฌ๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ํคโ ์ด๋ค.
ย SSL ํ๋ฆ
1.
์๋ฒ๋ ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ๋ง๋ ๋ค.
2.
๋ฏฟ์๋งํ ์ ์ฅ์(CA)์ ๊ณ์ฝํด ๋ ํค๋ฅผ ๊ด๋ฆฌํ๋๋ก ํ๋ค.
โข
CA : Certificate Authority๋ก, ๊ณต๊ฐํค๋ฅผ ์ ์ฅํด์ฃผ๋ ์ ๋ขฐ์ฑ์ด ๊ฒ์ฆ๋ ๋ฏผ๊ฐ๊ธฐ์
3.
CA๋ ์์ ๋ง์ ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ๊ฐ์ง๊ณ ์์ฒด ์ํธํ๋ฅผ ํ์ฌ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ค.
4.
ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ ์์ฒญ์ด ๋ค์ด์ค๋ฉด, ์๋ฒ๋ CA์์ ๋ง๋ SSL ์ธ์ฆ์๋ฅผ ๋ณด๋ด์ค๋ค.
5.
ํด๋ผ์ด์ธํธ๋ CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ํธํํด์ ์ธ์ฆ์๋ฅผ ์๋ฒ์๊ฒ ๋ณด๋ธ๋ค.
6.
์๋ฒ๋ ๊ฐ์ธํค๋ก ์ํธํ๋ ์ธ์ฆ์๋ฅผ ๋ณตํธํ(์ํธ ํด๋
)ํ๊ณ ๋ค์ ์ํธํํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค.
ย HTTPS ํ๋ฆ
1.
์๋ฒ(A)๋ฅผ ๋ง๋๋ ๊ธฐ์
์ HTTPS๋ฅผ ์ํด ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ๋ง๋ ๋ค.
2.
์ ๋ขฐํ ์ ์๋ CA ๊ธฐ์
์๊ฒ ์๋ฒ ๊ณต๊ฐํค ๊ด๋ฆฌ๋ฅผ ๋ถํํ๋ฉฐ ๊ณ์ฝ์ ํ๋ค.
3.
๊ณ์ฝ ์๋ฃ๋ CA ๊ธฐ์
์ A๊ธฐ์
์ ์ด๋ฆ, A์๋ฒ ๊ณต๊ฐํค, ๊ณต๊ฐํค ์ํธํ ๋ฐฉ๋ฒ์ ๋ด์ ์ธ์ฆ์๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์ธ์ฆ์๋ฅผ CA ๊ธฐ์
์ ๊ฐ์ธํค๋ก ์ํธํํด์ A์๋ฒ์๊ฒ ์ ๊ณตํ๋ค.
4.
A์๋ฒ๋ ์ํธํ๋ ์ธ์ฆ์๋ฅผ ๊ฐ๊ฒ ๋๊ณ , A์๋ฒ์ ๊ณต๊ฐํค๋ก ์ํธํ๋ HTTPS ์์ฒญ์ด ์๋ ์์ฒญ์ด ์ค๋ฉด, ์ํธํ๋ ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ค๋ค.
5.
ํด๋ผ์ด์ธํธ ์
์ฅ์์, A์๋ฒ๋ก example.exe ํ์ผ ์กฐํ๋ฅผ ์์ฒญํ๋ค. HTTPS ์์ฒญ์ด ์๋๊ธฐ ๋๋ฌธ์, CA๊ธฐ์
์ด A์๋ฒ์ ์ ๋ณด๋ฅผ CA๊ธฐ์
์ ๊ฐ์ธํค๋ก ์ํธํํ ์ธ์ฆ์๋ฅผ ๋ฐ๊ฒ๋๋ค.
6.
CA๊ธฐ์
์ ๊ณต๊ฐํค๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฏธ ์๊ณ ์๋ค (์ธ๊ณ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ๊ธฐ์
์ผ๋ก ๋ฑ๋ก๋์ด ์๊ธฐ ๋๋ฌธ์, ๋ธ๋ผ์ฐ์ ๊ฐ ์ธ์ฆ์๋ฅผ ํ์ํ์ฌ ํด๋
์ด ๊ฐ๋ฅํ ๊ฒ)
7.
๋ธ๋ผ์ฐ์ ๋ ํด๋
ํ ๋ค, A์๋ฒ์ ๊ณต๊ฐํค๋ฅผ ์ป๊ฒ ๋์๋ค.
8.
์ด์ A์๋ฒ์ ํต์ ํ ๋๋, A์๋ฒ์ ๊ณต๊ฐํค๋ก ์ํธํํด์ ์์ฒญ์ ๋ ๋ฆฌ๊ฒ ๋๋ค.
ย HTTPS ๋ค๋ฅธ ์ฅ์
โข
๊ฒ์ ์์ง ์ต์ ํ(SEO)์ ์์ด์๋ ํฐ ํํ์ ๋ณผ ์ ์๋ค.
โฆ
๊ตฌ๊ธ์์๋ HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น์ฌ์ดํธ์ ๋ํด์ ๊ฒ์ ์์ ๊ฒฐ๊ณผ์ ์ฝ๊ฐ์ ๊ฐ์ฐ์ ์ ์ฃผ๊ฒ ๋ค๊ณ ๋ฐํ
โข
๊ฐ์ํ๋ ๋ชจ๋ฐ์ผ ํ์ด์ง(AMP, Accelerated Mobile Pages)๋ฅผ ๋ง๋ค ์ ์๋ค.
โฆ
AMP๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ HTTPS ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ผ๋ง ํ๋ค.