HTTP (HyperText Transfer Protocol)
HTTP๋?
ํ ์คํธ ๊ธฐ๋ฐ์ ํต์ ๊ท์ฝ์ผ๋ก ์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ท์น
์ธํฐ๋ท ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํต์ ๊ท์ฝ
- HTTP๋ ํ ์คํธ ๊ธฐ๋ฐ์ ํต์ ๊ท์ฝ์ด๋ฏ๋ก, ๋๊ตฐ๊ฐ ๋คํธ์ํฌ์์ ์ ํธ๋ฅผ ๊ฐ๋ก์ฑ๋ฉด ๋ด์ฉ์ด ๋ ธ์ถ๋๋ ๋ณด์ ์ด์๊ฐ ์กด์ฌํจ
- ์ด๋ฌํ ์ด์ ๋๋ฌธ์ HTTPS ํ๋กํ ์ฝ์ด ๋ฑ์ฅํ๊ฒ ๋จ
HTTPS (HyperText Transfer Protocol Secure)
HTTPS๋?
์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ํธํํ๋ SSL ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํต์ ๊ท์ฝ
HTTPS๋ ํ ์คํธ๋ฅผ ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์์ผ๋ก ์ํธํํจ
์ํธํ ๊ณผ์ ์ผ๋ก ์ธํ ์๋ ์ ํ๊ฐ ๋ฐ์ํ๋ค
๋์นญํค
๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ชฝ๊ณผ ๋ฉ์์ง๋ฅผ ๋ฐ๋ ์ชฝ์ด ์ํธํ, ๋ณตํธํ ๋ฐฉ์์ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ. ๋ค์ ๋งํ๋ฉด ์๋ก ๋์ผํ ํค๊ฐ์ ์๊ณ ์๋ ์ํ๋ก ๋ฐ์ ํ๋ ์ชฝ์ด ํค๊ฐ์ ์ด์ฉํ์ฌ ์ํธํํ๋ฉด ์์ ํ๋ ์ชฝ์ ๋ฐ์ ์ชฝ์ด ์ฌ์ฉํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋๋ก ๋๋ ค ๋ณตํธํ๋ฅผ ์งํํ๋ค.
๋น๋์นญํค(๊ณต๊ฐํค)
ํค ๋๊ฐ๊ฐ ์ฌ์ฉ๋๋ ๋ฐฉ์, A์ B ํค ๋๊ฐ๊ฐ ์กด์ฌํ๋ฉด Aํค๋ก ์ํธํํ๋ฉด Bํค๋ก๋ง ๋ณตํธํํ ์ ์๊ณ Bํค๋ก ์ํธํํ๋ฉด Aํค๋ก๋ง ๋ณตํธํํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ํฌํธ ์๋ฒ๋ ์์ ์ ๊ฐ์ธํค๋ฅผ ๋ณด๊ดํ๊ณ ๊ณต๊ฐํค๋ฅผ ๋์ค์๊ฒ ๊ณต๊ฐํค๋ฅผ ๊ณต๊ฐํ๋ค. ์ฌ์ฉ์๋ ๊ณต๊ฐํค๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ํฌํธ ์๋ฒ์ ์ ๋ฌํ๋ค. ์ด ๋ฐ์ดํฐ๊ฐ ํดํน๋นํ๋๋ผ๋ ํฌํธ ์๋ฒ๋ง ๋ณตํธํํ ์ ์๊ธฐ ๋๋ฌธ์ ํธ๋ฆด ์ฐ๋ ค๊ฐ ์ ๋ค. ํฌํธ ์๋ฒ๊ฐ ์ฌ์ฉ์๋ค์๊ฒ ๋ณด๋ด๋ ๋ฐ์ดํฐ๋ ํฌํธ ์๋ฒ์ ๊ฐ์ธํค๋ก ์ํธํ๊ฐ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐํค๋ก๋ง ๋ณตํธํํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ์๋ฒ๋ก๋ถํฐ ์ค๋ ์์ฒญ์ ํฌํธ ์๋ฒ์ ๊ณต๊ฐํค๋ก ๋ณตํธํํ๊ฒ ๋๋ฉด ๋ณตํธํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ์์ฒญ์ ๋ฐฉ์งํ ์ ์๋ค.
CA ๋?
Certificate Authority์ ์ฝ์, ๊ณต๊ฐํค๋ฅผ ์ ์ฅํด์ฃผ๋ ๊ฒ์ฆ๋ ๋ฏผ๊ฐ๊ธฐ์ ์ ์๋ฏธ, ๋ง์ฝ ๊ฒ์ฆ๋์ง ์์ CA ๊ธฐ์ ์์ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์์ ์์ ํ์ง ์์ ์ฌ์ดํธ, ์ฃผ์ ์ํจ๊ณผ ๊ฐ์ ์๋ฆผ์ผ๋ก ์ฃผ์๋ฅผ ๋ฐ๊ฒ ๋๋ค. ๋ธ๋ผ์ฐ์ ์๋ ์ด๋ฏธ CA ๊ธฐ์ ์ธ์ฆ์๊ฐ ์ด๋ฏธ ๋ด์ฅ๋์ด ์๋ค.
HTTPS ๋ก์ง
1. ํด๋ผ์ด์ธํธ๊ฐ ๋ฌด์์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์๊ฒ ์ ๋ฌ
2. ์๋ฒ๋ ๋ฌด์์ ๋ฐ์ดํฐ์ ํด๋น ์๋ฒ์ ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ
3. ํด๋ผ์ด์ธํธ๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ CA๋ค์ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆ์๊ฐ ์ง์ง์ธ์ง ํ์ธํ๋ค.
3-1. ์ด๋ ๋น๋์นญํค๋ฅผ ํ์ฉํ๋๋ฐ CA์ ์ธ์ฆ์ ๋ฐ์ ์ธ์ฆ์๋ค์ CA์ ๊ฐ์ธํค๋ก ์ํธํ๊ฐ ๋์ด์๋ค.
3-2. ๋ธ๋ผ์ฐ์ ์ ์กด์ฌํ๋ ๊ณต๊ฐํค๋ฅผ ํ์ฉํ์ฌ ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ์ง ํ์ธํ๊ณ , ๋ณตํธํ ํ๋ค.
4. ์ธ์ฆ์๊ฐ ํ์ธ ๋ํ ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ๋น๋์นญํค ๋ฐฉ์๊ณผ ๋์นญํค ๋ฐฉ์์ ์ ์ ํ ํ์ฉํ์ฌ ํต์ ํ๋ค. (์ค๋ฒํค๋ ๋๋ฌธ)
4-1. ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ๋์นญํค ๋ฐฉ์์ ์ด์ฉํ์ฌ ์ํธํ, ๋ณตํธํ ํ๋ค.
4-2. ํด๋ผ์ด์ธํธ๋ ๋งจ ์ฒ์ ์ฃผ๊ณ ๋ฐ์ ๋ฐ์ดํฐ ๋๊ฐ๋ฅผ ํผํฉํ์ฌ ์์ํค๋ฅผ ๋ง๋ ํ ์๋ฒ์ ๊ณต๊ฐํค๋ก ์ํธํํ์ฌ ์๋ฒ์๊ฒ ์ ๋ฌํ๋ค.
4-3. ์์ชฝ์์์ ์ผ๋ จ์ ๊ณผ์ ์ ๊ฑฐ์ณ ๋์ผํ ๋์นญํค๊ฐ ๋ง๋ค์ด์ง๋ค. -> ์ด ๋์นญํค๋ ๋๋ง ์๊ณ ์๊ธฐ ๋๋ฌธ์ ํธ๋ฆด ์ฐ๋ ค๊ฐ ์ ๋ค.
Reference
https://github.com/gyoogle/tech-interview-for-developer
gyoogle/tech-interview-for-developer
๐ถ๐ป ์ ์ ๊ฐ๋ฐ์ ์ ๊ณต ์ง์ & ๊ธฐ์ ๋ฉด์ ๋ฐฑ๊ณผ์ฌ์ ๐. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.
github.com
https://velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
HTTP๋ ๋ฌด์์ธ๊ฐ?
HTTP (HyperText Transfer Protocol) ํ ์คํธ ๊ธฐ๋ฐ์ ํต์ ๊ท์ฝ์ผ๋ก ์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ด๋ค. ์ด๋ ๊ฒ ๊ท์ฝ์ ์ ํด๋์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ์ด ๊ท์ฝ์ ๋ง์ถฐ ๊ฐ๋ฐํด์ ์๋ก ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๊ฒ ๋์๋ค. HTTP ๋์ ํด๋ผ์ด์ธํธ ์ฆ, ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์ด๋ ํ ์๋น์ค๋ฅผ url์ ํตํ๊ฑฐ๋ ๋ค๋ฅธ ๊ฒ์...
velog.io