171121 Cookie & Session - RYUDONGJIN/Memo_wiki GitHub Wiki
Cookie
- ์น๋ธ๋ผ์ฐ์ ์์ ์๋ฒ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด, ์๋ฒ ์ธก์์๋ ๋ก์ง์ ์ํํ ํ ๋ฐ์ดํฐ๋ฅผ ์น๋ธ๋ผ์ฐ์ ์ ์๋ตํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ์๋ฒ๋ ์น๋ธ๋ผ์ฐ์ ์์ ๊ด๊ณ๋ฅผ ์ข ๋ฃํ๋ค. ์ด๋ ๊ฒ ์น๋ธ๋ผ์ฐ์ ์ ์๋ต ํ ๊ด๊ณ๋ฅผ ๋๋ ๊ฒ์ httpํ๋กํ ์ฝ์ ํน์ง
์ฟ ํค๋ : ์ฐ๊ฒฐ์ด ๋๊ฒผ์ ๋ ์ด๋ค ์ ๋ณด๋ฅผ ์ง์์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํ ์๋จ
- ์ฟ ํค๋ ์๋ฒ์์ ์์ฑํ์ฌ, ์๋ฒ๊ฐ ์๋ ํด๋ผ์ด์ธํธ ์ธก์ ํน์ ์ ๋ณด๋ฅผ ์ ์ฅ
- ์๋ฒ์ ์์ฒญํ ๋๋ง๋ค ์ฟ ํค์ ์์ฑ๊ฐ์ ์ฐธ์กฐ ๋๋ ๋ณ๊ฒฝํ ์ ์๋ค.
- ์ฟ ํค๋ 4kb๋ก ์ฉ๋์ด ์ ํ / 300๊ฐ๊น์ง ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง ์ ์์.
์ฟ ํค ์์ฑ(Cookie class) -> ์์ฑ ์ค์ (setter) -> response๊ฐ์ฒด์ ์ฟ ํค ํ์ฌ(response.addCookie())
* setMaxAge() : ์ฟ ํค ์ ํจ๊ธฐ๊ฐ์ ์ค์
* setPath() : ์ฟ ํค์ฌ์ฉ์ ์ ํจ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์
* setValue() : ์ฟ ํค์ ๊ฐ์ ์ค์
* setVersion() : ์ฟ ํค ๋ฒ์ ์ ์ค์
* getMaxAge() : ์ฟ ํค ์ ํจ๊ธฐ๊ฐ ์ ๋ณด๋ฅผ ์ป๋๋ค
* getName() : ์ฟ ํค ์ด๋ฆ์ ์ป๋๋ค
* getPath() : ์ฟ ํค ์ฌ์ฉ์ ์ ํจ ๋๋ ํ ๋ฆฌ ์ ๋ณด๋ฅผ ์ป๋๋ค
* getValue() : ์ฟ ํค์ ๊ฐ์ ์ป๋๋ค
* getVersion() : ์ฟ ํค ๋ฒ์ ์ ์ป๋๋ค
Session
- ์๋ฒ์์ ๊ด๊ณ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์๋จ.
- ์ฟ ํค์ ๋ฌ๋ฆฌ ํด๋ผ์ด์ธํธ์ ํน์ ์์น์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ, ์๋ฒ์์ ๊ฐ์ฒด๋ก ์กด์ฌ
- ์ธ์ ์ ์๋ฒ์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ, ๋ณด์์ด ์ข๊ณ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ์ ํ๊ณ๊ฐ ์์.
ํด๋ผ์ด์ธํธ ์์ฒญ(Web Browser) -> session ์๋ ์์ฑ -> Session ์์ฑ ์ค์ (session) ๋ด๋ถ ๊ฐ์ฒด์ ๋ฉ์๋ ์ด์ฉ
* setAttribute() : ์ธ์
์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
* getAttribute() : ์ธ์
์์ ๋ฐ์ดํฐ๋ฅผ ์ป๋๋ค
* getAttributeNames() : ์ธ์
์ ์ ์ฅ๋์ด ์๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ด๋ฆ(์ ๋ํฌํ ํค๊ฐ)์ Enumeration ๊ฐ์ฒด ํ์
์ผ๋ก ๋ฆฌํด
* getId() : ์๋ ์์ฑ๋ ์ธ์
์ ์ ๋ํฌํ ์์ด๋๋ฅผ ์ป๋๋ค.
* isNew() : ์ธ์
์ด ์ต์ด ์์ฑ๋์๋์ง, ์ด์ ์ ์์ฑ๋ ์ธ์
์ธ์ง๋ฅผ ๊ตฌ๋ถ
* setMaxInactiveInterval() : ์ธ์
์ ์ ์งํ๊ธฐ ์ํ ์ธ์
์ ์ง์๊ฐ์ ์ด๋จ์๋ก ์ค์
* getMaxInactiveInterval() : ์ธ์
์ ์ ํจ์๊ฐ์ ์ป๋๋ค. ๊ฐ์ฅ ์ต๊ทผ ์์ฒญ์์ ์ ๊ธฐ์ค์ผ๋ก ์นด์ดํธ
* removeAttribute() : ์ธ์
์์ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐ
* invalidate() : ์ธ์
์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์
* getCreationTime() : ํ์ฌ ์ธ์
์ด ์์ฑ๋ ์๊ฐ๊น์ง ๊ฒฝ๊ณผํ ์๊ฐ์ ๊ณ์ฐํ์ฌ ๋ฆฌํด