λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“  archive

Cookie & Web Storage

by HandHand 2022. 5. 22.

πŸ“Œ 쿠킀와 차이점?

1️⃣ λ„€νŠΈμ›Œν¬ μš”μ²­ μ‹œ

μ›Ή μ‚¬μ΄νŠΈμ—μ„œ cookie λ₯Ό μ„€μ •ν•˜λ©΄ 맀 μš”μ²­λ§ˆλ‹€ 헀더에 λ‹΄κ²¨μ„œ μ„œλ²„λ‘œ μ „μ†‘λ©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ web storage λŠ” μ €μž₯된 데이터가 ν΄λΌμ΄μ–ΈνŠΈμ— μ‘΄μž¬ν•˜λ©° μ„œλ²„λ‘œ μ „μ†‘λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이λ₯Ό 톡해 λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½ λΉ„μš©μ„ 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ HTTP 헀더 μ‘°μž‘

λ˜ν•œ μŠ€ν† λ¦¬μ§€ κ°μ²΄λŠ” μ„œλ²„κ°€ HTTP 헀더λ₯Ό 톡해 μ‘°μž‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

web storage κ°μ²΄λŠ” λͺ¨λ‘ JS λ‚΄μ—μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€.

3️⃣ μ €μž₯μš©λŸ‰

μΏ ν‚€λŠ” μ΅œλŒ€ 20κ°œμ— 각 쿠킀에 4KB 의 μš©λŸ‰ μ œν•œμ΄ μžˆλŠ” λ°˜λ©΄μ—

web storage λŠ” λΈŒλΌμš°μ €μ™€ 기기에 따라 λ‹€λ₯΄μ§€λ§Œ

λͺ¨λ°”일은 2MB , λ°μŠ€ν¬νƒ‘μ€ 5MB ~ 10MB 라고 μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€.

 

πŸ“Œ Local Storage & Session Storage

HTML5 에 μΆ”κ°€λœ Web Storage λŠ” μœ„ 두 가지 ν˜•νƒœμ˜ μ €μž₯μ†Œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

두 μŠ€ν† λ¦¬μ§€ 객체 λͺ¨λ‘ 도메인, ν”„λ‘œν† μ½œ, 포트 둜 μ •μ˜λ˜λŠ” μ˜€λ¦¬μ§„ 에 λ¬Άμ—¬ μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ ν”„λ‘œν† μ½œκ³Ό μ„œλΈŒ 도메인이 λ‹€λ₯΄λ©΄ 데이터에 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€.

 

πŸ’‘ Origin μ΄λž€?

Origin 은 scheme, host, port κ°€ λ™μΌν•œ URI λ₯Ό λ§ν•©λ‹ˆλ‹€.
예λ₯Ό λ“€μ–΄ λ‹€μŒ URI 듀은 λͺ¨λ‘ λ™μΌν•œ origin μž…λ‹ˆλ‹€.

http://example.com/
http://example.com:80/
http://example.com/path/file

좜처 : https://www.ietf.org/rfc/rfc6454.txt

 

Local Storage

local storage λŠ” μ‚¬μš©μžκ°€ μ§€μš°μ§€ μ•ŠλŠ” 이상 λΈŒλΌμš°μ €μ— 계속 λ‚¨μ•„μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ origin 이 같을 경우 λ°μ΄ν„°λŠ” λͺ¨λ“  νƒ­κ³Ό μ°½μ—μ„œ κ³΅μœ λ©λ‹ˆλ‹€.

μžλ™ 둜그인 κ³Ό 같은 κΈ°λŠ₯을 κ΅¬ν˜„ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

Session Storage

session storage 의 경우 같은 μ‚¬μ΄νŠΈμ˜ 같은 도메인이라 ν•˜λ”λΌλ„

λΈŒλΌμš°μ €κ°€ λ‹€λ₯΄λ©΄ μ„œλ‘œ λ‹€λ₯Έ μ˜μ—­μ΄ λ©λ‹ˆλ‹€.

μ΄λŠ” λ„λ©”μΈλ§Œ κ°™μœΌλ©΄ μ „μ—­μ μœΌλ‘œ 곡유 κ°€λŠ₯ν•œ Local Storage 와 κ΅¬λΆ„λ˜λŠ” νŠΉμ§•μž…λ‹ˆλ‹€.

λ”°λΌμ„œ λΈŒλΌμš°μ € 탭을 닫을 경우 μ œκ±°λ©λ‹ˆλ‹€.

μΌνšŒμ„± 둜그인 κ³Ό 같은 κΈ°λŠ₯을 κ΅¬ν˜„ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

 

πŸ“Œ 참고자료

[web] LocalStorage, SessionStorage, Cookie의 차이점

(HTML&DOM) λ‘œμ»¬μŠ€ν† λ¦¬μ§€, μ„Έμ…˜μŠ€ν† λ¦¬μ§€ - 그리고 μΏ ν‚€

λ°˜μ‘ν˜•

πŸ’¬ λŒ“κΈ€