ํ”„๋ŸฐํŠธ์—”๋“œ ์ฟ ํ‚ค ๊ด€๋ฆฌ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ 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 ์ฟ ํ‚ค์˜ ํšจ์œจ์ ์ธ ๊ตฌ์„ฑ, ์ œ์–ด ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ์ˆ , ๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ๊ธฐ์ˆ ์„ ํฌํ•จํ•˜๋Š” ํ˜„๋Œ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์—†์–ด์„œ๋Š” ์•ˆ๋  ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. ๊ฐ•๋ ฅํ•˜๊ณ  ์•ˆ์ „ํ•œ ํ”„๋ŸฐํŠธ์—”๋“œ ์ฟ ํ‚ค ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ์›น ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ , ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ ์ง€ํ•˜์—ฌ ๊ถ๊ทน์ ์œผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์˜ ์„ฑ๊ณต๊ณผ ์•ˆ์ •์„ฑ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.