๋งค์ผ๋ฉ์ผ ๋ฐฑ์๋ ์ง๋ฌธ์ ์ฐธ๊ณ ํด ๊ฐ์ธ์ ์ผ๋ก ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค.
์ค๋ฅ๊ฐ ์๋ค๋ฉด ์ธ์ ๋ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ๋ฐ๋ก ๋ฐ์ํ๊ฒ ์ต๋๋ค..!
์์ํ๊ธฐ์ ์
์น์ ๊ธฐ๋ณธ์ ์ผ๋ก stateless(๊ธฐ์ต์ ๋ชปํ๋) ๊ตฌ์กฐ์ด๊ธฐ์ ์ด๋ค ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ๋ค๊ณ ํด๋, ๋ค์ ์์ฒญ์์๋ "๋๊ฐ ๋ก๊ทธ์ธํ๋์ง" ๊ธฐ์ตํ์ง ๋ชปํจ
=> ๊ทธ๋์ ํ์ํ๊ฒ ์ฟ ํค์ ์ธ์ (์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ๊ธฐ์ )
์ฟ ํค(Cookie)๋?
์ฟ ํค๋ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ผ๋ก ์น ์๋ฒ๊ฐ "์ด ์ ๋ณด๋ฅผ ๊ธฐ์ตํด์ค" ๋ผ๊ณ ํ๋ฉด์ ๋ธ๋ผ์ฐ์ ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ฃผ๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ๊ทธ๊ฑธ ์ ์ฅํด ๋๋ค๊ฐ ๋ค์์์ฒญ๋ง๋ค ์๋์ผ๋ก ์๋ฒ์ ๋ณด๋
์ฟ ํค์ ํน์ง
- ์ ์ฅ ์์น : ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ๋จ
- ๋ณด์์ฑ : ์ฌ์ฉ์๊ฐ ์ง์ ์์ ๊ฐ๋ฅํด์ ๋ฏผ๊ฐํ ์ ๋ณด ์ ์ฅ์ ์ํ
=> ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ง์ ์ ๊ทผ ๋ฐ ์์ ๊ฐ๋ฅ - ์ฉ๋ ์ ํ : ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ฌ์ฐ์ ๋๋ฉ์ธ๋น ์ฝ 4KB
- ์ ํจ๊ธฐ๊ฐ : ์ค์ ๊ฐ๋ฅ
=> ๋ง๋ฃ ์๊ฐ ์ง์ ์ ํ๋ฉด ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์ญ์ ๋จ - ์์ฒญ ์ ๋์ : ๋งค๋ฒ HTTP ์์ฒญ์ ํจ๊ป ์๋ ์ ์ก๋จ
=> ์ฟ ํค๊ฐ ๋ง์์๋ก ๋คํธ์ํฌ ํธ๋ํฝ์ด ์ฆ๊ฐํจ
์ธ์ ์ฐ๋ฉด ์ข์๊น?
- ๋ก๊ทธ์ธ ์ ํด๋ ๊ธฐ์ตํด์ผ ํ๋ ๊ฒ๋ค (๋น๋ฏผ๊ฐ ์ ๋ณด)
=> ๋ฐฉ๋ฌธ ํ์, (๋นํ์) ์ต๊ทผ ๋ณธ ์ํ, (๋นํ์) ์ฅ๋ฐ๊ตฌ๋ ๋ฑ - ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
=> ๋ณด์์ ์ผ๋ก ์กฐ์ฌํด์ผํจ
์ธ์ (Session)์ด๋?
์ธ์ ์ ์๋ฒ์์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ๋ธ๋ผ์ฐ์ ์๋ ๋จ์ํ ID๋ง ์ ์ฅํ๋ ๋ฐฉ์์
=> ์๋ฒ๋ ๊ฐ ์ฌ์ฉ์๋ง๋ค ๊ณ ์ ํ ์ธ์ ์ ๋ง๋ค๊ณ , ์ธ์ ID๋ง ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํจ
(์ด๊ฑธ๋ก ์๋ฒ๋ ์ด ID๊ฐ ๋๊ตฌ์ ๊ฒ์ธ์ง ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ ์ ์์)
์ธ์ ์ ํน์ง
- ์ ์ฅ ์์น : ์๋ฒ
=> ์๋ฒ์์ ๊ด๋ฆฌํ๋ ์ฌ์ฉ์์ ์ธ์ ์ด ๋ง์์๋ก ์๋ฒ ๋ถํ๊ฐ ์ฆ๊ฐํ ์ ์์ - ๋ณด์์ฑ : ์ค์ ์ ๋ณด๋ ์๋ฒ์ ์์ผ๋ฏ๋ก ๋ ์์ ํจ
- ์ฉ๋ ์ ํ : ์๋ฒ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ, ์ฟ ํค๋ณด๋ค ํจ์ฌ ์ฉ๋ ์ฌ์ ์์
- ์ ํจ๊ธฐ๊ฐ : ๋ณดํต ์ผ์ ์๊ฐ ํ๋ ์์ผ๋ฉด ์๋ ๋ง๋ฃ
- ์์ฒญ ์ ๋์ : ์ธ์
ID๊ฐ ์ฟ ํค์ ๋ด๊ฒจ ์๋ฒ๋ก ์ ์ก๋จ
์ธ์ ์ฐ๋ฉด ์ข์๊น?
- ๋ก๊ทธ์ธ ์ํ ๊ด๋ฆฌ
- ๊ฐ์ธ์ ๋ณด, ๊ฒฐ์ ์ ๋ณด ๋ฑ ๋ณด์์ด ์ค์ํ ์ ๋ณด
- ์ผํ๋ชฐ์ ์ฃผ๋ฌธ ๊ณผ์ ์ฒ๋ผ ์ํ ์ ์ง๊ฐ ์ค์ํ ํ๋ฆ
๋ง๋ฌด๋ฆฌ
ํญ๋ชฉ | ์ฟ ํค | ์ธ์ |
์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ | ์๋ฒ |
๋ณด์์ฑ | ๋ฎ์ (์กฐ์ ๊ฐ๋ฅ) | ๋์ (์๋ฒ์ ์ ์ฅ) |
์ฉ๋ ์ ํ | ์์ (4KB ๋ด์ธ) | ์๋ฒ ๋ฆฌ์์ค ์์กด |
์ ์ง ๊ธฐ๊ฐ | ์ค์ ๊ฐ๋ฅ | ์ผ๋ฐ์ ์ผ๋ก ์งง์ (ํ์์์) |
์ฌ์ฉ ์์ | ์๋ ๋ก๊ทธ์ธ, ๋นํ์ ์ฅ๋ฐ๊ตฌ๋ | ๋ก๊ทธ์ธ ์ํ, ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ |
์ฟ ํค์ ์ธ์ ์ ํจ๊ป ํ์ฉํ๋ ์ผ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์
- ์๋ฒ๋ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ํ์ธํ ๋ค ์ธ์
์ ๋ง๋ฌ
- ๊ทธ ์ธ์
์ ID๋ฅผ ์ฟ ํค์ ๋ด์ ํด๋ผ์ด์ธํธ์ ๋ณด๋
- ํด๋ผ์ด์ธํธ๋ ์ดํ ์์ฒญ๋ง๋ค ๊ทธ ์ฟ ํค(์ธ์
ID)๋ฅผ ์๋ฒ์ ๋ณด๋
- ์๋ฒ๋ ๊ทธ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ฐพ์ ์ฒ๋ฆฌํจ
์ต๊ทผ์๋ JWT(Json Web Token) ๊ธฐ๋ฐ ์ธ์ฆ๋ ๋ง์ด ์
JWT๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ํธํํด์ ํ ํฐ ํํ๋ก ํด๋ผ์ด์ธํธ์ ์ ์ฅํ๊ณ , ์ด๋ฅผ HTTP ์์ฒญ ํค๋์ ๋ด์ ๋ณด๋ด๋ ๋ฐฉ์์
์ฟ ํค / ์ธ์ : ์๋ฒ๊ฐ ์ฌ์ฉ์ ์ํ๋ฅผ "๊ธฐ์ต"ํจ
JWT : ์๋ฒ๋ "๊ธฐ์ต"ํ์ง ์๊ณ , ํด๋ผ์ด์ธํธ๊ฐ ์ค์ค๋ก ์ฆ๋ช ํจ
'๐ป CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฑ๊ธํด ํจํด(Singleton Pattern)์ด๋? (0) | 2025.07.02 |
---|---|
์ฝ๋ฃจํด์ ์ฌ์ฉํ ์์ ์ฒ๋ฆฌ๊ฐ ๊ธฐ์กด ์ค๋ ๋ ๋ฐฉ์๋ณด๋ค ๊ฐ๋ฒผ์ด ์ด์ (1) | 2025.06.30 |
๋ช ๋ น์ด ํ์ดํ๋ผ์ด๋์ด๋? (1) | 2025.06.24 |
์ฐธ์กฐ ์ง์ญ์ฑ์ ์๋ฆฌ๋? (0) | 2025.06.22 |
Go(Golang)์ด๋? (0) | 2025.06.06 |