ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋ผ์ด์ธํธ ์ธก์์ HTTP ์ฟ ํค๋ฅผ ์ ์ด, ๊ตฌ์ฑ ๋ฐ ์ ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋ก์ธ์ค ๋ฐ ์์คํ ์ ๋ํ๋ ๋๋ค. ์ฌ๊ธฐ์๋ ํ๋ฐํธ์๋ ๊ฐ๋ฐ ์์ญ์์ ํ๋ฆฝ๋ ํ์ค๊ณผ ์ง์นจ์ ์ค์ํ๋ฉด์ ํจ์จ์ ์ด๊ณ ์์ ํ ๋ฐฉ์์ผ๋ก ์ฟ ํค๋ฅผ ์์ฑ, ์์ , ์ก์ธ์ค ๋ฐ ์ญ์ ํ๊ธฐ ์ํด ์น ๊ฐ๋ฐ์์ ์ํํธ์จ์ด ์์ง๋์ด๊ฐ ์ฌ์ฉํ๋ ๋ค์ํ ๊ดํ์ด ํฌํจ๋ฉ๋๋ค.
HTTP ์ฟ ํค๋ ์ผ๋ฐ์ ์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ์ ์ํด ํด๋ผ์ด์ธํธ ์ฅ์น์ ์ ์ฅ๋๋ ํค-๊ฐ ์์ผ๋ก ๊ตฌ์ฑ๋ ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋ผ์ด์ธํธ ์ธก๊ณผ ์๋ฒ ์ธก ๊ฐ์ ์ํ ์ ์ฅ ํต์ ์ ํ์ฑํํ๊ณ , ์น ์ฌ์ดํธ๊ฐ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ ํจ๊ณผ์ ์ผ๋ก ๊ธฐ์ตํ๊ณ , ์ธ์ฆ ์ํ๋ฅผ ์ ์งํ๋ฉฐ, ์ฌ๋ฌ ํ์ ์ธ์ ์์ ์ฌ์ฉ์ ํ๋์ ์ถ์ ํ ์ ์๋๋ก ํจ์ผ๋ก์จ ์ ๋ฐ์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ต๊ทผ ๋ช ๋ ๋์ ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ๋ณต์ก์ฑ๊ณผ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฌธ์ ์ ๋ํ ์ธ์์ด ๋์์ง์ ๋ฐ๋ผ ํจ๊ณผ์ ์ธ ์ฟ ํค ๊ด๋ฆฌ์ ์ค์์ฑ์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ์ปค์ก์ต๋๋ค.
ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ์ ํต์ฌ์ document.cookie์ ๊ฐ์ JavaScript API๋ฟ๋ง ์๋๋ผ 'Set-Cookie'์ ๊ฐ์ HTTP ์๋ต ํค๋๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ ์ธก ์ ๊ทผ ๋ฐฉ์์ ํตํด ํจ์จ์ ์ผ๋ก ์ฟ ํค๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์์ต๋๋ค. Vue.js, React ๋ฐ Angular์ ๊ฐ์ ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์ฟ ํค ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ํํ ํตํฉ์ ์ด์งํ๋ ๋ด์ฅ ์ง์ ๋๋ ์ ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ธ AppMaster ๋ Vue3 ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ์ฌ ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ ๋ฐฉ์์ ๋ํ ๊ฐ์ํ๋๊ณ ํจ์จ์ ์ธ ์ง์์ ์ ๊ณตํฉ๋๋ค.
ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ์ ๋ ๋ค๋ฅธ ํ์ ์ธก๋ฉด์ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ํ ์ ์ฌ์ ์ธ ์ํ์ ์๋นํ ์ต์ํํ๋ ๋ณด์ ๊ดํ์ ์ํํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฟ ํค๊ฐ ๋ณด์ HTTPS ์ฐ๊ฒฐ์ ํตํด์๋ง ์ ์ก๋๊ณ ํด๋ผ์ด์ธํธ ์ธก ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์ก์ธ์คํ ์ ์๋๋ก ๊ฐ๊ฐ ๋ณด์ฅํ๋ ๋ณด์ ํ๋๊ทธ ๋ฐ HttpOnly ํ๋๊ทธ์ ๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ์ด ํฌํจ๋ฉ๋๋ค. ๋ํ ์ ์ ํ ๋ง๋ฃ ๋ ์ง, ๋๋ฉ์ธ ๋ฐ ๊ฒฝ๋ก ์์ฑ์ ์ค์ ํ๋ฉด ์ฟ ํค์ ๋ฒ์์ ์๋ช ์ ๋ณด๋ค ์ธ๋ฐํ๊ฒ ์ ์ดํ ์ ์์ด ๋ณด์์ด ๋์ฑ ๊ฐํ๋๊ณ GDPR ๋ฐ CCPA์ ๊ฐ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ์ค์ํ ์ ์์ต๋๋ค.
ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ๋ ๋์ ๊ณ ๋ คํด์ผ ํ ์ค์ํ ์์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฑ๋ฅ ์ํฅ์ ๋๋ค. ๋๊ธฐ ์๊ฐ๊ณผ ๋ก๋ฉ ์๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ๊ฐ๋ฐ์๋ ์ฟ ํค์ ํฌ๊ธฐ์ ์๋ ๋ฌผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์๋ต์ฑ์ ๋ฏธ์น๋ ์ํฅ์ ์ ์คํ๊ฒ ํ๊ฐํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํธ๋ํฝ์ด ๋ง๊ณ ์ฌ์ฉ์ ๋์์ฑ์ด ๋์ ๋๊ท๋ชจ ์ ์ ์๊ฑฐ๋ ์น์ฌ์ดํธ์๋ ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ์ธ๋ฉ๋ชจ๋ฆฌ ์บ์ฑ ๋ฉ์ปค๋์ฆ, ๋ธ๋ผ์ฐ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๋๋ IndexedDB๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ์ ์ธ ์ ๋ต์ด ํ์ํ ์ ์์ต๋๋ค.
์ค๋๋ ๋ค์ํ๊ณ ๋์์์ด ์งํํ๋ ๋์งํธ ํ๊ฒฝ์์ ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ์ ๊ณผ์ ์ค ํ๋๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํธํ์ฑ์ ๋ณด์ฅํ๊ณ ์ธ๊ธฐ ์๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ณํํ๋ ์ฌ์๊ณผ ์ ์ฑ ์ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด Safari์ ITP(์ง๋ฅํ ์ถ์ ๋ฐฉ์ง) ๋ฐ Chrome์ SameSite ์์ฑ ์๊ตฌ ์ฌํญ์ ํ์ฌ ์ฟ ํค ๊ด๋ฆฌ ์ ๋ต์ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ ๊ทผ ๋ฐฉ์์ ์กฐ์ ํ๊ณ ์ง์๊ณผ ๊ธฐ์ ์ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ ์์ญ์์ ์๋ก์ด ์ถ์ธ๋ JSON ์น ํ ํฐ(JWT)์ ์๋ฒ ์ธก ์ธ์ ๋ฐ sessionStorage ๋ฐ localStorage์ ๊ฐ์ ์ต์ ์น ์ ์ฅ์ API์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฑ ๋์ฒด ์ํ ๋ฐ ์ ์ฅ์ ๊ด๋ฆฌ ์๋ฃจ์ ์ผ๋ก ์ ์ง์ ์ผ๋ก ์ ํํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ์ต์ ๊ธฐ์ ์ด ๋ชจ๋ ์ฌ์ฉ ์ฌ๋ก์์ ์ฟ ํค๋ฅผ ์์ ํ ๋์ฒดํ ์๋ ์์ง๋ง ์ ์ฐ์ฑ, ๋ณด์ ๋ฐ ํ์ฅ์ฑ ์ธก๋ฉด์์ ํ์คํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ๋ ํด๋ผ์ด์ธํธ ์ธก์์ HTTP ์ฟ ํค์ ํจ์จ์ ์ธ ๊ตฌ์ฑ, ์ ์ด ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ๊ด๋ฒ์ํ ๊ธฐ์ , ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ๊ธฐ์ ์ ํฌํจํ๋ ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์์ด์๋ ์๋ ์ธก๋ฉด์ ๋๋ค. ๊ฐ๋ ฅํ๊ณ ์์ ํ ํ๋ฐํธ์๋ ์ฟ ํค ๊ด๋ฆฌ ๋ฐฉ์์ ํตํฉํจ์ผ๋ก์จ ์น ๊ฐ๋ฐ์๋ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ , ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ค์๋ฅผ ์ ์งํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด์ ์ฑ๊ณต๊ณผ ์์ ์ฑ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.