-
[Network] HTTP์ HTTPS (๋น์ฐ๊ฒฐ์ฑ๊ณผ ๋ฌด์ํ)๐ณDev/Dev 2022. 4. 21. 23:58
์ ๊ฐ ์ฐพ์ ์ฝ์ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ๊ณต๊ฐ์ ๋๋ค. ์ ํํ ์ ๋ณด๋ ํ๋จ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
1. HTTP, HyperText Transfer Protocol
HTTP ์ ์
- ์น์์ Server์ Client ์ฌ์ด์์ ์ด๋ฃจ์ด์ง๋ request/respnse ํ๋กํ ์ฝ
- ํ์ดํผ ๋งํฌ๋ก ์ฌ๋ฌ ํ์ด์ง๋ค์ด ์ฐ๊ฒฐ๋์ด ์๋ค
- TCP์ UDP๋ฅผ ์ฌ์ฉํ๊ณ , 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค
HTTP ํน์ง
- Server-Client(์๋ฒ-ํด๋ผ์ด์ธํธ)
- Connectionless(๋น์ฐ๊ฒฐ์ฑ) : ์ฐ๊ฒฐ์ ์ ์งํ์ง ์์ ๋น ๋ฅธ ์๋๋ก ์๋ต
- Stateless(๋ฌด์ํ) : ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค
- HTTP Message
- ๋จ์ํ๋ฉฐ ํ์ฅ ๊ฐ๋ฅ์ฑ
์ฐ๊ฒฐ์ฑ๊ณผ ๋น์ฐ๊ฒฐ์ฑ
- ์ฐ๊ฒฐ์ฑ
- TCP/IP์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ฒฐ์ ์ ์งํ๋ค
- ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด์ง ์์๋ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํ์ฌ ์์์ด ์๋ชจ๋๋ค
- ๋น์ฐ๊ฒฐ์ฑ
- HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ ๋๋ง ์ฐ๊ฒฐ์ ์ ์งํ๊ณ , ์๋ต์ด ๋๋๋ฉด TCP/IP ์ฐ๊ฒฐ์ ๋๋๋ค
- ์๋ก์ด ์์ฒญ์ด ๋ค์ด์ฌ ๋๋ง๋ค TCP/IP ์ฐ๊ฒฐ(3 way handshake)๋ฅผ ์งํํ๋ค
- ์นํ์ด์ง๋ฅผ ์์ฒญํ ๋, ์ฌ๋ฌ ์์๋ค์ ๊ฐ์ ธ์ค๋ ๋ฐ์ ์์ด ๋งค์ฐ ๋นํจ์จ์ ์ด๋ฏ๋ก ํ์ฌ๋ HTTP ์ง์ ์ฐ๊ฒฐ(Persistent Connections)๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค
- HTTP ์ง์ ์ฐ๊ฒฐ(Persistent Connections) : ๋ชจ๋ ์์์ ๋ํ ์๋ต์ด ๋์์ค๊ณ ์ฐ๊ฒฐ์ ๋๋ ๋ฐฉ์
์ํ ์ ์ง์ ๋ฌด์ํ
- ์ํ ์ ์ง
- ํญ์ ๊ฐ์ ์๋ฒ๊ฐ ์๋ต์ ์ค ์ ์๊ธฐ์, ์์ฒญ ์ค๊ฐ์ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ฒ์๋ถํฐ ๋ค์ ์๋ฒ์ ์์ฒญํ๋ค
- ๋ฌด์ํ
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์์, ์๋ฌด ์๋ฒ๋ ์๋ต์ด ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ์๋ฒ ํ์ฅ์ฑ์ด ์ข๋ค(์ค์ผ์ผ ์์)
- ์ํ๋ฅผ ๊ธฐ์ตํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ฟ ํค, ์ธ์ , ํ ํฐ ๊ธฐ๋ฐ OAuth, JWT์ ์ฌ์ฉํ๋ค
2. HTTPS, HyperText Transfer Protocol Secure
HTTPS ์ ์
- HTTP์ ๋ณด์์ด ๊ฐํ๋ ๋ฒ์ ์ ํ๋กํ ์ฝ
- TCP๋ก, 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค
- ์์ผ ํต์ ์์ ์ผ๋ฐ ํ
์คํธ๊ฐ ์๋, ์ ๋ณด๋ฅผ ์ํธํํ๊ธฐ ์ํด SSL์ด๋ TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค
- ๋ ํ๋กํ ์ฝ์ ์ฃผ์ ๋ชฉํ๋ ์๋์ ๊ฐ๋ค
- ๊ธฐ๋ฐ์ฑ(์ฌ์ํ ๋ณดํธ)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
- ID ๋ฐ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ธ์ฆ
- ๋ณดํธ์์์ค์ ์น ๋ธ๋ผ์ฐ์ ์์์ ๊ตฌํ ์ ํ๋์ ์๋ฒ ์ํํธ์จ์ด, ์ง์ํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌ๋ ค์๋ค.
- ๋ ํ๋กํ ์ฝ์ ์ฃผ์ ๋ชฉํ๋ ์๋์ ๊ฐ๋ค
HTTPS ์ ํ์์ฑ
- HTTP๋ก ์ฃผ๊ณ ๋ฐ๋ text ์ ๋ณด๋ฅผ ์ค๊ฐ์ ๋๊ฐ ๋ณผ ์ ์๋๋ก ์ํธํํ๊ธฐ ์ํด HTTPS๋ฅผ ์ฌ์ฉํ๋ค
HTTPS ์ ์๋ฆฌ
- ๋น๋์นญ๊ณผ ๋์นญ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค
- ๋์นญ ์๊ณ ๋ฆฌ์ฆ ๋ฐฉ์
- ์ํธํ์ ๋ณตํธํ์ ๋งค๋ฒ ๋๋ค์ผ๋ก ์ฃผ์ด์ง๋ ๊ฐ์ ํค๋ฅผ ์ฌ์ฉํ๋ค
- ๋น๋์นญ ์๊ณ ๋ฆฌ์ฆ ๋ฐฉ์
- ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ์ด์ฉํ ์ํธํ ๋ฐฉ๋ฒ
- ๊ณต๊ฐํค๋ ๋ชจ๋์๊ฒ ๊ณต๊ฐํ๋ฉฐ, ๊ฐ์ธํค๋ ๊ฐ์ธ(์๋ฒ)๋ง ๊ณต๊ฐํ๋ค
- ๊ณต๊ฐํค๋ก ์ํธํํ๋ฉด, ๊ฐ์ธํค๋ก ๋ณตํธํ = ๋๋ง ์ ๋ณด๋ฅผ ํ์ธ
- ๊ฐ์ธํค๋ก ์ํธํํ๋ฉด, ๊ณต๊ฐํค๋ก ๋ณตํธํ = ๋ด๊ฐ ์ธ์ฆํ ์ ๋ณด์์ ์๋ ค ์ ๋ขฐ์ฑ ๋ณด์ฅ
- Server-Client
- server์ ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์ ๋ณด๋ฅผ server์ ๊ณต๊ฐํค๋ก ์ํธํ ํ๋ค
- ์๋ฒ๋ก ์ ๋ณด๋ฅผ ์ ์กํ๋ค
- ์๋ฒ๋ ๋ณธ์ธ์ ๊ฐ์ธํค๋ก ๋ณตํธํํ์ฌ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค
- ๋์นญ ์๊ณ ๋ฆฌ์ฆ ๋ฐฉ์
HTTPS ์ ์ฅ๋จ์
์ฅ์
- ๋คํธ์ํฌ ์์์ ์ด๋๊ณผ ์์ ์ด ๋ถ๊ฐ๋ฅํด ์์ ํ๋ค
๋จ์
- ์ํธํ ๊ณผ์ ์ด ์๋ฒ์ ๋ถํ๋ฅผ ์ค๋ค
- HTTP๋ณด๋ค ๋๋ฆฌ๋ค(ํ์ง๋ง ์ค๋๋ ์ฐจ์ด๊ฐ ํฌ์ง ์๋ค)
- HTTPS ์ค์น ๋ฐ ์ธ์ฆ์๋ฅผ ์ ์งํ๋๋ฐ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ๋ค
- ์์ผ ์ฐ๊ฒฐ์ด๋ฏ๋ก, ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ฉด ์ฌ์ธ์ฆ์ด ํ์ํ๋ค
3. Reference
API, HTTP API, REST API ์ฐจ์ด
๊ธฐ์์ฒญ ๋ ์จ์ ๋ณด API, ์ฆ๊ถ API, ์ง๋ API ๋ฑ๋ฑ ๋ง์ฐํ๊ฒ API๋ ๋จ์ด๋ฅผ ๋ค์ด์๋ค. API๋ฅผ ๊ฐ์ ธ๋ค ์จ, API๋ก ๊ฐ๋ฐํ๋ค ๋ฑ๋ฑ ๊ฐ๋ ์ ์ ๋๋ก ๋ชจ๋ฅด๋ฉฐ ์ฌ์ฉ ํด์๊ธฐ์ ์ด๋ฒ์ API์ ๋ํด ๊ฐ๋ ์ ์ผ๋ก ์ ๋ฆฌํด๋ณด๊ณ
bentist.tistory.com
HTTP API vs REST API - ์ธํ๋ฐ | ์ง๋ฌธ & ๋ต๋ณ
HTTP API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฒ์ด REST API์ธ๊ฐ์? ๋ฌด์จ ์ฐจ์ด๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค. - ์ง๋ฌธ & ๋ต๋ณ | ์ธํ๋ฐ...
www.inflearn.com
GitHub - WeareSoft/tech-interview: ๐ tech interview
:loudspeaker:๐ tech interview. Contribute to WeareSoft/tech-interview development by creating an account on GitHub.
github.com
[Web] HTTP์ HTTPS์ ๊ฐ๋ ๋ฐ ์ฐจ์ด์
1. HTTP๋? [ HTTP(Hyper Text Transfer Protocol)๋? ] HTTP(Hyper Text Transfer Protocol)๋ ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ค. ์ฆ, HTTP๋ ์ธํฐ๋ท์์ ํ์ดํผํ ์คํธ๋ฅผ ๊ตํ..
mangkyu.tistory.com
[๋คํธ์ํฌ/HTTP] HTTP๋? - ํน์ง(๋ฌด์ํ์ ๋น ์ฐ๊ฒฐ์ฑ) - ํ๋๋ชฌ
โก๏ธ HTTP ๊ฐ๋ , ์ญ์ฌ, ํน์ง ๊ฐ๋ตํ ์์๋ณด๊ธฐ โ๏ธHTTP๋? HTTP๋ ํ์ดํผํ ์คํธ ์ ์ก ํ๋กํ ์ฝ(HyperText Transfer Protocol)์ด๋ค. HTTP๋ 1989๋ ๋ถํฐ 1991๋ ์ ๋ฐ๋ช ๋์๋ค. HTTP๋ ์๋ ์์ด๋ ์น(WWW)์ ๋ด์ฌ๋ ํ
hanamon.kr
[HTTP] HTTP ํน์ฑ(๋น์ฐ๊ฒฐ์ฑ, ๋ฌด์ํ)๊ณผ ๊ตฌ์ฑ์์ ๊ทธ๋ฆฌ๊ณ Restful API
์ด๋ฒ ๊ธ์์๋ HTTP์ ๊ฐ์ฅ ํฐ ํน์ง์ธ ๋น์ฐ๊ฒฐ์ฑ, ๋ฌด์ํ ๊ทธ๋ฆฌ๊ณ HTTP ์ํ์ฝ๋(status)์ ๋ฉ์๋(method), ํค๋(header)์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. 1. ๋น์ฐ๊ฒฐ์ฑ ( Connectionless ) ๋น์ฐ๊ฒฐ์ฑ์ ํด๋ผ์ด์ธํธ
victorydntmd.tistory.com
'๐ณDev > Dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] Spring ์น ๊ฐ๋ฐ ๊ธฐ์ด (0) 2022.04.25 [Network] REST์ REST API (0) 2022.04.22 [Dev] Build ์ Gradle, Maven (0) 2022.04.15 [Spring] Spring Boot Project ์์ฑ, ๋น๋ ๊ทธ๋ฆฌ๊ณ ์คํํ๊ธฐ (+ View) (0) 2022.04.14 Bluetooth Low Energy, BLE๋ฅผ ๊ณต๋ถํด๋ณด์ (0) 2022.01.29