์ฟ ํค, ์ธ์ ์ ๋ํด ํ์ตํ๊ณ ๋๊ฐ์ ์ฐจ์ด์ ์ฅ, ๋จ์ ์ ๋ํด ํ์ตํ๋ค.
"HTTP๋ Stateless(๋ฌด์ํ์ฑ)์ธ๋ฐ ์ด๋ป๊ฒ ์ฐ๋ฆฌ์ ์ ๋ณด ์ ์ง๊ฐ ๋ ๊น?"
์์ ์ฟ ํค๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
์ด๋์ ์ฐ๋์ง?
- ์ฟ ํค๋ ์ญ์ ํ์ง ์๋๋ค๋ฉด ์ฌ๋ผ์ง์ง ์๋ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
- ์ฅ๊ธฐ๊ฐ ์ ์ฅ(๋ณด์กด)ํด์ผ ํ๋ ์ต์ ์ ํด๋ผ์ด์ธํ ์ ์ฅํ๋๋ฐ ์ ํฉํ๋ค. (ex - ๋ก๊ทธ์ธ ์ํ ์ ์ง, ์ฅ๋ฐ๊ตฌ๋ ๋ฆฌ์คํธ ๋ฑ)
์๋ฒ์ ์์ฒญ์ ๋๋ฉ์ธ์ด ์ผ์นํ๋ ๊ฒฝ์ฐ ์ฟ ํค ์ ์ก
http://www.localhost.com:3000/users/login
์ธ ๊ฒฝ์ฐ Domain์ http://www.localhost.com
์๋ฒ์ ์์ฒญ์ ์ธ๋ถ ๊ฒฝ๋ก๊ฐ ์ผ์นํ๋ ๊ฒฝ์ฐ ์ฟ ํค ์ ์ก
http://www.localhost.com:3000/users/login
์ธ ๊ฒฝ์ฐ Path๋ /users/login
/
์ผ๋ก ์ค์ ์ฟ ํค์ ์ ํจ๊ธฐ๊ฐ ์ค์ (์ค์ ์ ์ผ์ ์๊ฐ ํ ์๋ ์๋ฉธ, ์ ํจ๊ธฐ๊ฐ์ ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ ํ์ทจ ์ํ์ด ๋๋ค.)
์ธ์ ์ฟ ํค : MaxAge ๋๋ Expires์ต์ ์ด ์๋ ์ฟ ํค(๋ธ๋ผ์ฐ์ ๊ฐ ์คํ ์ค์ผ ๋ ์ฌ์ฉํ ์ ์๋ ์์ ์ฟ ํค, ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ํด๋น ์ฟ ํค ์ญ์ )
์์์ฑ ์ฟ ํค : ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ฌ๋ถ ์๊ด์์ด MaxAge ๋๋ Expires์ ์ง์ ๋ ์ ํจ์๊ฐ ๋งํผ ์ฌ์ฉ๊ฐ๋ฅํ ์ฟ ํค
์คํฌ๋ฆฝํธ(<script>
)์ ์ฟ ํค ์ ๊ทผ ๊ฐ๋ฅ ์ฌ๋ถ ๊ฒฐ์
<script>
ํ๊ทธ๋ก ์ ๊ทผ ๊ฐ๋ฅํ๋ค. (XSS ๊ณต๊ฒฉ์ ์ทจ์ฝ)HTTP ํ๋กํ ์ฝ์์๋ง ์ฟ ํค ์ ์ก ์ฌ๋ถ ๊ฒฐ์
CORS ์์ฒญ์ ๊ฒฝ์ฐ ์ต์ ๋ฐ ๋ฉ์๋์ ๋ฐ๋ผ ์ฟ ํค ์ ์ก ์ฌ๋ถ ๊ฒฐ์
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์ ๋ณด๋ฅผ ๋ด์ ์ฟ ํค๋ฅผ ์ ์กํ๊ณ , ํด๋ผ์ด์ธํธ๋ ์ ๋ฌ๋ฐ์ ์ฟ ํค๋ฅผ ์๋ฒ์ ์์ฒญ๊ณผ ํจ๊ป ์ ์กํด ์์ ํ๊ฒ ์ ์งํ ์ ์๋ค.
์ฟ ํค๋ ์ค๋ ์๊ฐ ๋์ ์ ์ง๋ ์ ์๊ณ , HttpOnly ์ต์ ์ ์ฌ์ฉํ์ง ์์๋ค๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ์ฟ ํค์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฟ ํค์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ด๋ ๊ฒ์ ์ํํ๋ค.
์๋ฒ๋ ์ผ์ ์ ์ ์ฅ์์ ์ธ์ ์ ์ ์ฅํ๋ค.
- in-memory(JS ๊ฐ์ฒด ๋น์ท), ์ธ์ ์คํ ์ด(redis ๋ฑ๊ณผ ๊ฐ์ ํธ๋์ญ์ ์ด ๋น ๋ฅธ KB)
- ์ธ์ ์ด ๋ง๋ค์ด ์ง๋ฉด ๊ฐ ์ธ์ ์ ๊ตฌ๋ถํ ์ ์๋ ์ธ์ ์์ด๋๋ ๋ง๋ค์ด์ง๋ค.(ํด๋ผ์ด์ธํธ์ ์ธ์ ์ ์ฆ๋ช ํ ์๋จ์ผ๋ก ์ธ์ ์์ด๋ ์ ๋ฌ)
- ์๋ฒ์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ์ ์ ๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ํ์์ญ์ ์ธ์ ์ ์ ๋ฐ์ดํฐ๋ก ์ฐจ์งํด ๋ฒ๋ฆฐ๋ค. (์๋ฒ ์ฑ๋ฅ ์ ํ)
- ๊ธฐ์กด ์ฟ ํค๋ฅผ ์์ ํ ๋์ฒดํ๊ฒ ์๋๊ธฐ์ ์ฌ์ ํ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. (XSS ๊ณต๊ฒฉ์ ์ฌ์ ํ ์ทจ์ฝ)
์ฟ ํค๋ ์์ฃผ ๋ค์ด๋ด์ ์ต์ํ์ง๋ง ์ธ์
์ ์ด๋ฒ์ ์ฒ์ ์๊ฒ ๋์๋ค.
์ฟ ํค๋ ํด๋ผ์ด์ธํธ, ์ธ์
์ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ถ๋ถ์ด ํฐ ์ฐจ์ด์ ์ด์ง ์์๊น ์ถ๋ค.
์๋ฒ ์์ญ์ ๋ฏผ๊ฐํ ๊ฐ์ธ ์ ๋ณด์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ถ๋ถ์ผ๋ก
๊ฐ๋ฐ์๊ฐ ์ด๋ ๋ถ๋ถ์ ์ฟ ํค, ์ธ์
์ผ๋ก ๋ด์์ง ์ ๊ฒฐ์ ํด์ผํ ๊ฑฐ ๊ฐ๋ค.
์ฟ ํค์ ๋จ์ ๋ณด์ํ๊ฒ ์ธ์
์ด์ง๋ง ์ธ์
๋ํ ๋จ์ ์ด ์กด์ฌํ๋ค.
์ด๋ฅผ ๋ณด์ํ๊ฒ ํ ํฐ์ธ๋ฐ ์ด๋ถ๋ถ์ ๋ค์ ํ์ต์์ ๋ฐฐ์ฐ๊ฒ ๋๋ค.