Stateful (์ํ ์ ์ง)
Stateful : ํด๋ผ์ด์ธํธ-์๋ฒ ๊ด๊ณ์์, ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํจ
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ฐ์ดํฐ ์ก์์ ์ ํตํด ๋จ๊ณ๋ณ ์์
์ ์งํํ ๋, ์๋ฒ๋ ์ด์ ๋จ๊ณ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ณตํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ์ดํ ๋จ๊ณ์์๋ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ์ํ๋ฅผ ์ ์งํ๋ค.
- ์์ : ์น์ฌ์ดํธ์ ๋ก๊ทธ์ธํ ํ ํ์ด์ง๋ฅผ ์ด๋ํด๋ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์ง(๊ธฐ์ต)ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์ธ์ด ํ๋ฆฌ์ง ์๊ณ ๊ณ์ ์ ์ง๋๋ ๊ฒ.
- ์ํ ์ ์ฅ ์์น : ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด์๋ ํน์ ์ ์ฅ์์ ์ ๋ณด๊ฐ ๋ณด์กด๋๋ค. ์ด๋ ๋ณดํต ๋ธ๋ผ์ฐ์ ์
์ฟ ํค(Cookie)
์ ์ ์ฅ๋๊ฑฐ๋ ์๋ฒ์ ์ธ์
(Session)
๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์ํ๊ฐ ์ ์ง๋๋ค.
Stateful ํ ํ๋กํ ์ฝ : TCP 3-way handshaking

์ด๋ฏธ์ง ์ถ์ฒ : https://www.techopedia.com/definition/10339/three-way-handshake
- SYN ํจํท ์ ์ก (ํด๋ผ์ด์ธํธ โ ์๋ฒ)
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ฐ๊ฒฐ ์์ฒญํ๋ฉฐ
SYN ํจํท
์ ์ ์ก
- ์ด๋ ํด๋ผ์ด์ธํธ๋
SYN_SENT
์ํ๋ก ๋ค์ด๊ฐ๋ฉฐ, ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๊ธฐ๋ค๋ฆผ
- SYN-ACK ํจํท ์ ์ก (์๋ฒ โ ํด๋ผ์ด์ธํธ)
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์
SYN ํจํท
์ ์์ ํ๊ณ ์ฐ๊ฒฐ ์์ฒญ์ ์น์ธ
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์์ ์
SYN
๊ณผ ์๋ต ACK
๋ฅผ ํฌํจํ SYN-ACK ํจํท
์ ์ ์ก
- ์ด ๊ณผ์ ์์ ์๋ฒ๋
SYN_RECEIVED
์ํ๊ฐ ๋จ
- ACK ํจํท ์ ์ก (ํด๋ผ์ด์ธํธ โ ์๋ฒ)
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์
SYN_ACK ํจํท
์ ์์ ํ๊ณ , ์๋ฒ์ ACK ํจํท
์ ๋ณด๋ด ์ฐ๊ฒฐ์ ์ต์ข
ํ๋ฆฝ
- ์ด ํจํท์ด ์๋ฒ์ ๋๋ฌํ๋ฉด, ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ชจ๋
ESTABLISHED
์ํ๊ฐ ๋์ด ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ ์ฐ๊ฒฐ ์ํ๋ก ๋ค์ด๊ฐ
Stateful์ ๋จ์
- ์๋ฒ ์ฅ์ ์ ๋ฌธ์ : ํน์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ํ๊ฐ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์, ํด๋น ์๋ฒ๊ฐ ์ค๋จ๋๊ฑฐ๋ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ๋ค๋ฅธ ์๋ฒ๋ก ์ ํ๋๋๋ผ๋ ์๋ก์ด ์๋ฒ์๋ ์ด์ ์ํ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์๋ฒ ๋ถ๋ด โฌ๏ธย : ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ ์ํ๋ฅผ ๋ณด์กดํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ๋ง์ ์ฌ์ฉ์๋ฅผ ๋์์ ์ฒ๋ฆฌํ ๊ฒฝ์ฐ ์๋ฒ์ ๋ถ๋ด์ด ์ปค์ง๋ค.
Stateless (๋ฌด์ํ)
Stateless : ํด๋ผ์ด์ธํธ-์๋ฒ ๊ด๊ณ์์, ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์์
- ์๋ฒ์ ์ญํ : ๋จ์ํ ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ํ ์๋ต๋ง์ ์ํํ๋ฉฐ, ์ด์ ์์ฒญ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๋๋ค. ์ํ ์ ๋ณด๋ ์ ์ ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ๊ด๋ฆฌํ๋ค.
- ์ฆ, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ํ์ํ ๋ชจ๋ ์ํ ์ ๋ณด๋ค์ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ง๊ณ ์๋ค๊ฐ ์๋ฒ์ ์์ฒญํ ๋ ํจ๊ป ์ ์ก
- ์๋ฒ ๋ถ๋ด โฌ๏ธย : ์๋ฒ๋ ์ํ๋ฅผ ์ ์ฅํ ํ์๊ฐ ์์ด ์ํ ๊ด๋ฆฌ์ ๋ฐ๋ฅธ ๋ถ๋ด์ด ์ค์ด๋ค๊ณ , ๋ ๋ง์ ์์ฒญ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์
- ์์ ์ฑ โฌ๏ธย : ์๋ฒ๊ฐ ์ํ๋ฅผ ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์, ํน์ ์๋ฒ๊ฐ ์ค๋จ๋๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ๊ฐ ์ด์ด์ ์๋ต์ ์ฒ๋ฆฌํ ์ ์์ด ์์ ์ฑ์ด ๋๋ค.
Statelessํ ํ๋กํ ์ฝ : UDP, HTTP
๋ํ์ ์ธ Stateless ํ๋กํ ์ฝ๋ก UDP
์ HTTP
๊ฐ ์๋ค.
- UDP
- TCP์์ ์ฐจ์ด์ : UDP๋ TCP์ ๋ฌ๋ฆฌ 3-way ํธ๋์
ฐ์ดํฌ ๊ฐ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฐจ ์์ด ๋ฐ์ดํฐ๊ฐ ๊ณง๋ฐ๋ก ์ ์ก๋จ
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์์ ์ฐ๊ฒฐ ์ํ๋ฅผ ๊ด๋ฆฌํ์ง ์๊ณ , ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ์ ์์ ์ฌ๋ถ๋ ํ์ธํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ธ์
์ ๋ณด ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ์ฆ์ ์๋ตํ๋ค.
- ์์ ๊ฐ์ ์ด์ ๋ก ๋น ๋ฅธ ์ ์ก์ด ๊ฐ๋ฅํ์ฌ ์ค์๊ฐ ํต์ ์ด ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์
(์คํธ๋ฆฌ๋ฐ ๋ฑ)์ ์์ฃผ ์ฌ์ฉ๋๋ค.
- HTTP
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด์ํ๋ก ์๋ํ์ฌ ๊ฐ ์์ฒญ์ด ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋จ
- ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ์๋ก ์ฐ๊ฒฐ์ ํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ค ์ฐ๊ฒฐ์ ๋์
์ฟ ํค
์ ์ธ์
๊ฐ์ ์ถ๊ฐ ๊ธฐ์ ์ ํตํด Statefulํ ๋ฐฉ์๋ ๊ฐ๋ฅ
Stateless ๋จ์
- ๋ง์ ๋ฐ์ดํฐ ์๋ชจ : ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ๋๋ง๋ค ํ์ํ ๋ชจ๋ ์ํ ์ ๋ณด๋ฅผ ํฌํจํด์ผ ํ๋ฏ๋ก Stateful ๋ฐฉ์๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋จ
Stateless์ ํ ํฐ
Stateless ๋ฐฉ์์์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ณ ์์ฒญ์ ๋ํ ์๋ต๋ง์ ์ํํ๊ธฐ ๋๋ฌธ์ ์๋ฒ ๋ถํ๊ฐ ์ค์ด๋๋ ์ฅ์ ์ด ์๋ค.
ํ์ง๋ง ๋ก๊ทธ์ธ ์ ์ง์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํด ์ํ ์ ์ฅ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๊ธฐ๋ ํ๋ค.
์ด๋ Stateless ํน์ง์ ์ ์งํ๋ฉด์๋ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ ์ ์๊ฒ ํ๋ ๊ธฐ์ ์ด ๋ฐ๋ก JWT ํ ํฐ
์ด๋ค.
์ฃผ๋ก HTTP ์์ฒญ์ ํค๋์ JWT๋ฅผ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ณด๋ธ๋ค. ์๋ฒ๋ ๋งค ์์ฒญ์์ JWT๋ฅผ ํ์ธํด ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ค.
๐ ์ฐธ๊ณ ์๋ฃ ๋ฐ ๋งํฌ