Cookie์ ์ด์ด์ Session์ ๋ํด์ ์ดํด๋ณด์.
1. ๊ฐ๋ ๐ถ
์ธ์ (Session)์ ์ฟ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ง๋ง, ์ฌ์ฉ์ ์ ๋ณด ํ์ผ์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๋ ์ฟ ํค์ ๋ฌ๋ฆฌ ์ธ์ ์ ์๋ฒ ์ธก์์ ๊ด๋ฆฌํ๋ค. ์น ์๋ฒ์ ์ ์ฅ๋๋ ์ฟ ํค๋ผ๊ณ ํ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ก๊ทธ์ธ ๊ฐ์ด ๋ณด์์ ์ค์ํ ์์ ์ ์ํํ ๋ ์ฌ์ฉํ๋ค.
2. ํน์ง ๐ฑ
- ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๋ฅผ ์๋ฒ์ ๋๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ณด๋ค ๋ณด์์ด ์ข๋ค.
- ์ฌ์ฉ์๊ฐ ๋ง์์ง์๋ก ์๋ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๋ค.
- ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๊ณ ์ ID(์ธ์ ID)๋ฅผ ๋ถ์ฌํ๋ค.
- ์ธ์ ID๋ก ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ๋ถํด์ ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ ๋ง๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
- ์ ์ฅ ๋ฐ์ดํฐ์ ์ ํ์ด ์๋ค.
- ๋ง๋ฃ ์์ ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ก๊ทธ์์ํ๊ฑฐ๋, ์ค์ ์๊ฐ ๋์ ๋ฐ์์ด ์์ผ๋ฉด ๋ฌดํจํ๋๊ธฐ ๋๋ฌธ์ ์ ํํ ์์ ์ ์ ์ ์๋ค.
3. ๋์์์ ๐ฎ
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ ์ ์ธ์ ID๋ฅผ ๋ฐ๊ธ๋ฐ์
- ํด๋ผ์ด์ธํธ๋ ์ธ์ ID์ ๋ํด ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์ ์ฅํ๊ณ ๊ฐ์ง๊ณ ์์
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญํ ๋, ์ด ์ฟ ํค์ ์ธ์ ID๋ฅผ ๊ฐ์ด ์๋ฒ์ ์ ๋ฌํด์ ์์ฒญ
- ์๋ฒ๋ ์ธ์ ID๋ฅผ ์ ๋ฌ๋ฐ์์ ๋ณ๋ค๋ฅธ ์์ ์์ด ์ธ์ ID๋ก ์ธ์ ์ ์๋ ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉ
- ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ฒ ์์ฒญ์ ์ฒ๋ฆฌํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต
4. ์ค์ ๋ฐฉ๋ฒ ๐ท
// ์์ฑ
HttpSession session = request.getSession();
// ๊ฐ ์ ์ฅ
session.setAttribute(String name, Object value);
// ๊ฐ ์ป๊ธฐ
Object obj = session.getAttribute(String name);
๊ฐ์ ์ป์ด์ฌ ๋ ํญ์ Object ํ์์ผ๋ก ์ป์ด์จ๋ค๋ ์ ์ ์ฃผ์ํ์.
5. ๋ฌธ์ ์ ๋ฐ ์ฃผ์์ ๐ญ
๋์์ ์์๊ฐ ๋ง์ ์น ์ฌ์ดํธ์ ๊ฒฝ์ฐ ์๋ฒ์ ๊ณผ๋ถํ๋ฅผ ์ฃผ๊ฒ ๋๋ฏ๋ก ์ฑ๋ฅ ์ ํ์ ์์ธ์ด ๋๋ค.
6. Cookie์ Session ๋น๊ต ๐ผ
์ฟ ํค(Cookie) | ์ธ์ (Session) | |
์ ์ฅ์์น | Client | Server |
์ ์ฅํ์ | Text | Object |
๋ง๋ฃ์์ | ์ฟ ํค ์ ์ฅ์ ์ค์ (์ค์ ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์) |
์ ์ ์์ (Client๊ฐ ๋ก๊ทธ์์ ํ๊ฑฐ๋, ์ผ์ ์๊ฐ๋์ session์ ์ ๊ทผํ์ง ์์ ๊ฒฝ์ฐ) |
์ฉ๋์ ํ | ํ ๋๋ฉ์ธ ๋น 20๊ฐ ํ ์ฟ ํค๋น 4KB |
์ ํ์์ |
ํด๋น ๊ธ์
RyanGomdoriPooh ๋์ '์ฟ ํค์ ์ธ์ ๊ฐ๋ ',
Gyoogle ๋์ 'Cookie & Session'
์ ์ฐธ๊ณ ํ์์ต๋๋ค.
'๐ WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฟ ํค์ ๋ณด์ ๋ฌธ์ (0) | 2023.04.29 |
---|---|
์บ์(Cache) - ๊ฒ์ฆ ํค๋์ ์กฐ๊ฑด๋ถ ์์ฒญ ํค๋ (0) | 2023.03.29 |
์บ์(Cache) (0) | 2023.03.29 |
์ฟ ํค(Cookie) (0) | 2023.03.28 |