๐ก HTTP ํ๋กํ ์ฝ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
HTTP(Hyper Text Transfer Protocol)์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ฉฐ, ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฆ ๋๋ค.
HTTP๋ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์๋ Stateless์ ํน์ง๊ณผ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ง๋ ์๋ต์ ๋ณด๋ธ ํ ์ฐ๊ฒฐ์ ๋๋ Connectionless์ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์ฅ์
- ํต์ ๊ฐ์ ์ฐ๊ฒฐ ์ํ ์ฒ๋ฆฌ๋ ์ํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ ํ์๊ฐ ์์ด ์๋ฒ ๋์์ธ์ด ๊ฐ๋จํ๋ค.
- ๊ฐ๊ฐ์ HTTP ์์ฒญ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ต๋ง ๋ณด๋ด์ฃผ๋ฉด OK
- ๋จ์
- ์ด์ ํต์ ์ ์ ๋ณด๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ ์ธ์ฆ์ ํด์ค์ผ ํ๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฟ ํค(cookie)๋ ์ธ์ (session)์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค.
๐ก HTTP์ HTTPS์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?
HTTP๋ ํ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์, HTTP๋ก ์ค์ํ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด ์ 3์์ ์ํด ์กฐํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด HTTP์ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด HTTPS์ ๋๋ค.
HTTPS๋ SSL์ ๊ป์ง์ ๋ฎ์ด์ด HTTP๋ผ๊ณ ํ ์ ์์ต๋๋ค.
โป SSL(Secure Socket Layer) ์ธํฐ๋ท์ ํตํด ์ ๋ฌ๋๋ ์ ๋ณด๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๊ฐ๋ฐํ ํต์ ๊ท์ฝ
HTTP๋ ์๋ TCP์ ์ง์ ํต์ ํ์ง๋ง, HTTPS์์ HTTP๋ SSL๊ณผ ํต์ ํ๊ณ SSL์ด TCP์ ํต์ ํจ์ผ๋ก์จ ์ํธํ์ ์ฆ๋ช ์, ์์ ์ฑ ๋ณดํธ๋ฅผ ์ด์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
๐ก ์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ์ฐจ์ด์ ์ ๋ํด ๋งํด์ฃผ์ธ์.
์ฟ ํค๋ ์ฌ์ฉ์์ ์ปดํจํฐ์ ์ ์ฅํ๋ ์์ ๊ธฐ๋ก ์ ๋ณด ํ์ผ์ ๋๋ค. HTTP์์ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ PC์ ์ ์ฅํ๋ค๊ฐ ํ์์ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ๊ฑฐ๋ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ธ์ ์ ์ผ์ ์๊ฐ๋์ ๊ฐ์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ค์ด์ค๋ ์ผ๋ จ์ ์๊ตฌ๋ฅผ ํ๋์ ์ํ๋ก ๋ณด๊ณ , ๊ทธ ์ํ๋ฅผ ์ ์ง์ํค๋ ๊ธฐ์ ์ ๋๋ค.
์ฆ, ๋ฐฉ๋ฌธ์๊ฐ ์น ์๋ฒ์ ์ ์ํด ์๋ ์ํ๋ฅผ ํ๋์ ๋จ์๋ก ๋ณด๊ณ ๊ทธ๊ฒ์ ์ธ์ ์ด๋ผ๊ณ ํฉ๋๋ค.
์ฟ ํค(Cookie) | ์ธ์ (Session) | |
์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ(=์ ์์ PC) | ์น ์๋ฒ |
์ ์ฅ ํ์ | text | Object |
๋ง๋ฃ ์์ | ์ฟ ํค ์ ์ฅ์ ์ค์ (๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋, ๋ง๋ฃ์์ ์ด ์ง๋์ง ์์ผ๋ฉด ์ญ์ ๋์ง ์์) |
๋ธ๋ผ์ฐ์ ์ข
๋ฃ์ ์ญ์ (๊ธฐ๊ฐ ์ง์ ๊ฐ๋ฅ) |
์ฌ์ฉํ๋ ์์(๋ฆฌ์์ค) | ํด๋ผ์ด์ธํธ ๋ฆฌ์์ค | ์น ์๋ฒ ๋ฆฌ์์ค |
์ฉ๋ ์ ํ | ์ด 300๊ฐ ํ๋์ ๋๋ฉ์ธ ๋น 20๊ฐ ํ๋์ ์ฟ ํค ๋น 4KB(=4096byte) |
์๋ฒ๊ฐ ํ์ฉํ๋ ํ ์ฉ๋์ ํ ์์ |
์๋ | ์ธ์ ๋ณด๋ค ๋น ๋ฆ | ์ฟ ํค๋ณด๋ค ๋๋ฆผ |
๋ณด์ | ์ธ์ ๋ณด๋ค ์์ข์ | ์ฟ ํค๋ณด๋ค ์ข์ |
์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ์ฐจ์ด (+์บ์(Cache))
๐ก www.naver.com์ ์ ์ํ ๋ ์๊ธฐ๋ ๊ณผ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. (์น ๋์ ๋ฐฉ์ ์ดํด)

- ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ์ URL(www.naver.com)์ ์ ๋ ฅ
- DNS ์๋ฒ์ ๋๋ฉ์ธ ๋ค์์ผ๋ก ์๋ฒ์ ์ง์ง ์ฃผ์๋ฅผ ์ฐพ์
- IP ์ฃผ์๋ก ์น ์๋ฒ์ TCP 3 handshake๋ก ์ฐ๊ฒฐ ์๋ฆฝ
- ํด๋ผ์ด์ธํธ๋ ์น ์๋ฒ๋ก HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ณด๋
- ์น ์๋ฒ๋ HTTP ์๋ต ๋ฉ์์ง๋ฅผ ๋ณด๋
- ๋์ฐฉํ HTTP ์๋ต ๋ฉ์ธ์ง๋ ์น ํ์ด์ง ๋ฐ์ดํฐ๋ก ๋ณํ๋๊ณ , ์น ๋ธ๋ผ์ฐ์ ์ ์ํด ์ถ๋ ฅ
๐ก ๋ก๋๋ฐธ๋ฐ์์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๋ก๋๋ฐธ๋ฐ์๋ ์๋ฒ์ ๋ถํ๋ฅผ ๋ถ์ฐ์์ผ์ฃผ๋ ์์คํ
ํฌ๊ฒ L4 ๋ก๋๋ฐธ๋ฐ์์, L7๋ก๋๋ฐธ๋ฐ์๊ฐ ์์
L4 ๋ก๋๋ฐธ๋ฐ์๋ 4๊ณ์ธต(Transport ๊ณ์ธต) ์ดํ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ๋ก๋๋ฅผ ๋ถ์ฐํด์ค
ํนํ MAC ์ฃผ์, IP์ฃผ์, ํฌํธ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ํธ๋ํฝ์ ๋ถ์ฐํจ
L7 ๋ก๋๋ฐธ๋ฐ์๋ 7๊ณ์ธต(์์ฉ๊ณ์ธต)์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ๋ก๋ ๋ถ์ฐํด์ค
ํจํท ๋ด์ฉ์ ํ์ธํ๊ณ ๋ถ์ฐํด์ DDOS๋ฅผ ๋ง์ ์ ์์(ํํฐ๋ง ํ๊ธฐ๋๋ฌธ์)
๐ก TCP์ UDP์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
TCP๋ ์ฐ๊ฒฐํ ์๋น์ค๋ก 3-way handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๋์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง๋ง, ์๋๊ฐ ๋น๊ต์ ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
UDP๋ ๋น์ฐ๊ฒฐํ ์๋น์ค๋ก 3-way handshaking์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ์ฑ์ด ๋จ์ด์ง๋ ๋จ์ ์ด ์์ง๋ง, ๋ฐ์ดํฐ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
TCP๋ ์ ๋ขฐ์ฑ์ด ์ค์ํ ํ์ผ ๊ตํ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ฐ์ด๊ณ UDP๋ ์ค์๊ฐ์ฑ์ด ์ค์ํ ์คํธ๋ฆฌ๋ฐ์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
ํ๋กํ ์ฝ ์ข ๋ฅ | TCP | UDP |
์ฐ๊ฒฐ ๋ฐฉ์ | ์ฐ๊ฒฐํ ์๋น์ค | ๋น์ฐ๊ฒฐํ ์๋น์ค |
ํจํท ๊ตํ ๋ฐฉ์ | ๊ฐ์ ํ์ ๋ฐฉ์ | ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์ |
์ ์ก ์์ | ์ ์ก ์์ ๋ณด์ฅ | ์ ์ก ์์๊ฐ ๋ฐ๋ ์ ์์ |
์์ ์ฌ๋ถ ํ์ธ | ์์ ์ฌ๋ถ๋ฅผ ํ์ธํจ | ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์์ |
ํต์ ๋ฐฉ์ | 1:1 ํต์ | 1:1 OR 1:N OR N:N ํต์ |
์ ๋ขฐ์ฑ | ๋๋ค. | ๋ฎ๋ค. |
์๋ | ๋๋ฆฌ๋ค. | ๋น ๋ฅด๋ค. |
๐ก 3 way-handshaking ์๊ธฐ ํด์ฃผ์ จ๋๋ฐ, TCP ํต์ ์ ์ข ๋ฃ์์๋ 3 way-handshaking์ ์ฌ์ฉํ๋์?
TCP๋ 3 way-handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ , 4 way-handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ํด์ ํฉ๋๋ค.
TCP์ UDP์ ํน์ง ๋ฐ ์ฐจ์ด์ ์์ธํ ์์๋ณด๊ธฐ(3-way handshaking, 4-way handshaking)
๐ก 3 way-handshake์ 4 way-handshake๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
3 way-handshake๋ TCP ๋คํธ์ํฌ์์ ํต์ ํ๋ ์ฅ์น๊ฐ ์๋ก ์ฐ๊ฒฐ์ด ์ ๋์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ก์ ์์ ์์ ์๋ ์ด 3๋ฒ์ ๊ฑธ์ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ์ด ๊ฐ๋ฅํ ์ํ์ธ์ง ํ์ธํฉ๋๋ค.
4 way-handshake๋ TCP ๋คํธ์ํฌ์์ ํต์ ํ๋ ์ฅ์น์ ์ฐ๊ฒฐ์ ํด์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ก์ ์์ ์์ ์๋ ์ด 4๋ฒ์ ๊ฑธ์ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์ฐ๊ฒฐ์ ๋์ต๋๋ค.


๐ก OSI 7 layer์ ๊ฐ ๊ณ์ธต์ ๋ํด ์๋๋๋ก ์ค๋ช ํด์ฃผ์ธ์.

OSI7๊ณ์ธต? ๋คํธ์ํน์ ๋ํ ํ์ค์ 7๊ณ์ธต์ผ๋ก ๋๋๊ฒ
PDONTSPA๋ผ๊ณ ์ธ์ฐ์!
- 7 ๊ณ์ธต(์์ฉ ๊ณ์ธต) : ์ฌ์ฉ์์๊ฒ ํต์ ์ ์ํ ์๋น์ค ์ ๊ณต. ์ธํฐํ์ด์ค ์ญํ
- 6 ๊ณ์ธต(ํํ ๊ณ์ธต) : ๋ฐ์ดํฐ์ ํ์(Format)์ ์ ์ํ๋ ๊ณ์ธต (์ฝ๋ ๊ฐ์ ๋ฒ์ญ์ ๋ด๋น)
- 5 ๊ณ์ธต(์ธ์ ๊ณ์ธต) : ์ปดํจํฐ๋ผ๋ฆฌ ํต์ ์ ํ๊ธฐ ์ํด ์ธ์ ์ ๋ง๋๋ ๊ณ์ธต
- 4 ๊ณ์ธต(์ ์ก ๊ณ์ธต) : ์ต์ข ์์ ํ๋ก์ธ์ค๋ก ๋ฐ์ดํฐ์ ์ ์ก์ ๋ด๋นํ๋ ๊ณ์ธต (๋จ์ :Segment) (ex. TCP, UDP)
- 3 ๊ณ์ธต(๋คํธ์ํฌ ๊ณ์ธต) : ํจํท์ ๋ชฉ์ ์ง๊น์ง ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ๋ก ์ ์กํ๊ธฐ ์ํ ๊ณ์ธต (๋จ์ :Packet) (ex. Router)
- 2 ๊ณ์ธต(๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต) : ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ก๊ณผ ์๋ฌ ๊ฒ์ถ, ํ๋ฆ ์ ์ด๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต (๋จ์ :frame) (ex. ์ด๋๋ท)
- 1 ๊ณ์ธต(๋ฌผ๋ฆฌ ๊ณ์ธต) : ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ ์ ํธ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๊ณ์ธต (๋จ์ :bit) (์ฅ๋น: ์ผ์ด๋ธ,๋ฆฌํผํฐ,ํ๋ธ)
๐ก IP์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
IP(Internet Protocol) : ์ธํฐ๋ท ๋ง์ ํตํด ํจํท์ ์ ๋ฌํ๋ ํ๋กํ ์ฝ
IP ํน์ง
๋น์ ๋ขฐ์ฑ : IP๋ ํ๋กํ ์ฝ์ผ ๋ฟ์ด๊ณ ๋ฐ์ดํฐ์ ํ๋ฆ์ ๊ด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณด๋ธ ํจํท์ด ์ ๋๋ก ๊ฐ๋์ง ๋ณด์ฅํ์ง ์์
๋น์ฐ๊ฒฐ์ฑ : ํจํท์ด ๋ฐ์ ๋์์ด ์ฐ๊ฒฐ ์ํ์์ ํ์ธํ์ง ์๊ณ ์ ์กํจ
IP Address : ๋ฐ์ดํฐ๋ฅผ ํตํด ๋ณด๋ผ ๋ชฉ์ ์ง
์น๊ตฌ์๊ฒ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค๊ณ ํ์๋, ์น๊ตฌ IP Address๋ก ๋ฐ๋ก ๊ฐ๋ ๊ฒ์ด ์๋, ์ค๊ฐ ๋ผ์ฐํฐ๋ฅผ ๊ฑฐ์น๋ค.
๋ผ์ฐํฐ์์ ๊ฐ์ผํ ๋ฐฉํฅ์ ์๋ ค์ฃผ๊ณ ๋ฐ๋ณต๋์ด ๋์ฐฉํ๊ฒ ๋๋ค.
๐ก HTTP Method์ ๊ฐ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ฌ์ฉ์ ์์ฒญ์ ๋ชฉ์ ์ ์๋ฆฌ๋ '์๋จ'์ ๋๋ค.
์ข ๋ฅ | ๊ธฐ๋ฅ |
GET | ๋ฐ์ดํฐ ์กฐํ |
POST | ์์ฒญ ๋ฐ์ดํฐ ์ฒ๋ฆฌ(๋ณดํต ๋ฐ์ดํฐ ๋ฑ๋ก ์ฌ์ฉ) |
PUT | ๋ฐ์ดํฐ ๋ณ๊ฒฝ (ํด๋น ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์์ฑ) |
PATCH | ์ผ๋ถ ๋ฐ์ดํฐ๋ง ๋ณ๊ฒฝ |
DELETE | ๋ฐ์ดํฐ ์ญ์ |
๐ก GET๊ณผ POST์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
GET์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํค๋์ ์ถ๊ฐํ์ฌ ์ ์กํ๋ ๋ฐฉ์์ ๋๋ค.
URL์ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋๋ฏ๋ก ๋ณด์์ ์ผ๋ก ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํด์๋ ์๋ฉ๋๋ค.
POST๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ๋๋ ์์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋์ ์ถ๊ฐํ์ฌ ์ ์กํ๋ ๋ฐฉ์์ ๋๋ค.
์์ ํ ์์ ํ๋ค๋ ๊ฒ์ ์๋์ง๋ง URL์ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋์ง ์์ GET ๋ณด๋ค๋ ์์ ํฉ๋๋ค.
์ฒ๋ฆฌ ๋ฐฉ์ | GET ๋ฐฉ์ | POST ๋ฐฉ์ |
URL์ ๋ฐ์ดํฐ ๋ ธ์ถ ์ฌ๋ถ | O | X |
URL ์์ | http://localhost:8080/boardList?name=์ ๋ชฉ&contents=๋ด์ฉ | http://localhost:8080/addBoard |
๋ฐ์ดํฐ์ ์์น | Header(ํค๋) | Body(๋ฐ๋) |
์บ์ฑ ๊ฐ๋ฅ ์ฌ๋ถ | O | X |
๋ฉฑ๋ฑ์ฑ ์ฌ๋ถ | O | X |
๐ก ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ๊ณผ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฐจ์ด์ ๋ํด ์๊ธฐํด์ฃผ์ธ์.
์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์ผ๋ฉด ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฏ๋ก Statefulํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ,
ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ํ ์ ๋ณด๋ฅผ ์๋ฒ์ ์ ์ฅํ์ง ์์ผ๋ฏ๋ก Statelessํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
๐ก ๊ทธ๋ ๋ค๋ฉด Statefulํ ์ธ์ ๊ธฐ๋ฐ์ ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ด๋ ํ ๋จ์ ์ด ์์๊น์?
1. ์๋ฒ์ ์ธ์ ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ฆ๊ฐํ๋ฉด ์๋ฒ์ ๊ณผ๋ถํ๋ฅผ ์ค ์ ์์ด ํ์ฅ์ฑ์ด ๋ฎ์ต๋๋ค.
2. ํด์ปค๊ฐ ํ์น ์ฟ ํค๋ฅผ ์ด์ฉํด ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์๊ฐ ๋ณด๋ธ ์์ฒญ์ธ์ง ์ ์ ์์ต๋๋ค. (์ธ์ ํ์ด์ฌํน ๊ณต๊ฒฉ)
๐ก ๊ทธ๋ ๋ค๋ฉด ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ๊ณผ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ๊ฐ๊ฐ ์ด๋ ๊ฒฝ์ฐ์ ์ ํฉํ๊ฐ์?
๋จ์ผ ๋๋ฉ์ธ์ด๋ผ๋ฉด ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํ๊ณ , ์๋๋ผ๋ฉด ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ํฉํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์? - ์ธ์ ์ ๊ด๋ฆฌํ ๋ ์ฌ์ฉ๋๋ ์ฟ ํค๋ ๋จ์ผ ๋๋ฉ์ธ ๋ฐ ์๋ธ ๋๋ฉ์ธ์์๋ง ์๋ํ๋๋ก ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋๋ฉ์ธ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ ์ด๋ ต์ต๋๋ค. (CORS ๋ฌธ์ )
๐ก JWT ํ ํฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
JWT๋ JSON ํฌ๋งท์ ์ด์ฉํ๋ Claim ๊ธฐ๋ฐ์ ์น ํ ํฐ์ด๋ฉฐ, ํ ํฐ ์์ฒด๋ฅผ ์ ๋ณด๋ก ์ฌ์ฉํ๋ Self-Contained ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ๋ฌํฉ๋๋ค.
JWT๋ ํค๋(Header).๋ด์ฉ(Payload).์๋ช (Signature)๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ ํํธ๋ฅผ ์ (.)์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค.
ํค๋(Header) : ํ ํฐ์ ํ์ ๊ณผ ํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ(๋ฐฉ์์ง์ )์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๋ด์ฉ(Payload) : ํ ํฐ์ ์ฌ์ฉ์๊ฐ ๋ด๊ณ ์ ํ๋ ์ ๋ณด๋ฅผ ๋ด๋๋ค. ๋ด์ฉ์๋ Claim์ด ๋ด๊ฒจ์๊ณ , JSON(Key/Value)ํํ์ ํ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์๋ช (Signature) : ํ ํฐ์ ์ธ์ฝ๋ฉํ๊ฑฐ๋ ์ ํจ์ฑ ๊ฒ์ฆํ ๋ ์ฌ์ฉํ๋ ๊ณ ์ ํ ์ํธํ ์ฝ๋์ด๋ค. ํค๋์ ๋ด์ฉ์ ๊ฐ์ ์ธ์ฝ๋ฉํ๋ค.
JWT(Json Web Token) ๋ ๋ฌด์์ผ๊น? (์๋ฒ ๊ธฐ๋ฐ ์ธ์ฆ / ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ)
๐ก Connection Timeout๊ณผ Read Timeout์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
์๋ฒ ์์ฒด์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ์ฌ์ ๋ก ์ ๊ทผ์ ์คํจํ์ ์ ์ ์ฉ๋๋ ๊ฒ์ด Connection Timeout์ ๋๋ค.
์ฆ, ์ ๊ทผ์ ์๋ํ๋ ์๊ฐ ์ ํ์ด Connection Timeout ๋๋ ๊ฒ์ ๋งํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์์ ์ฑ๊ณต ํ์ผ๋ ์๋ฒ๊ฐ ๋ก์ง์ ์ํํ๋ ์๊ฐ์ด ๋๋ฌด ๊ธธ์ด ์ ๋๋ก ์๋ต์ ๋ชป ์ค ์ํ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ํด์ ํ๋ ๊ฒ์ด Read Timeout์ ๋๋ค.
์ด ๊ฒฝ์ฐ๋ ํด๋ผ์ด์ธํธ๋ ํด๋น ์ํฉ์ ์ค๋ฅ๋ก ์ธ์งํ๊ณ , ์๋ฒ๋ ๊ณ์ ๋ก์ง์ ์ํํ๊ณ ์์ด ์ฑ๊ณต์ผ๋ก ์ธ์งํด
์ ์ฌ์ด๋๊ฐ ์ฑํฌ๊ฐ ๋ง์ง ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋์ต๋๋ค.
๐ก ๊ณต์ธ(public) IP์ ์ฌ์ค(private) IP์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ๊ณต์ธ IP๋ ISP(์ธํฐ๋ท ์๋น์ค ๊ณต๊ธ์)๊ฐ ์ ๊ณตํ๋ IP ์ฃผ์์ด๋ฉฐ, ์ธ๋ถ์ ๊ณต๊ฐ๋์ด ์๋ IP์ฃผ์ ์ ๋๋ค.
- ์ฌ์ค IP๋ ์ผ๋ฐ ๊ฐ์ ์ด๋ ํ์ฌ ๋ด ๋ฑ์ ํ ๋น๋ ๋คํธ์ํฌ IP ์ฃผ์์ด๋ฉฐ, IPv4์ ์ฃผ์๋ถ์กฑ์ผ๋ก ์ธํด ์๋ธ๋ทํ ๋ IP์ด๊ธฐ ๋๋ฌธ์ ๋ผ์ฐํฐ(๊ณต์ ๊ธฐ)์ ์ํด ๋ก์ปฌ ๋คํธ์ํฌ์์ PC๋ ์ฅ์น์ ํ ๋น๋ฉ๋๋ค.
- ์ฌ์ค IP ์ฃผ์๋ง์ผ๋ก๋ ์ธํฐ๋ท์ ์ง์ ์ฐ๊ฒฐํ ์ ์๊ณ , ๋ผ์ฐํฐ๋ฅผ ํตํด 1๊ฐ์ ๊ณต์ธ IP๋ฅผ ํ ๋นํ๊ณ , ๋ผ์ฐํฐ์ ์ฐ๊ฒฐ๋ ๊ฐ์ธ PC๋ ์ฌ์ค IP๋ฅผ ๊ฐ๊ฐ ํ ๋น ๋ฐ์ ์ธํฐ๋ท์ ์ ์ ํ ์ ์์ต๋๋ค.
์ถ์ฒ: https://dev-coco.tistory.com/161 [์ฌ๊ธฐ๋ก์ด ๊ฐ๋ฐ์ํ:ํฐ์คํ ๋ฆฌ]
'CS > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Computer Network ์ ๋ฆฌ (1) | 2022.09.28 |
---|---|
์ ์ LAN์ ๊ธฐ์ ๊ณผ ๋ฌด์ LAN์ ๊ธฐ์ (0) | 2022.07.25 |
๋คํธ์ํฌ๋ฅผ ์ด๋ฃจ๋ ์ฅ์น์ ์ดํด (0) | 2022.07.25 |
HTTP์ ์ํ์ฝ๋์ ๋ฉ์๋(GET, POST, PUT, PATCH, DELETE) (0) | 2022.07.25 |
์น๋ธ๋ผ์ฐ์ ์ ์บ์ (0) | 2022.07.25 |