ํฐ์คํ ๋ฆฌ ๋ทฐ
HTTP๋?
Hyper Text Transfer Protocol์ ์ฝ์๋ก, ์ธํฐ๋ท์์ ํ ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ ์๋ฏธํฉ๋๋ค.
์ฆ, ์น ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฌธ์๋ฅผ ๊ตํํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ ๋๋ค.
- HTTP๋ Request์ Response๋ฅผ ์ํ ๋ฉ์์ง๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ตํ
- ๊ธฐ๋ณธ์ ์ผ๋ก 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ
- TCP/IP ๊ธฐ๋ฐ์ผ๋ก ๋์
HTTP์ ํน์ง
1. ๋น์ฐ๊ฒฐ ์งํฅ
- ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ฌ์ฉ์์ ์์ฒญ์ผ๋ก ์๋ฒ์ ์ ์ํ์ฌ ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ์ฐ๊ฒฐ์ ์ข ๋ฃ
- ์ฅ์ : ๊ฐ๋จํ๊ณ ์์์ด ์ ๊ฒ๋ฆ
- ๋จ์ : ์ฐ๊ฒฐ์ด ์ง์์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์ ์ฐ๊ฒฐ ์ข ๋ฃํ ์ถ๊ฐ์ ์ธ ์์ฒญ์ ์ด๋ค ์ฌ์ฉ์์ ์์ฒญ์ธ์ง ์ธ์ ๋ถ๊ฐ
์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ฟ ํค, ์ธ์ , ํ๋ ํผ ํ๋ ๋ฑ์ ์ด์ฉํฉ๋๋ค.
2. ๋จ๋ฐฉํฅ์ฑ
- ์ฌ์ฉ์์ ์์ฒญ ํ๊ฐ์ ๋ํ ํ๊ฐ์ ์๋ต์ ๋ฐ๋ ๋ฐฉ์
- ์๋ฒ๊ฐ ๋จผ์ ์๋ตํ์ง ์์
HTTP์ ๊ตฌ์กฐ
HTTP๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์ ํ๋กํ ์ฝ๋ก, TCP/IP ์์์ ์๋ํฉ๋๋ค.
HTTP๋ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ Stateless ํ๋กํ ์ฝ์ด๋ฉฐ Method, Path, Version, Headers, Body๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
HTTP์ Method์ ์ํ์ฝ๋
**Stateless
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์์๊ณ , ์ธ์ ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํ์ ๊ฐ์์ ์๋ฏธ
HTTPS๋?
Hyper Text Transfer Protocol Secure์ ์ฝ์๋ก, HTTP๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ํ์๋์์ต๋๋ค.
HTTP์ ๋จ์
- HTTP๋ ํ๋ฌธ ํต์ ์ด๊ธฐ ๋๋ฌธ์ ๋์ฒญ์ด ๊ฐ๋ฅ
- ํต์ ์๋๋ฅผ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ฅ์ด ๊ฐ๋ฅ
- ์์ ์ฑ์ ์ฆ๋ช ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅ
์ฆ, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด HTTP์ ๋ฐ์ดํฐ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด HTTPS์ ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ
- ๋คํธ์ํฌ ์์์ ์ค๊ฐ์ ์ 3์๊ฐ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋๋ก ์ํธํ ์ง์
- HTTP ํต์ ํ๋ ์์ผ ๋ถ๋ถ์ ์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ํธํํ๋ SSL(Secure Socket Layer)๋ผ๋ ํ๋กํ ์ฝ๋ก ๋์ฒด
- HTTP๋ SSL๊ณผ ํต์ , SSL์ด TCP์ ํต์ (์ฆ, ํ๋์ ๋ ์ด๋๋ฅผ ์ถ๊ฐํ ๊ฒ)
** SSL
Netscape์ฌ์์ ์น ์๋ฒ์ ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ๋ณด์์ ์ํด ๋ง๋ค์๋๋ฐ, CA(Certificate Authority)๋ผ ๋ถ๋ฆฌ๋ ์๋ ํํฐ๋ก๋ถํฐ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์ ํ๋๋ฐ ์ฌ์ฉ๋จ
HTTPS์ ์ํธํ
HTTPS์ SSL์ ๋์นญํค ์ํธํ ๋ฐฉ์๊ณผ ๋น๋์นญํค ์ํธํ ๋ฐฉ์์ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค.
HTTPS ๋์ ๊ณผ์
๋์นญํค ์ํธํ์ ๋น๋์นญํค ์ํธํ๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ฌ ๋น ๋ฅธ ์ฐ์ฐ ์๋์ ์์ ์ฑ์ ๋ณด์ฅํ๋ค.
- ๋น๋์นญํค : ์ฒ์ ์ฐ๊ฒฐ์ ์ฑ๋ฆฝํ์ฌ ์์ ํ๊ฒ ์ธ์ ํค๋ฅผ ๊ณต์ ํ๋ ๊ณผ์
- ๋์นญํค : ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๊ณผ์
์ฐ๊ฒฐ๊ณผ์ (Hand-Shaking)
1. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์ต์ด ์ฐ๊ฒฐ์ ์๋ํจ
2. ์๋ฒ๋ ๊ณต๊ฐํค๋ฅผ ๋ธ๋ผ์ฐ์ ์๊ฒ ๋๊ฒจ์ค
3. ๋ธ๋ผ์ฐ์ ๋ ์ธ์ฆ์์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๊ณ ์ธ์ ํค๋ฅผ ๋ฐ๊ธํจ
4. ๋ธ๋ผ์ฐ์ ๋ ์ธ์ ํค๋ฅผ ๋ณด๊ดํ๋ฉฐ ์ถ๊ฐ๋ก ์๋ฒ์ ๊ณต๊ฐํค๋ก ์ธ์ ํค๋ฅผ ์ํธํํ์ฌ ์๋ฒ๋ก ์ ์กํจ
5. ์๋ฒ๋ ๊ฐ์ธํค๋ก ์ํธํ๋ ์ธ์ ํค๋ฅผ ๋ณตํธํํ์ฌ ์ธ์ ํค๋ฅผ ์ป์
6. ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ๋์ผํ ์ธ์ ํค๋ฅผ ๊ณต์ ํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ธ์ ํค๋ก ์ํธํ/๋ณตํธํ๋ฅผ ์งํํจ
** ์ธ์ ํค
์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋์นญํค์ด๋ฉฐ, ๋ฐ์ดํฐ ๊ฐ์ ๊ตํ์๋ ๋น ๋ฅธ ์ฐ์ฐ์๋๊ฐ ํ์ํด์ ๋์นญํค๋ก ๋ง๋ฆ
HTTPS ๋ฐ๊ธ ๊ณผ์
์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ด์ํ๋ ๊ธฐ์ ์ CA๋ฅผ ํตํด ์ธ์ฆ์๋ฅผ ๋ง๋ญ๋๋ค.
1. HTTPS ์ ์ฉ์ ์ํด ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ๋ง๋ฆ
2. ์ ๋ขฐํ ์ ์๋ CA ๊ธฐ์ ์ ์ ํํ๊ณ ๊ณต๊ฐํค๋ฅผ ์ ์ฅํ๋ ์ธ์ฆ์ ์์ฑ์ ์์ฒญ
3. CA๋ ์๋ฒ์ ๊ณต๊ฐํค, ์ํธํ ๋ฐฉ๋ฒ ๋ฑ์ ์ ๋ณด๋ฅผ ๋ด์ ์ธ์ฆ์๋ฅผ ๋ง๋ค๊ณ ํด๋น CA์ ๊ฐ์ธํค๋ก ์ํธํํ์ฌ ์๋ฒ์ ์ ๊ณต
4. ํด๋ผ์ด์ธํธ๊ฐ SSL๋ก ์ํธํ๋ ํ์ด์ง(https://)๋ฅผ ์์ฒญ์ ์๋ฒ๋ ์ธ์ฆ์๋ฅผ ์ ์ก
https://mangkyu.tistory.com/98
https://opentutorials.org/course/3385/21673
https://github.com/WooVictory/Ready-For-Tech-Interview/blob/master/Network/HTTP%2C%20HTTPS.md
'CS > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋คํธ์ํฌ] TCP/IP 4๊ณ์ธต (0) | 2022.11.03 |
---|---|
[๋คํธ์ํฌ] ๋์ปค(Docker)๋? (0) | 2022.07.27 |
[๋คํธ์ํฌ] ์ฟ ํค(Cookie), ์ธ์ (Session)์ด๋? (0) | 2022.07.11 |
[๋คํธ์ํฌ] HTTP์ Method์ ์ํ์ฝ๋ (0) | 2022.06.12 |
[๋คํธ์ํฌ] TCP์ UDP (0) | 2022.06.06 |
- Total
- Today
- Yesterday
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋กํ ์ฝ
- ์๋ฐ
- TDD
- ๋ ์์ปฌ ํ๊ฒฝ
- ๋ฐฑ์ค node.js
- ํฌํฌ์ธํฐ
- ์ฝ๋ฉํ ์คํธ
- fp
- ์นด์นด์ค ์ธํด
- ์ด๋ถํ์
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ๋คํธ์ํฌ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋กํผํฐ
- ์ ์ญ ๋ณ์
- ์๊ณ ๋ฆฌ์ฆ
- ๋์์ธ ํจํด
- ์ด์์ฒด์
- git
- http
- Baekjoon
- map
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ๋ฐฑ์ค javascript
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- JavaScript
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |