๐กHTTP๋?
- HTTP๋ HyperTextTransferProtocol์ ์ฝ์๋ก ํ์ดํผํ ์คํธ ๋ฌธ์๋ฅผ ๊ตํํ๊ธฐ ์ํ์ฌ ์ฌ์ฉ๋ ํต์ ๊ท์ฝ์ด๋ค.
- ์น ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ํต์ ์ ํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ด๋ค.
- HTTP๋ 1989๋ ํ ๋ฒ๋์ค ๋ฆฌ์ ์ํด ์ฒ์ ์ค๊ณ๋์ด ์ธํฐ๋ท์ ํตํ ์๋ ์์ด๋ ์น ๊ธฐ๋ฐ์์ ์ ์ธ๊ณ์ ์ธ ์ ๋ณด ๊ณต์ ๋ฅผ ์ด๋ฃจ๋๋ฐ ํฐ ์ญํ ์ ํ๋ค.
- HTTP๋ ์น์์๋ง ์ฌ์ฉํ๋ ํ๋กํ ์ฝ๋ก TCP/IP๊ธฐ๋ฐ์ผ๋ก ํ ์ง์ ์์ ๋ค๋ฅธ์ง์ (์๋ฒ์ ํด๋ผ์ด์ธํธ)์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ์ ์กํ๋ค.
๐กHTTP์ ํน์ง
- HTTP ๋ฉ์์ง๋ HTTP ์๋ฒ์ HTTP ํด๋ผ์ด์ธํธ์ ์ํด์ ํด์์ด ๋๋ค.
- TCP/IP๋ฅผ ์ด์ฉํ๋ ์์ฉ ํ๋กํ ์ฝ(application protocol)์ ๋๋ค.HTTP๋ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํ์ง ์๋ ๋น์ฐ๊ฒฐ์ฑ ํ๋กํ ์ฝ์ด๋ค. (์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด Cookie์ Seesion ๋ฑ์ฅ)
- HTTP๋ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ ์์ฒญ/์๋ต(request/response) ๋ฐฉ์์ผ๋ก ๋์ํ๋ค.
ํด๋ผ์ด์ธํธ(client) ์ฆ, ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์ด๋ ํ ์๋น์ค๋ฅผ url์ ํตํ๊ฑฐ๋ ๋ค๋ฅธ ๊ฒ์ ํตํด์ ์์ฒญ(request)์ ํ๋ฉด ์๋ฒ์์๋ ํด๋น ์์ฒญ์ฌํญ์ ๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์์ ์ฌ์ฉ์์๊ฒ ์๋ต(response)ํ๋ ํํ๋ก ๋์ํ๋ค.
- ์์ฒญ : client -> server
- ์๋ต : server -> client
๐กHTTPS๋?
HyperText Transfer Protocol over (SSL)Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure ๋ฑ์ผ๋ก ๋ถ๋ฆฌ๋ HTTPS๋ HTTP์ ๋ฐ์ดํฐ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด๋ค. HTTPS๋ HTTP์ ๋ค๋ฅด๊ฒ 433๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋คํธ์ํฌ ์์์ ์ค๊ฐ์ ์ 3์๊ฐ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋๋ก ๊ณต๊ฐํค ์ํธํ๋ฅผ ์ง์ํ๊ณ ์๋ค.
HTTPS๋ TCP์์ ๋์ธ ๋ณด์๊ณ์ธต(SSL)์์ HTTP์ด๋ค
๊ณต๊ฐํค/๊ฐ์ธํค
HTTPS๋ ๊ณต๊ฐํค/๊ฐ์ธํค ์ํธํ ๋ฐฉ์์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ํธํ ํ๋ค.๊ณต๊ฐํค์ ์์ธํค๋ ์๋ก๋ฅผ ์ํ 1์์ ํค์ด๋ค.
- ๊ณต๊ฐํค : ๋ชจ๋์๊ฒ ๊ณต๊ฐ๊ฐ๋ฅํ ํค
- ๊ฐ์ธํค : ๋๋ง ๊ฐ์ง๊ณ ์๊ณ ์์ด์ผํ๋ ํค
๊ณต๊ฐํค์ ๊ฐ์ธํค๋ก ์ํธํํ๋ฉด ์ป์์ ์๋ ํจ๊ณผ
- ๊ณต๊ฐํค ์ํธํ : ๊ณต๊ฐํค๋ก ์ํธํ๋ฅผ ํ๋ฉด ๊ฐ์ธํค๋ก๋ง ๋ณตํธํ๋ฅผ ํ ์ ์๋ค. => ๊ฐ์ธํค๋ ๋๋ง ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก, ๋๋ง ๋ณผ ์ ์๋ค.
- ๊ฐ์ธํค ์ํธํ : ๊ฐ์ธํค๋ก ์ํธํํ๋ฉด ๊ณต๊ฐํค๋ก ๋ณตํธํ๋ฅผ ํ ์ ์๋ค. =>๊ณต๊ฐํค๋ ๋ชจ๋์๊ฒ ๊ณต๊ฐ๋์ด ์์ผ๋ฏ๋ก, ๋ด๊ฐ ์ธ์ฆํ ์ ๋ณด์์ ์๋ ค ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ ์ ์๋ค.
SSL(Secure Socket Layer)?
SSL ๋์งํธ ์ธ์ฆ์ =>ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ํต์ ์ ๊ณต์ธ๋ ์ 3์์ ์ฒด๊ฐ ๋ณด์ฆํด์ฃผ๋ ์ ์ํ๋ ๋ฌธ์์ด๋ค.
SSL ๋์งํธ ์ธ์ฆ์์ ์ฅ์
- ํต์ ๋ด์ฉ์ด ๋ ธ์ถ, ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ๋ ค๋ ์๋ฒ๊ฐ ์ ๋ขฐ ํ ์ ์๋ ์๋ฒ์ธ์ง ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
- SSL ํต์ ์ ์ฌ์ฉํ ๊ณต๊ฐํค๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ค.
SSL์์ ์ฌ์ฉํ๋ ์ํธํ์ ์ข ๋ฅ
- ์ํธ : ํ ์คํธ๋ฅผ ์๋ฌด๋ ์ฝ์ง ๋ชปํ๋๋ก ์ธ์ฝ๋ฉํ๋ ์๊ณ ๋ฆฌ์ฆ
- ํค : ์ํธ์ ๋์์ ๋ณ๊ฒฝํ๋ ๋งค๊ฐ๋ณ์, ํค์ ๋ฐ๋ผ์ ์ํธํ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ํค๋ฅผ ๋ชจ๋ฅด๋ฉด ๋ณตํธํ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
CA : https://ko.wikipedia.org/wiki/์ธ์ฆ_๊ธฐ๊ด
์ธ์ฆ์ ๋ด์ฉ
- ์ธ์ฆ์์ ๋ด์ฉ์ CA์ ๋น๊ณต๊ฐ ํค๋ฅผ ์ด์ฉํด์ ์ํธํ ๋์ด ์น๋ธ๋ผ์ฐ์ ์๊ฒ ์ ๊ณต๋๋ค.
- ์๋น์ค ์ ๋ณด (์ธ์ฆ์ ๋ฐ๊ธ์, CA์ ๋์งํธ ์๋ช ,์๋น์ค ๋๋ฉ์ธ)
- ์๋ฒ์ธก ๊ณต๊ฐํค
SSL ์ธ์ฆ์์ ์๋น์ค ๋ณด์ฆ๋ฐฉ๋ฒ
- ์น๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์ ์ํ๋ฉด ์๋ฒ๋ ์ ์ผ ๋จผ์ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ CA๊ฐ ์์ ์ด ๊ฐ๊ณ ์๋ CA ๋ฆฌ์คํธ์ ์๋์ง ํ์ธํ๋ค.
- ๋ฆฌ์คํธ์ ์๋ค๋ฉด ํด๋น CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ณตํธํ ํ๋ค.
- ์ธ์ฆ์๋ฅผ ๋ณตํธํ ํ ์ ์๋ค๋ ๊ฒ์ ์ด ์ธ์ฆ์๊ฐ CA์ ๋น๊ณต๊ฐํค์ ์ํด์ ์ํธํ ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์ฌ๋์ ์ ์์ ๋ณด์ฅํด์ฃผ๊ฒ ๋๋ ๊ฒ์ด๋ค.
SSL ๋์๋ฐฉ๋ฒ
- ๊ณต๊ฐํค ์ํธ ๋ฐฉ์์ ์๊ณ ๋ฆฌ์ฆ ๊ณ์ฐ๋ฐฉ์์ด ๋๋ฆฐ ๊ฒฝํฅ์ด ์๋ค.
- ๋ฐ๋ผ์ SSL์ ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด์ ๊ณต๊ฐํค์ ๋์นญํค ์ํธํ ๋ฐฉ์์ ํผํฉํ์ฌ ์ฌ์ฉํ๋ค.
- ์์ ํ ์์ฌ์ํต ์ฑ๋์ ์๋ฆฝํ ๋๋ ๊ณต๊ฐํค ์ํธ๋ฅผ ์ฌ์ฉํ๊ณ , ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ์์ ํ ์ฑ๋์ ํตํด์ ์์์ ๋ฌด์์ ๋์นญํค๋ฅผ ์์ฑ ๋ฐ ๊ตํํ๋ค. ํด๋น ๋์นญํค๋ ๋๋จธ์ง ๋ฐ์ดํฐ ์ํธํ์ ํ์ฉํ๋ค.
SSL ํต์ ๊ณผ์
- ์ปดํจํฐ์ ์ปดํจํฐ๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด์ ํต์ ์ ํ ๋ ํธ๋์์ดํฌ -> ์ธ์ -> ์ธ์ ์ข ๋ฃ ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ์ํธํ๋ HTTP ๋ฉ์์ง๋ฅผ ๊ตํํ๊ธฐ ์ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ SSL ํธ๋์์ดํฌ๋ฅผ ์งํํ๋ค.
๐ก HTTP์ HTTPS
HTTP๋ ์ํธํ๊ฐ ์ถ๊ฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ทจ์ฝํ ๋ฐ๋ฉด, HTTPS๋ ์์ ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. ํ์ง๋ง HTTPS๋ฅผ ์ด์ฉํ๋ฉด ์ํธํ/๋ณตํธํ์ ๊ณผ์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ HTTP๋ณด๋ค ์๋๊ฐ ๋๋ฆฌ๋ค.๋ํ HTTPS๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๊ณ ์ ์งํ๊ธฐ ์ํ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
๊ฐ์ธ ์ ๋ณด์ ๊ฐ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ค๋ฉด HTTPS๋ฅผ ์ด์ฉํด์ผ ํ์ง๋ง, ๋จ์ํ ์ ๋ณด ์กฐํ ๋ฑ๋ง์ ์ฒ๋ฆฌํ๊ณ ์๋ค๋ฉด HTTP๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
REPERENCE
'Dev > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Web] REST API ์ HTTP API (0) | 2022.01.04 |
---|---|
HTTP ๋ฉ์๋(GET,POST,PUT,PATCH,DELETE) (1) | 2021.07.12 |
[Network]HTTP ์ํ์ฝ๋ (0) | 2021.05.23 |