Web Storage
"์ฟ ํค๋ณด๋ค ๋ ๋ง์ ์ ์ฅ ๊ณต๊ฐ"
์ง๋ ๊ธ์์ Cookie๋ฅผ ๋ณด์ ์ธก๋ฉด์์ ์ฃผ๋ก ๋ค๋ค๋ดค๋ค๋ฉด, ์ด๋ฒ ๊ธ์์ ์ ์ฅ๊ณต๊ฐ ์ธก๋ฉด์์ ๋ค๋ค๋ณผ๊นํ๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. HTML5 ์ด์ ์๋ ์ฟ ํค(Cookie)๊ฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ผํ ์ ์ฅ์ ์ญํ ์ ํ์ง๋ง, HTML5 ํ์ค์ด ๋ฑ์ฅํ๋ฉด์ Storage๊ฐ ์ถ๊ฐ๋์๊ณ , ์ด๋ฅผ ํตํด ์น ๊ฐ๋ฐ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ Storage์ Cookie์ ์ฐจ์ด์ ๊ณผ ์ฉ๋์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค.
Web Strorage๋?
Storage๋ Cookie, Session ์ฒ๋ผ Stateful HTTP๋ฅผ ์ํ ๊ธฐ์ ์ ์๋๋ค. โ ์ฝ๊ฒ ๋งํด, ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
์น ์คํ ๋ฆฌ์ง๋ ์น ์ฑ์ด ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ก ํ๋ ํด๋ผ์ด์ธํธ ์ธก ์ ์ฅ ๊ณต๊ฐ์ด๋ค.
Local Storage, Session Storage๋ก ๋๋ ์ ์์ผ๋ฉฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ค๋ ์ ์์ Strorage์ Cookie๋ ๋์ผํ๋ค.

Storage์ Cookie ์ฐจ์ด์
Storage์ Cookie๋ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ ๊ณตํต์ ์ด ์์ง๋ง, ๊ทธ ๋ชฉ์ ๊ณผ ์ฉ๋๊ฐ ๋ค๋ฅด๋ค.
- Storage: ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝํ ์ต์ ์ํ ๋ฑ ํ์์ ๋ฐ๋ผ ์กฐํ ํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ง์ง๋ง์ ์ฌ์ฉ์๊ฐ ๋ง์ง๋ง์ผ๋ก ์ด๋ค ์์ ๊ณ์ ์ ์ ํํ๋์ง ๊ธฐ๋กํด ๋์๋ค๊ฐ, ๋ค์ ๋ฒ ๋ก๊ทธ์ธ ์์ ํด๋น ์์ ๊ณ์ ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ค. ํ์ง๋ง, ์ค์ ๋ก๊ทธ์ธ ์ธ์ฆ ์ ๋ณด๋ ์ ์ฅํ์ง ์๋๋ค.
- Cookie: ์น ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ๋ณต์ ์ผ๋ก ์ ๋ฌ๋ฐ์์ผํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด ๋ก๊ทธ์ธ ์ธ์ฆ ์ ๋ณด๋ ์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด ๋ฑ์ ์น ์๋ฒ๊ฐ ๋งค๋ฒ ์์ฒญ์ ๋ฐ์ ๋ ๋ง๋ค ํ์๋ก ํ๋ ์ ๋ณด์ด๋ค.
์ ๋ฆฌ
Storage๋ ์น ๋ธ๋ผ์ฐ์ ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ ์ฅ์๋ก, ํฐ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ฃ ์๊ฐ ์์ด ์ ์ฅํ ์ ์๋ค.
Cookie๋ ์น ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, ์์ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ ์ ์๋ค.
Storage์ ์ข ๋ฅ: ์ ํจ์๊ฐ
Storage๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ ์ ์ฅ์๋ก, ์ ํจ ์๊ฐ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ์ข ๋ฅ๋ก ๋๋๋ค.
- Local Storage: ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ์๋ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ. ๋จ, ์ ์ฅ ์ฉ๋์ด ํฌ๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ์ ์ฃผ์๊ฐ ํ์ํ๋ค.
- ์ ๋ฐ์ ์ผ๋ก ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํ ๋ ๊ฐ๋จํ์ง๋ง ๊ฐ๋ ฅํ ํด๋ผ์ด์ธํธ ์ธก ์คํ ๋ฆฌ์ง ์ต์ ์ด๋ค.
- ์ฌ์ฉ์๊ฐ ์ค์๋ก ํญ์ ๋ซ์๋ ์ ๋ ฅ ๋ด์ฉ์ ์์ง ์๋๋ก ๋ฐ์ดํฐ ์ ์ฅ
- ์ฑ๋ฅ ํฅ์์ ์ํด ์บ์๋ ๋ฐ์ดํฐ ๋๋ ์ด๋ฏธ์ง ์ถ์
๋ค์๊ณผ ๊ฐ์ด ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๋ค.
const user = {
name: 'John Doe',
age: 30,
email: '[john@example.com](mailto:john@example.com)'
};
localStorage.setItem('user', JSON.stringify(user));
์ถํ์ ๊ฒ์
const user = JSON.parse(localStorage.getItem('user'))
- Session Storage: ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ๋ซํ๋ฉด ์ญ์ ๋๋ ๋ฐ์ดํฐ์
๋๋ค. ๋จ๋ฐ์ (ํ๋ฐ์ฑ)์ธ ๋ฐ์ดํฐ ์ ์ฅ์ ์ฌ์ฉ๋๋ค.
- ์ ๋ฐ์ ์ผ๋ก ์ธ์ ์คํ ๋ฆฌ์ง๋ ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ํญ/์ฐฝ์ ๋ซ์๋ ์ง์์ง๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ์ดํฐ๋ ์ถ์ฒ์ ํญ๋ณ๋ก ๋ถ๋ฆฌ๋๋ค.
- ๋ฐ์ดํฐ๋ ์ธ์ , ์ฆ ๋ธ๋ผ์ฐ์ ํญ ๋์๋ง ์ ์ฅ๋๋ค.
- ๋ธ๋ผ์ฐ์ ํญ์ ๋ซ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ง์์ง๋ค.
- ๋ฐ์ดํฐ๋ ์ถ์ฒ(๋๋ฉ์ธ + ํฌํธ)๋ณ๋ก ๋ถ๋ฆฌ๋๋ค.
- ์ ์ฅ ํ๋๋ ์ฟ ํค๋ณด๋ค ํฌ๋ฉฐ ์ฝ 5MB.
- ๋์ผํ ์์ค์์๋ง ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค.
- ์ธ์ ์ ์ฅ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋จ์ผ ์ฌ์ฉ์ ์ธ์ ์ ๋ํ ์์ ๋ฐ์ดํฐ๋ง ์ ์ฅํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ์ฉํ ์ ์๋ค.
- ๊ฒฐ์ ์ ํ์ด์ง ์ฌ์ด์ ์ผํ ์นดํธ๋ฅผ ์ ์ฅํ๋ค.
- ์ฌ๋ฌ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ ํ๋ก์ธ์ค๋ก ํ์ด์ง ๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- ๋จ์ผ ์ธ์ ์ ๋ํ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ด๋ ์ค์ ์ ์ ์ฅํ๋ค.
- ๋ค์์ ์ธ์ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง ๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์.
// Save data to sessionStorage
sessionStorage.setItem('name', 'John');
// Get saved data from sessionStorage
let name = sessionStorage.getItem('name');
Storage์ ์ข ๋ฅ๋ณ ์ฉ๋ก
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํ ๋ Storage๋ฅผ ํ์ฉํ๋ค.
๋จ๋ฐ์ ์ธ ๋ด์ฉ์ Session Stroage, ๊ธธ๊ฒ ์ ์ฅํด๋๋๋ ๋ด์ฉ์ Local Storage
Storage์ Cookie ๋น๊ตํ
ํน์ฑ | Cookie | Storage |
์ ์ฅ ๊ฐ๋ฅ ์ฉ๋ | 4KB | 10MB |
๋ง๋ฃ | ๋ง๋ฃ ์๊ฐ ์ค์ ๊ฐ๋ฅ(์ธ์ : ์๊ตฌ์ ์ฅ) | ๋ง๋ฃ ์๊ฐ ์ค์ ๋ถ๊ฐ๋ฅ(์ธ์ : ์๊ตฌ์ ์ฅ) |
๋ฒ์ | ์ง์ ๋ Domain + Path์๋ง ์ ํจ | ์ง์ ๋ Domain ๋ด์์ ๋ชจ๋ ์ ํจ |
๋ณด์ | Non-HTTPS ์์ฒญ ์ ๋ ธ์ถ ์ํ ์กด์ฌ, ์คํฌ๋ฆฝํธ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ | ์น ๋ธ๋ผ์ฐ์ ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ, ์คํฌ๋ฆฝํธ ์ ๊ทผ ๊ฐ๋ฅ |
๋ธ๋ผ์ฐ์ ๊ฐ ๊ณต์ | ๋ถ๊ฐ(Session์ ํตํด ํด๊ฒฐ ๊ฐ๋ฅ) | ๋ถ๊ฐ(Session์ ํตํด ํด๊ฒฐ ๊ฐ๋ฅ) |
์ด๋ฒ ์๊ฐ์ Web Storage๋ฅผ Cookie์ ๋น๊ตํ์ฌ ์์๋ณด์๋ค.
Storage์ Cookie๋ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง๋ง, ๊ทธ ์ฉ๋์ ์ฌ์ฉ ๋ชฉ์ ์ด ๋ค๋ฅด๋ค. Cookie๋ ์น ์๋ฒ์์ ์ํธ์์ฉ์ ์ํด ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ๋ฉด, Storage๋ ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝํ ์ํ๋ ์ค์ ๋ฑ์ ํฐ ์ฉ๋์ ์ฅ๊ธฐ๊ฐ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ด๋ค. ๋ ๊ฐ์ง ๋ชจ๋ ์น ๊ฐ๋ฒจ์์ ์ค์ํ ๊ฐ๋ ์ด๋ ๊ผญ ์๋ฌํ๋๋ก ํ์ !
๋ค์ ๊ธ์ Session์ ๋ํด ํฌ์คํ ํด๋ณด๊ณ ์ ํ๋ค.
โน๏ธ์ฐธ๊ณ
[ASAC 6๊ธฐ ๊ฐ์์๋ฃ]
https://www.ramotion.com/blog/what-is-web-storage/
'๐ปDEV-STUDY > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
5. ์น ๋ณด์ HTTPS & CORS (0) | 2024.08.27 |
---|---|
4. Session (4) | 2024.08.24 |
2. HTTP Cookie (4) | 2024.08.23 |
1. ์ฟ ํค(Cookie) & ์ธ์ (Session) + JWT (0) | 2024.08.23 |
ํ๋ก์(Proxy) (0) | 2024.08.20 |
Web Storage
"์ฟ ํค๋ณด๋ค ๋ ๋ง์ ์ ์ฅ ๊ณต๊ฐ"
์ง๋ ๊ธ์์ Cookie๋ฅผ ๋ณด์ ์ธก๋ฉด์์ ์ฃผ๋ก ๋ค๋ค๋ดค๋ค๋ฉด, ์ด๋ฒ ๊ธ์์ ์ ์ฅ๊ณต๊ฐ ์ธก๋ฉด์์ ๋ค๋ค๋ณผ๊นํ๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. HTML5 ์ด์ ์๋ ์ฟ ํค(Cookie)๊ฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ผํ ์ ์ฅ์ ์ญํ ์ ํ์ง๋ง, HTML5 ํ์ค์ด ๋ฑ์ฅํ๋ฉด์ Storage๊ฐ ์ถ๊ฐ๋์๊ณ , ์ด๋ฅผ ํตํด ์น ๊ฐ๋ฐ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ Storage์ Cookie์ ์ฐจ์ด์ ๊ณผ ์ฉ๋์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค.
Web Strorage๋?
Storage๋ Cookie, Session ์ฒ๋ผ Stateful HTTP๋ฅผ ์ํ ๊ธฐ์ ์ ์๋๋ค. โ ์ฝ๊ฒ ๋งํด, ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
์น ์คํ ๋ฆฌ์ง๋ ์น ์ฑ์ด ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ก ํ๋ ํด๋ผ์ด์ธํธ ์ธก ์ ์ฅ ๊ณต๊ฐ์ด๋ค.
Local Storage, Session Storage๋ก ๋๋ ์ ์์ผ๋ฉฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ค๋ ์ ์์ Strorage์ Cookie๋ ๋์ผํ๋ค.

Storage์ Cookie ์ฐจ์ด์
Storage์ Cookie๋ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ ๊ณตํต์ ์ด ์์ง๋ง, ๊ทธ ๋ชฉ์ ๊ณผ ์ฉ๋๊ฐ ๋ค๋ฅด๋ค.
- Storage: ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝํ ์ต์ ์ํ ๋ฑ ํ์์ ๋ฐ๋ผ ์กฐํ ํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ง์ง๋ง์ ์ฌ์ฉ์๊ฐ ๋ง์ง๋ง์ผ๋ก ์ด๋ค ์์ ๊ณ์ ์ ์ ํํ๋์ง ๊ธฐ๋กํด ๋์๋ค๊ฐ, ๋ค์ ๋ฒ ๋ก๊ทธ์ธ ์์ ํด๋น ์์ ๊ณ์ ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ค. ํ์ง๋ง, ์ค์ ๋ก๊ทธ์ธ ์ธ์ฆ ์ ๋ณด๋ ์ ์ฅํ์ง ์๋๋ค.
- Cookie: ์น ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ๋ณต์ ์ผ๋ก ์ ๋ฌ๋ฐ์์ผํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด ๋ก๊ทธ์ธ ์ธ์ฆ ์ ๋ณด๋ ์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด ๋ฑ์ ์น ์๋ฒ๊ฐ ๋งค๋ฒ ์์ฒญ์ ๋ฐ์ ๋ ๋ง๋ค ํ์๋ก ํ๋ ์ ๋ณด์ด๋ค.
์ ๋ฆฌ
Storage๋ ์น ๋ธ๋ผ์ฐ์ ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ ์ฅ์๋ก, ํฐ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ฃ ์๊ฐ ์์ด ์ ์ฅํ ์ ์๋ค.
Cookie๋ ์น ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, ์์ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ ์ ์๋ค.
Storage์ ์ข ๋ฅ: ์ ํจ์๊ฐ
Storage๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ ์ ์ฅ์๋ก, ์ ํจ ์๊ฐ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ์ข ๋ฅ๋ก ๋๋๋ค.
- Local Storage: ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ์๋ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ. ๋จ, ์ ์ฅ ์ฉ๋์ด ํฌ๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ์ ์ฃผ์๊ฐ ํ์ํ๋ค.
- ์ ๋ฐ์ ์ผ๋ก ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํ ๋ ๊ฐ๋จํ์ง๋ง ๊ฐ๋ ฅํ ํด๋ผ์ด์ธํธ ์ธก ์คํ ๋ฆฌ์ง ์ต์ ์ด๋ค.
- ์ฌ์ฉ์๊ฐ ์ค์๋ก ํญ์ ๋ซ์๋ ์ ๋ ฅ ๋ด์ฉ์ ์์ง ์๋๋ก ๋ฐ์ดํฐ ์ ์ฅ
- ์ฑ๋ฅ ํฅ์์ ์ํด ์บ์๋ ๋ฐ์ดํฐ ๋๋ ์ด๋ฏธ์ง ์ถ์
๋ค์๊ณผ ๊ฐ์ด ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๋ค.
const user = {
name: 'John Doe',
age: 30,
email: '[john@example.com](mailto:john@example.com)'
};
localStorage.setItem('user', JSON.stringify(user));
์ถํ์ ๊ฒ์
const user = JSON.parse(localStorage.getItem('user'))
- Session Storage: ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ๋ซํ๋ฉด ์ญ์ ๋๋ ๋ฐ์ดํฐ์
๋๋ค. ๋จ๋ฐ์ (ํ๋ฐ์ฑ)์ธ ๋ฐ์ดํฐ ์ ์ฅ์ ์ฌ์ฉ๋๋ค.
- ์ ๋ฐ์ ์ผ๋ก ์ธ์ ์คํ ๋ฆฌ์ง๋ ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ํญ/์ฐฝ์ ๋ซ์๋ ์ง์์ง๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ์ดํฐ๋ ์ถ์ฒ์ ํญ๋ณ๋ก ๋ถ๋ฆฌ๋๋ค.
- ๋ฐ์ดํฐ๋ ์ธ์ , ์ฆ ๋ธ๋ผ์ฐ์ ํญ ๋์๋ง ์ ์ฅ๋๋ค.
- ๋ธ๋ผ์ฐ์ ํญ์ ๋ซ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ง์์ง๋ค.
- ๋ฐ์ดํฐ๋ ์ถ์ฒ(๋๋ฉ์ธ + ํฌํธ)๋ณ๋ก ๋ถ๋ฆฌ๋๋ค.
- ์ ์ฅ ํ๋๋ ์ฟ ํค๋ณด๋ค ํฌ๋ฉฐ ์ฝ 5MB.
- ๋์ผํ ์์ค์์๋ง ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค.
- ์ธ์ ์ ์ฅ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋จ์ผ ์ฌ์ฉ์ ์ธ์ ์ ๋ํ ์์ ๋ฐ์ดํฐ๋ง ์ ์ฅํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ์ฉํ ์ ์๋ค.
- ๊ฒฐ์ ์ ํ์ด์ง ์ฌ์ด์ ์ผํ ์นดํธ๋ฅผ ์ ์ฅํ๋ค.
- ์ฌ๋ฌ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ ํ๋ก์ธ์ค๋ก ํ์ด์ง ๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- ๋จ์ผ ์ธ์ ์ ๋ํ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ด๋ ์ค์ ์ ์ ์ฅํ๋ค.
- ๋ค์์ ์ธ์ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง ๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์.
// Save data to sessionStorage
sessionStorage.setItem('name', 'John');
// Get saved data from sessionStorage
let name = sessionStorage.getItem('name');
Storage์ ์ข ๋ฅ๋ณ ์ฉ๋ก
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํ ๋ Storage๋ฅผ ํ์ฉํ๋ค.
๋จ๋ฐ์ ์ธ ๋ด์ฉ์ Session Stroage, ๊ธธ๊ฒ ์ ์ฅํด๋๋๋ ๋ด์ฉ์ Local Storage
Storage์ Cookie ๋น๊ตํ
ํน์ฑ | Cookie | Storage |
์ ์ฅ ๊ฐ๋ฅ ์ฉ๋ | 4KB | 10MB |
๋ง๋ฃ | ๋ง๋ฃ ์๊ฐ ์ค์ ๊ฐ๋ฅ(์ธ์ : ์๊ตฌ์ ์ฅ) | ๋ง๋ฃ ์๊ฐ ์ค์ ๋ถ๊ฐ๋ฅ(์ธ์ : ์๊ตฌ์ ์ฅ) |
๋ฒ์ | ์ง์ ๋ Domain + Path์๋ง ์ ํจ | ์ง์ ๋ Domain ๋ด์์ ๋ชจ๋ ์ ํจ |
๋ณด์ | Non-HTTPS ์์ฒญ ์ ๋ ธ์ถ ์ํ ์กด์ฌ, ์คํฌ๋ฆฝํธ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ | ์น ๋ธ๋ผ์ฐ์ ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ, ์คํฌ๋ฆฝํธ ์ ๊ทผ ๊ฐ๋ฅ |
๋ธ๋ผ์ฐ์ ๊ฐ ๊ณต์ | ๋ถ๊ฐ(Session์ ํตํด ํด๊ฒฐ ๊ฐ๋ฅ) | ๋ถ๊ฐ(Session์ ํตํด ํด๊ฒฐ ๊ฐ๋ฅ) |
์ด๋ฒ ์๊ฐ์ Web Storage๋ฅผ Cookie์ ๋น๊ตํ์ฌ ์์๋ณด์๋ค.
Storage์ Cookie๋ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง๋ง, ๊ทธ ์ฉ๋์ ์ฌ์ฉ ๋ชฉ์ ์ด ๋ค๋ฅด๋ค. Cookie๋ ์น ์๋ฒ์์ ์ํธ์์ฉ์ ์ํด ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ๋ฉด, Storage๋ ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝํ ์ํ๋ ์ค์ ๋ฑ์ ํฐ ์ฉ๋์ ์ฅ๊ธฐ๊ฐ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ด๋ค. ๋ ๊ฐ์ง ๋ชจ๋ ์น ๊ฐ๋ฒจ์์ ์ค์ํ ๊ฐ๋ ์ด๋ ๊ผญ ์๋ฌํ๋๋ก ํ์ !
๋ค์ ๊ธ์ Session์ ๋ํด ํฌ์คํ ํด๋ณด๊ณ ์ ํ๋ค.
โน๏ธ์ฐธ๊ณ
[ASAC 6๊ธฐ ๊ฐ์์๋ฃ]
https://www.ramotion.com/blog/what-is-web-storage/
'๐ปDEV-STUDY > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
5. ์น ๋ณด์ HTTPS & CORS (0) | 2024.08.27 |
---|---|
4. Session (4) | 2024.08.24 |
2. HTTP Cookie (4) | 2024.08.23 |
1. ์ฟ ํค(Cookie) & ์ธ์ (Session) + JWT (0) | 2024.08.23 |
ํ๋ก์(Proxy) (0) | 2024.08.20 |