HTTP ๋?
- http๋ Hyper Text Transfer Protocol์ ์ฝ์๋ก ์น์์ ์์ฒญ๊ณผ ์๋ต์ ํํ๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ ๋๋ค.
- TCP ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ฉฐ ๋น์ฐ๊ฒฐ์ฑ, ๋น์ํ์ฑ ํน์ง์ ๊ฐ์ง๋๋ค.
- ์ด๋ก ์ธํด ๋ง์ ์ค์ ๋์ ์ ์์ ์ต์ํํ์ฌ ๋ ๋ง์ ์ ์ ์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
- ๋น์ฐ๊ฒฐ์ฑ, ๋น์ํ์ฑ ํน์ง ๋๋ฌธ์ ์ฌ์ฉ์์ ์ด์ ์ํ(๋ก๊ทธ์ธ ์ ๋ฌด ๋ฑ)๋ฅผ ์ ์ ์์ด ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด
์ฟ ํค, ์ธ์ , JWT ๋ฑ์ด ๋์ ๋์์ต๋๋ค.
- ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก request message ๋ณด๋ด๊ณ ์๋ฒ์๊ฒ response message๋ฅผ ๋ฐ๋ ํํ์
๋๋ค.
- request message: startline(method, path, http version), header, body๋ก ๊ตฌ์ฑ
- response message: statusline(status code, status message, http version), header, body๋ก ๊ตฌ์ฑ
HTTP status code
- HTTP status code๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ HTTP์ ์๋ฒ์ ์๋ต ์ฝ๋๋ก, ์ํ ์ฝ๋๋ฅผ ํตํด ์์ฒญ์ ์ฑ๊ด๊ณผ ์คํจ๋ฅผ ํ๋จํ ์ ์์ต๋๋ค.
- 100๋ถํฐ ~ 500๋ฒ๋ ๊น์ง ์ด 5๊ฐ์ง์ ํด๋์ค๋ก ๊ตฌ๋ถ๋์ด ์์ผ๋ฉฐ ์์ฒญ์ ๋ํ ์ํ๋ฅผ ์๋ ค์ค๋๋ค.
- ์น ๊ฐ๋ฐ ์ ์ํฉ์ ๋ง๋ ์๋ต ์ฝ๋๋ฅผ response์ ๋ด์์ ํด๋ผ์ด์ธํธ์ ๋๊ฒจ์ฃผ๋ฉฐ ์ด๋ฅผ ํ ๋๋ก ํด๋ผ์ด์ธํธ๋ ์๋ง์ ๋์์ ํ ์ ์์ต๋๋ค.
status code
- 1xx: ์์ฒญ์ ์๋ฃํ๊ณ ์์ ์ ๊ณ์ํฉ๋๋ค.
- 2xx: ์์ฒญ์ ์ฑ๊ณต ์ ์ผ๋ก ์ฒ๋ฆฌํ์์ต๋๋ค.
- 200: ์์ฒญ์ ์ฑ๊ณต (ex: ์กฐํ ์ฑ๊ณต)
- 201: ๋ฐ์ดํฐ ์์ฑ์ ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ (ex: ํ์๊ฐ์ ์ฑ๊ณต, ๊ฒ์๋ฌผ ์์ฑ ์ฑ๊ณต)
- 3xx: ์์ฒญ์ ์ถ๊ฐ์ ์ธ ์์ ์ด ํ์ํฉ๋๋ค.
- 4xx: ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค
- 400: ๋ฐ์ดํฐ ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์ ๋
- 401: ์ธ์ฆ์ด ๋์ง ์์ ์ํ์์ ์ธ์ฆ์ด ํ์ํ ๋ฆฌ์์ค์ ์ ๊ทผํ์ ๋
- 403: ์ธ์ฆ์ ๋์์ง๋ง ๊ถํ์ด ์๋ ๋ฆฌ์์ค์ ์ ๊ทผํ์ ๋
- 404: ์กด์ฌํ์ง ์๋ route์ ์์ฒญํ์ ๋
- 5xx: ์๋ฒ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
HTTPS ๋?
๋ณด์ ์์ผ ๊ณ์ธต SSL/TSL์ ์ฌ์ฉํ HTTP๋ฅผ HTTPS๋ผ๊ณ ํฉ๋๋ค.
HTTP๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ํ ์คํธ ํํ ๊ทธ๋๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ๋๋ฌธ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ ๊ฒฝ์ฐ ์ด ์ ๋ณด๋ฅผ ํ์ทจํ๋ค๋ฉด ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์๋ณธ ๊ทธ๋๋ก ๋ณผ ์ ์๋ ๋จ์ ์ด ์์ต๋๋ค.
ํ์ง๋ง ๋ณด์ ์์ผ ๊ณ์ธต SSL/TLS์ ์ฌ์ฉํ HTTPS๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฃผ๊ณ ๋ฐ๋ http message์ body ์ ๋ณด๋ค์ด ์ํธํ๋์ด ์ค๊ฐ์ ๋๊ตฐ๊ฐ ํ์ทจํ๋ค ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์์๋ณผ ์ ์์ต๋๋ค. ๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ผ๋ก๋ถํฐ ๊ฒ์ฆ๋ ์ฌ์ดํธ๋ง https๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์์ ํ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ HTTPS๋ฅผ ์ฌ์ฉํ๋ ํ์ฌ ๋ณด์์ฑ์ ํ๋ณดํด์ผ ํฉ๋๋ค.
SSL/TLS
- TLS๋ SSL์ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์ผ๋ก ์ผ๋ฐ์ ์ผ๋ก ๋ ๋จ์ด๋ฅผ ๋์ผํ ์๋ฏธ๋ก ์ฌ์ฉํฉ๋๋ค.
- SSL์ ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ์ ๋ณด์์ ์ํด ๋ง๋ ํ๋กํ ์ฝ์ ๋๋ค.
- ๋์นญํค ๋ฐฉ์๊ณผ ๊ณต๊ฐํค(๋น๋์นญํค) ๋ฐฉ์์ ํผํฉํด์ ์ฌ์ฉํฉ๋๋ค.
- ๋์นญํค: ์์ชฝ์์ ์ํธํ๋ฅผ ๊ฐ์ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
- ๋์นญํค: ๋ฐ์ดํฐ ์ํธํ, ๋ณตํธํ ์ ์ฌ์ฉํฉ๋๋ค.
- ๋์นญํค ํ๋๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋์นญํค๋ฅผ ํ์ทจ๋นํ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค.
- ๊ณต๊ฐํค(๋น๋์นญํค): ์์ชฝ์์ ์๋ก ๋ค๋ฅธ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
- ๊ณต๊ฐํค: ๋ฐ์ดํฐ ์ํธํ ์ ์ฌ์ฉํฉ๋๋ค.
- ๊ฐ์ธํค: ๋ฐ์ดํฐ ๋ณตํธํ ์ ์ฌ์ฉํฉ๋๋ค.
- ๊ณต๊ฐํค๋ก ์ํธํํ ๋ฐ์ดํฐ๋ ๊ฐ์ธํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐํค๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์์ ํฉ๋๋ค.
- ๊ณต๊ฐํค ๋ฐฉ์์ด ์ข์๋ฐ๋ ํผํฉํด์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
- ๊ณต๊ฐํค ๋ฐฉ์๋ง์ด ๋์นญํค ๋ฐฉ์๋ณด๋ค ์ํธํ ์ฐ์ฐ์ด ๋ง์ด ์๋น๋์ด ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. ๋๋ฌธ์ ๊ณต๊ฐํค๋ฅผ ํ์ฉํ ๋์นญํค๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํต์ ํ ์ ์๋๋ก ํผํฉํ์ฌ ์ฌ์ฉํฉ๋๋ค.
- ๋์นญํค: ์์ชฝ์์ ์ํธํ๋ฅผ ๊ฐ์ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
SSL ์ธ์ฆ์ / CA
SSL ์ธ์ฆ์
- ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ ๋ณด์ฅํฉ๋๋ค.
- SSL ํต์ ์ ์ฌ์ฉํ ๊ณต๊ฐํค๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํฉ๋๋ค.
CA(Certificate Authority)
- ์ธ์ฆ์ ์ญํ ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ์๋ํ ์๋ฒ๊ฐ ๋ง๋์ง๋ฅผ ๋ณด์ฅํ๋ ์ญํ ์ ํฉ๋๋ค.
- ์ ๋ขฐ์ฑ์ด ์๊ฒฉํ๊ฒ ๊ณต์ธ๋ ๊ธฐ์ ๋ค๋ง ์ฐธ์ฌํ ์ ์์ต๋๋ค.
์๋์ ์ค๋ช ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ธ ๊ฒ์ ๋๋ค.
- ์๋ฒ๋ ์ฌ์ดํธ ์ ๋ณด์ ์์ ์ ๊ณต๊ฐํค๋ฅผ ์ธ์ฆ๊ธฐ๊ด์ ์ ๋ฌํฉ๋๋ค.
- ์ธ์ฆ๊ธฐ๊ด์์๋ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆ ํ ์์ ์ ๊ฐ์ธํค๋ก ์๋ช ํ ์ฌ์ดํธ ์ธ์ฆ์๋ฅผ ์๋ฒ์ ์ ๋ฌ ํฉํฉ๋๋ค.
- ์ธ์ฆ๊ธฐ๊ด์ ํด๋ผ์ด์ธํธ์ ์ธ์ ๊ธฐ๊ด ๊ณต๊ฐํค๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ด ๊ณต๊ฐํค๋ ๋ธ๋ผ์ฐ์ ์ ์๋์ผ๋ก ๋ด์ฅ๋ฉ๋๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ ์์ฒญ์ ์๋ํ๋ฉด ์๋ฒ๋ ์ฌ์ดํธ ์ธ์ฆ์๋ฅผ ์ ์กํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋์ด์๋ ์ธ์ฆ๊ธฐ๊ด ๊ณต๊ฐํค๋ก ์ฌ์ดํธ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ์ฌ ๊ฒ์ฆํ๊ณ ์๋ฒ ๊ณต๊ฐํค๋ฅผ ์ป์ต๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ์์ ์ ๋์นญํค๋ฅผ ์๋ฒ ๊ณต๊ฐํค๋ก ์ํธํํ์ฌ ์ํธํํ ๋์นญํค๋ฅผ ์๋ฒ์ ์ ์กํฉ๋๋ค.
- ์๋ฒ๋ ์ ๋ฌ๋ฐ์ ๋์นญํค๋ฅผ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํํ์ฌ ์ ๋ฌ๋ฐ์ ๋์นญํค๋ฅผ ์์๋ ๋๋ค.
์ด๋ ๊ฒ ๊ณต๊ฐํค๋ฅผ ํ์ฉํ ๋์นญํค๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํต์ ํ๊ฒ ๋ฉ๋๋ค.
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Process ๋? (0) | 2022.07.04 |
---|---|
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ ์ดํดํ๊ธฐ (0) | 2022.06.18 |