๐ชCookie
์น์ฌ์ดํธ ์ ์์ ์ ์์์ ๊ฐ์ธ์ฅ์น์ ๋ค์ด๋ก๋ ๋๊ณ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ ์์ ํ ์คํธ ํ์ผ.
์น์ฌ์ดํธ๋ ์ฟ ํค๋ฅผ ํตํด ์ ์์์ ์ฅ์น๋ฅผ ์ธ์ํ๊ณ , ์ ์์์ ์ค์ ๊ณผ ๊ณผ๊ฑฐ ์ด์ฉ๋ด์ญ์ ๋ํ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
์ฟ ํค๋ key,valueํํ์ ๋ฌธ์์ด๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด 4KB ์ด์ ์ ์ฅ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ธ๋ผ์ฐ์ ๋ง๋ค ์ ์ฅ๋๋ ์ฟ ํค๋ค์ ๋ค ๋ค๋ฅด๋ค.(ํฌ๋กฌ, ์ต์คํ๋ก๋ฌ, ์ฌํ๋ฆฌ, ํ์ด์ดํญ์ค ๋ฑ)
1) ๊ธฐ์ ์ ์ฟ ํค : ๊ฒ์ํ๋ ์ฃผ์ฒด๊ฐ ์ฌ๋์ธ์ง, ์ดํ๋ฆฌ์ผ์ด์ ์ธ์ง ์ด์ฉ์ ๊ตฌ๋ถ ๊ธฐ๋ฅ ์ํ
2) ๋ถ์ ์ฟ ํค : ์ด๋ค ์ข ๋ฅ๋ฅผ ๊ฒ์ํ๋์ง, ๋ง์ด ๊ฒ์ํ๋์ง, ์๊ฐ, ์ธ์ด ๋์ ๋ฑ์ ์ ๋ณด๋ฅผ ์์ง
3) ๊ด๊ณ ์ฟ ํค : ๊ฒ์ ๋ด์ฉ, ๊ตญ๊ฐ, ์ธ์ด์ ๋ฐ๋ผ ๊ด๊ณ ๊ฒ์ฌ
1) ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ํ๋ฉด ์๋ฒ๋ ์๋ตํ ๋ ์ฟ ํค์ ์ ์ฅํ๊ณ ์ ํ๋ ์ ๋ณด๋ฅผ
Header
์ Set-Cookie
๋ก ์ ๋ฌํ๋ค
2) ํด๋ผ์ด์ธํธ๋ ์๋ฒ๋ก ์ ์กํ๋ ์์ฒญ์ ํ์ฌ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ์ฟ ํค๋ฅผ Header์ Cookie๋ก ์ ๋ฌ
์๋ฒ๊ฐ ์ฟ ํค์ ํจ๊ป ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ์ ๋ฌํ๋ฉด
์ดํ์๋ ํด๋น ํด๋ผ์ด์ธํธ๋ ๋งค๋ฒ ์ ์ฅ๋ ๐ช ์ฟ ํค
๋ฅผ Header
์์ ํฌํจํด ์์ฒญ์ ๋ณด๋ธ๋ค
์ผ๋ฐ์ ์ผ๋ก Session ์ฟ ํค๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋ ๋ ์ ๊ฑฐ๋๋ ์ฟ ํค๋ค
๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋๋๋ผ๋ ์ฟ ํค๋ฅผ ์ ์งํ๊ณ ์ ํ๋ค๋ฉด?
Permanent
๋ฅผ ์ฌ์ฉํ๋ค
์ฟ ํค ์์ฑ์ Expires or Max-Age ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
1) Max-age : ํ์ฌ ์๊ฐ ๊ธฐ์ค์ผ๋ก ์ผ๋ง๋์ ์ฟ ํค๋ฅผ ์ ์งํ ์ง ์ง์
2) Expires : ์ฟ ํค๊ฐ ๋ง๋ฃ๋ ๋ ์ง ์ง์
์ฟ ํค๋ฅผ ์ด์ฉํด ํ์ด์ง ์ด๋ ์๋ง๋ค ๋ก๊ทธ์ธ์ ๋ค์ ํ ํ์์์ด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ ์ ์๋ค.
์ฟ ํค๊ฐ ์๋ค๋ฉด ํด๋น ์ฌ์ฉ์ ์ ๋ณด ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ด์ง๋ง๋ค ๊ณ์ ๋๊ฒจ์ค์ผ ํ ๊ฒ์ด๋ค.
์ฟ ํค๊ฐ ์ด์ฉ๋๋ ์ฌ๋ก ์์
1. ID ์ ๋ณด ์ ์ฅ : ๋ก๊ทธ์ธ ์ํ ์ ์ง
2. ์ต๊ทผ ๊ฒ์ํ ์ ๋ณด ๊ด๊ณ ์ถ์ฒ
3. ์ผํ๋ชฐ ์ฅ๋ฐ๊ตฌ๋ ์ ์ฅ ๊ธฐ๋ฅ
4. 3์ผ๊ฐ, 7์ผ๊ฐ ๋ฑ ์ผ์ ๊ธฐ๊ฐ ๋ค์ ๋ณด์ง ์๊ธฐ ์ฒดํฌ(์ฟ ํค ๋ ์ง ๊ธฐ๋ก ๊ณ์ฐ)
์ฌ์ฉ์๋ ์ฟ ํค๋ฅผ ํตํด ๋ก๊ทธ์ธ Id,pw๋ฅผ ์ฟ ํค์ ์ ์ฅํ๋ค.
๋ค๋ง ์ด ์ฟ ํค๊ฐ ๋
ธ์ถ๋๋ฉด ๋ณด์ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํค๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ์ธ์
(Session)์ด ์กด์ฌํ๋ค.
์ธ์
์ ๋น๋ฐ๋ฒํธ ๊ฐ์ด ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฟ ํค์ ์ ์ฅํ์ง ์๊ณ ,
์ฌ์ฉ์์ ์๋ณ์์ธ JSESSIONID๋ก ์ ์ฅํ๋ค.
์๋ฒ์์๋ ์ธ์ฆ ์ ๋ณด์ ๊ฐ์ด ์ด ID์ ํด๋นํ๋ ๋ก๊ทธ์ธ ์ํ, ์๊ฐ, ๋๋ค์, ๋ง๋ฃ๊ธฐํ ๋ฑ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
์๋ฒ๋ ํด๋น ์ธ์ ID๋ก ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ณด์์ ์์ ํ ์ ์๋ค.
์ธ์ ๋์ ์๋ฆฌ
- ํด๋ผ์ด์ธํธ -> ์๋ฒ
Request ์์ฒญ- ์๋ฒ -> ํด๋ผ์ด์ธํธ
Session ID ์ฟ ํค ๊ฐ ์ฒดํฌ ํ ์์ ๊ฒฝ์ฐ ์๋ก ์์ฑํด์ response- ํด๋ผ์ด์ธํธ๋ ์ ๋ฌ๋ฐ์ SessionID ๊ฐ์ ๋งค ์์ฒญ๋ง๋ค Header ์ฟ ํค์ ๋ด์์ ์ ๋ฌ
- ์๋ฒ๋ Session ID ๋ก ์ฌ์ฉ์๋ฅผ ์๋ณ
- ํด๋ผ์ด์ธํธ๊ฐ ๋ก๊ทธ์ธ ์์ฒญ ์ ์๋ฒ์์๋ session์ ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ์ ๋ณด๋ก ๊ฐฑ์ ํ๊ณ , ์๋ก์ด Session ID๋ฅผ ๋ฐ๊ธํ์ฌ ์๋ตํ๋ค
- ํด๋ผ์ด์ธํธ๊ฐ ์ดํ์ ์ฌ์ฉ์์ session ID ์ฟ ํค๋ฅผ ์์ฒญ๊ณผ ํจ๊ป ์ ๋ฌ, ์๋ฒ์์๋ ํด๋น ๋ก๊ทธ์ธ ์ฌ์ฉ์๋ก ์๋ณ
๐ฆ WebStorage
์น์ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ์ฅํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ
Web Storage์ ๊ฐ๋ ์ ํค/๊ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ํจํด์ด๋ค.
Web Storage๋
LocalStorage
์ SessionStorage
๋ฅผ ๋ฐ๋ก ๋์ด ๋ฐ์ดํฐ์ ์ง์์ฑ์ ๊ตฌ๋ถํ ์ ์์ผ๋ฉฐ
์ด ๋๋ฌธ์ ์์ฉ ํ๊ฒฝ์ ๋ง๋ ์ ํ์ด ๊ฐ๋ฅํ๋ค.
Web storage
๋ Cookie
์ ๋งค์ฐ ์ ์ฌํ๋ค
์ฌ์ค ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ง๋ง ๋ช ๊ฐ์ง ์ฟ ํค์ ๋จ์ ์ ๊ทน๋ณตํ๋ ๊ฐ์ ์ ์ด ๋์
๋์๋ค.
๊ทธ๋ฌ๋ ์ฟ ํค๋ ์ฌ์ ํ ์ ํจํ๊ณ ๊ฝค ์ ์ ํ ํด๋ผ์ด์ธํธ ์ ์ฅ๋๊ตฌ์์ ํ๋ฆผ์๋ค. HTML5 ์์ Web Storage ์คํ์ ์๋ก ์ถ๊ฐํ์ง๋ง ์ฟ ํค๋ฅผ ๋ฐฐ์ ํ๋ค๋ ์๋ฏธ๋ ์๋๋ค. HTML5 ์์๋ ์ฌ์ ํ ์ฟ ํค๋ฅผ ์ด์ฉ ๊ฐ๋ฅํ๋ค.
๋งค๋ฒ ์๋ฒ๋ก ์ ์ก vs ํด๋ผ์ด์ธํธ์ ์กด์ฌ
์น ์ฌ์ดํธ์์ ์ฟ ํค๋ฅผ ์ค์ ํ๋ฉด ์ดํ ๋ชจ๋ ์น ์์ฒญ์ ์ฟ ํค์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์๋ฒ๋ก ์ ์ก๋๋ค.
Web Storage๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ํด๋ผ์ด์ธํธ์ ์กด์ฌํ ๋ฟ ์๋ฒ๋ก ์ ์ก์ ์ด๋ฃจ์ด์ง์ง ์๋๋ค. ์ด๋ ๋คํธ์ํฌ ํธ๋ํฝ ๋น์ฉ์ ์ค์ฌ ์ค๋ค.
๋จ์ ๋ฌธ์์ด vs ๊ฐ์ฒด
Web Storage๋ ๋จ์ ๋ฌธ์์ด์ ๋์ด(์คํฌ๋ฆฝํธ) ๊ฐ์ฒด์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์๋ค.
๋ฌธ์์ด ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ด์ธ์ ์ฒด๊ณ์ ์ผ๋ก ๊ตฌ์กฐํ๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๋ค๋ ๊ฒ์ ๊ฐ๋ฐ ํธ์์ฑ์ ์ ๊ณตํด์ฃผ๋ ์ฃผ์ํ ์ฅ์ ์ด ๋๋ค. ๋ธ๋ผ์ฐ์ ์ ์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํด ๋ด์ผ ํ๋ ํญ๋ชฉ์ด๋ค.
์ฉ๋์ ์ ํ
์ฟ ํค๋ ๊ฐ์์ ์ฉ๋์ ์์ด ์ ํ์ด ์๋ค. ํ๋์ ์ฌ์ดํธ์์ ์ ์ฅํ ์ ์๋ ์ต๋ ์ฟ ํค ์๋ 20๊ฐ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋์ ์ฌ์ดํธ์์ ์ ์ฅํ ์ ์๋ ์ต๋ ์ฟ ํค ํฌ๊ธฐ๋ 4KB๋ก ์ ํ๋์ด ์๋ค.
๊ทธ๋ฌ๋ Web Storage์๋ ์ด๋ฌํ ์ ํ์ด ์๋ค. ๊ทธ๋ฌ๋ ์ฟ ํค๋ ํ์ํค๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ฌํ ์ ํ์ ์ผ๋ถ ํด์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ถ๋ถ ์ฟ ํค์ ์ ํ์ผ๋ก๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ผ์ด ์๋ค.
์๊ตฌ ๋ฐ์ดํฐ ์ ์ฅ ๊ธฐ๋ฅ
์ฟ ํค๋ ๋ง๋ฃ์ผ์๋ฅผ ์ง์ ํ๊ฒ ๋์ด ์์ด ์ธ์ ๊ฐ ์ ๊ฑฐ๋๋ค. ๋ง๋ฃ์ผ์๋ก ์ง์ ๋ ๋ ์ง์ ์ฟ ํค๋ ์ ๊ฑฐ๋๋ ๊ฒ์ด๋ค. ๋ง์ฝ ๋ง๋ฃ์ผ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์ธ์
์ฟ ํค๊ฐ ๋๋ค. ๋ง์ผ ์๊ตฌ ์ฟ ํค๋ฅผ ์ํ๋ค๋ฉด ๋ง๋ฃ์ผ์๋ฅผ ๊ต์ฅํ ๋ฉ๊ฒ ์ค์ ํ์ฌ ํด๊ฒฐํ ์ ์๋ค.
WebStorage๋ ๋ง๋ฃ๊ธฐ๊ฐ์ ์ค์ ์ด ์๋ค. ์ฆ, ํ๋ฒ ์ ์ฅํ ๋ฐ์ดํฐ๋ ์๊ตฌ์ ์ผ๋ก ์กด์ฌํ๋ ๊ฒ์ด๋ค.
Web Storage๋ ๋ฐ์ดํฐ์ ์ง์์ฑ๊ณผ ๊ด๋ จํ์ฌ ๋ ๊ฐ์ง ์ฉ๋์ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ค.
์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก Web Storage๋ ์ฟ ํค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ดํธ์ ๋๋ฉ์ธ ๋จ์๋ก ์ ๊ทผ์ด ์ ํ๋๋ค. ์๋ฅผ ๋ค์ด, A ๋๋ฉ์ธ์์ ์ ์ฅํ ๋ฐ์ดํฐ๋ B ๋๋ฉ์ธ์์ ์กฐํํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ๋ฐ์ดํฐ์ ๋ณด์ ์ธก๋ฉด์์ ๋น์ฐํ๋ค.
LocalStorage
์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ช
์์ ์ผ๋ก ์ง์ฐ์ง ์๋ ์ด์ ์๊ตฌ์ ์ผ๋ก ๋ณด๊ด์ด ๊ฐ๋ฅํ๋ค. ์์ ๋งํ๋๋ก ๋๋ฉ์ธ๋ง๋ค ๋ณ๋๋ก ๋ก์ปฌ ์คํ ๋ก์ง๊ฐ ์์ฑ๋๋ค. Windows ์ ์ญ ๊ฐ์ฒด์ LocalStorage๋ผ๋ ์ปฌ๋ ์
์ ํตํด ์ ์ฅ๊ณผ ์กฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
SessionStorage
SessionStorage๋ ๋ฐ์ดํฐ์ ์ง์์ฑ๊ณผ ์ก์ธ์ค ๋ฒ์์ ํน์ํ ์ ํ์ด ์กด์ฌํ๋ค. SessionStorage๋ windows ์ ์ญ ๊ฐ์ฒด์ sessionStorage๋ผ๋ ์ปฌ๋ ์
์ ํตํด ์ ์ฅ๊ณผ ์กฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
๋ฐ์ดํฐ ์ ์ง ์ธก๋ฉด
SessionStorage๋ ๋ฐ์ดํฐ๊ฐ ์ง์์ ์ผ๋ก ๋ณด๊ด๋์ง ์๋๋ค. ์ด๋ ๋ง์น ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์ธ์
์ฟ ํค์ ๊ทธ ์ฑ์ง์ด ๋น์ทํ๋ฐ, ํ์ฌ ํ์ด์ง๊ฐ ๋ธ๋ผ์ฐ์ง๋๊ณ ์๋ ๋ธ๋ผ์ฐ์ ์ปจํ
์คํธ ๋ด์์๋ง ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋ค.
LocalStorage๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ๋ ๋ณด๊ด๋์ด ๋ค์๋ฒ ์ ์์๋ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด, SessionStorage๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ฐ์ดํฐ๋ ๊ฐ์ด ์ง์์ง๋ค. ์ฆ, ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ฉด SessionStorage๋ ์ญ์ ๋๋ค๋ ๊ฒ์ด๋ค.
๋ฐ์ดํฐ ๋ฒ์ ์ธก๋ฉด
SessionStorage ์ญ์ Web Storage์ ๊ธฐ๋ณธ ๋ณด์ ์ฒ๋ผ ๋๋ฉ์ธ๋ณ๋ก ๋ณ๋๋ก ์์ฑ๋๋ค. ์ฌ๊ธฐ ๋๋ถ์ด SessionStorage๋ ๊ฐ์ ์ฌ์ดํธ์ ๊ฐ์ ๋๋ฉ์ธ์ด๋ผ ํ ์ง๋ผ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅด๋ฉด ์๋ก ๋ค๋ฅธ ์์ญ์ด ๋๋ค. ๋ธ๋ผ์ฐ์ ์ปจํ
์คํธ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
ํญ ๋ธ๋ผ์ฐ์ง์ด๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํ๋ ๋ ์คํํด์ ๊ฐ์ ํ์ด์ง๋ฅผ ์คํํ์ ๋, ์ด ๋ ํ์ด์ง์ SessionStorage๋ ๊ฐ๊ฐ ๋ณ๊ฐ์ ์์ญ์ผ๋ก ์๋ก ์นจ๋ฒํ์ง ๋ชปํ๋ค๋ ์๋ฏธ์ด๋ค. ์ด๋ ๋๋ฉ์ธ๋ง ๊ฐ์ผ๋ฉด ์ ์ญ์ ์ผ๋ก ๊ณต์ ๊ฐ๋ฅํ LocalStorage์ ๊ตฌ๋ถ๋๋ ํน์ง์ด๋ค.
WebStorage์ ๋ณด์์ ์๋ก ๋ค๋ฅธ ๋๋ฉ์ธ์ ๋ฐ์ดํฐ ์นจ๋ฒ์ ๋ง๊ณ ๋ ์์ง๋ง ํด๋ผ์ด์ธํธ, ์ฆ ์ฌ์ฉ์๋ฅผ ๋ง๊ณ ์์ง๋ ์๋ค. ํด๋ผ์ด์ธํธ๋ ์ผ๋ง๋ ์ง ์ ์ฅ๋ ๊ฐ์ ์์๋ก ์์ ์ด ๊ฐ๋ฅํ๋ค. ์ด๊ฒ์ ์ฟ ํค์ ๋์ผํ ๊ฐ๋ ์ด๋ค. ๊ทธ๋ ๋ค๊ณ ์ฟ ํค์ ๋นํด ๋ณ๋ค๋ฅธ ๋ณด์ ์ทจ์ฝ์ ์ ๋ ๊ฐ์ง ๊ฒ์ ์๋๋ค.
๋ฐ๋ผ์ ๊ฐ๋ฐ์๋ ์ฌ์ฉ์์ ์ํ ์ด๋ฌํ ์์ ๋ณ๊ฒฝ์ ํญ์ ์์ ์ฃผ์ํ๊ณ ๋ฐฉ์ด ์ฝ๋์ ์์ฑ์ ์์ง ๋ง์์ผ ํ๋ค.
Reference
SessionStorage ์ LocalStorage ์ฐจ์ด์
์น ๋ธ๋ผ์ฐ์ ์ฟ ํค๋?