Cookie๋?
์ฟ ํค๋ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋๋ฐ์ดํฐ์
๋๋ค. ์ฟ ํค๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ํธ์์ฉ์ ํตํด ์ฌ์ฉ์๋ฅผ ์๋ณํ๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์น ์ฌ์ดํธ์์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ฉด, ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ฟ ํค๋ฅผ ๋ก์ปฌ์ ์ ์ฅํ๊ณ , ์ดํ์ ํด๋น ์น ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์ฅ๋ ์ฟ ํค๋ฅผ ํจ๊ป ์ ์กํฉ๋๋ค. ์ด๋ฅผ ํตํด ์น ์ฌ์ดํธ๋ ์ฌ์ฉ์๋ฅผ ์๋ณํ๊ณ , ์ฌ์ฉ์์์ด์ ํ๋ ๋ด์ญ ๋ฑ์ ํ์
ํ์ฌ ๋ง์ถคํ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ผํ๋ชฐ ์น ์ฌ์ดํธ์์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ํ ํ์ ์ฟ ํค๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ์ดํ์ ๋ค์ ํด๋น ์น ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ๋ ๋ก๊ทธ์ธํ ํ์ ์์ด ์ฌ์ฉ์๋ฅผ ์๋์ผ๋ก ์๋ณํ์ฌ ์ด์ ๊ตฌ๋งค ๋ด์ญ ๋ฑ์ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์๊ฐ์ฟ ํค ์ค์ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ฟ ํค๋ฅผ ์๋์ผ๋ก ์ญ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์๋ ์ํ๋ ๊ฒฝ์ฐ ์ฟ ํค ์์ง์ ๊ฑฐ๋ถํ๊ฑฐ๋, ์ฟ ํค ์์ง ๋์ ์ฌ๋ถ๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์น ์ฌ์ดํธ์์๋ ๋ณด์ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ๊ฐํํ๋ ์ฟ ํค ์ฌ์ฉ ์ ์ฑ
์ ๋ง๋ จํ๊ณ ์ฌ์ฉ์์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ ์ ํ๊ฒ ๋ณดํธํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
Cookie์ ์์ฑ
์น ์๋ฒ๋ ์ฌ์ฉ์์ ์์ฒญ(request)์ ๋ํ ์๋ต(response)์ผ๋ก ์ฟ ํค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ฟ ํค๋ HTTP(Response) ํค๋์ Set-Cookie ์์ฑ์ ์ฌ์ฉํ์ฌ ์์ฑํ๊ณ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ์๋ต์ผ๋ก ๋ฐ์ ๋ก์ปฌ์ ์ ์ฅํฉ๋๋ค.
Cookie์ ์์ฑ
์น ์๋ฒ๊ฐ ์์ฑํ๋ ์ฟ ํค์๋ ์ด๋ฆ(name), ๊ฐ(value), ๋ง๋ฃ ๋ ์ง(expiration date), ๋๋ฉ์ธ(domain), ๊ฒฝ๋ก(path) ๋ฑ์ ์์ฑ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ์์ฑ์ ์ด์ฉํ์ฌ ์ฟ ํค๋ฅผ ํน์ ์ฌ์ฉ์๋ ๋๋ฉ์ธ, ๊ฒฝ๋ก์ ํ์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Cookie์ Domain
์ฟ ํค๋ ๋๋ฉ์ธ(domain)์ ์ข
์์ ์
๋๋ค. ์ฆ, ์ฟ ํค๋ ํน์ ๋๋ฉ์ธ์์ ์์ฑ๋์ด ํด๋น ๋๋ฉ์ธ์๋ง ์ฌ์ฉ๋ฉ๋๋ค.
์ฟ ํค๋ ์์ฑ๋ ๋๋ฉ์ธ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์๋ธ ๋๋ฉ์ธ(subdomain)์์๋ ์ผ์ด์ค์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ณต์ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, "example.com" ๋๋ฉ์ธ์์ ์์ฑ๋ ์ฟ ํค๋ "example.com" ๋๋ฉ์ธ๊ณผ "www.example.com" ์๋ธ๋๋ฉ์ธ์์ ์ฌ์ฉํ ์ ์์ง๋ง, "anotherdomain.com" ๋๋ฉ์ธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ "example.com" ๋๋ฉ์ธ๊ณผ "blog.example.com" ์๋ธ๋๋ฉ์ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๋๋ฉ์ธ์ ์ํฉ๋๋ค. ๋ฐ๋ผ์, "example.com" ๋๋ฉ์ธ๊ณผ "blog.example.com" ์๋ธ๋๋ฉ์ธ ๊ฐ์๋ ์ฟ ํค๊ฐ ๊ณต์ ๋๊ธฐ ๋๋ฌธ์ "example.com" ๋๋ฉ์ธ์์ ์์ฑ๋ ์ฟ ํค๋ "blog.example.com" ์๋ธ๋๋ฉ์ธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํน์ ๋๋ฉ์ธ์์ ์์ฑ๋ ์ฟ ํค๋ ๊ทธ ํ์ ๋๋ฉ์ธ์ ๋ํด์๋ ์ ํจํ๊ธฐ ๋๋ฌธ์
๋๋ค.
ํ์ง๋ง, "blog.example.com"์์ ์์ฑ๋ ์ฟ ํค๋ "example.com" ๋๋ฉ์ธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฟ ํค๋ ์์ฑ๋ ๋๋ฉ์ธ์์๋ง ์ ํจํ๋ฉฐ, ๋ค๋ฅธ ๋๋ฉ์ธ์์๋ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ํ ์๋ธ๋๋ฉ์ธ ๊ฐ์๋ ์ฟ ํค๋ฅผ ๊ณต์ ํ ์ ์๋ ๊ฒ์ ์๋๋๋ค. ์๋ฅผ ๋ค์ด, "blog.example.com"์์ ์์ฑ๋ ์ฟ ํค๋ "mail.example.com"๊ณผ ๊ฐ์ ๋ค๋ฅธ ์๋ธ๋๋ฉ์ธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์๋ธ๋๋ฉ์ธ์ด ๋ค๋ฅธ ๋๋ฉ์ธ์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด๋ฌํ ์ฟ ํค ๋์ ๋ฐฉ์์ ๋ณด์ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ๊ฐํํ๊ธฐ ์ํ ๊ฒ์
๋๋ค. ๋์ผํ ๋๋ฉ์ธ์์ ์์ฑ๋ ์ฟ ํค๋ง ํด๋น ๋๋ฉ์ธ์ ์ก์ธ์คํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ฅผ ํตํด ๋ค๋ฅธ ๋๋ฉ์ธ์์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋๋ฉ์ธ์ ์ฟ ํค๊ฐ ์ฌ์ฉ๋ ์ ์๋ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ณด์ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ๊ฐํํ ์ ์์ต๋๋ค.
'Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Eclipse ์น ํ๋ก์ ํธ IntelliJ๋ก import ํ๋ ๋ฐฉ๋ฒ (2) | 2020.02.07 |
---|---|
์น ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ - ์ดํด๋ฆฝ์ค ์๋ ๋ฐฐํฌ์ WAR ๋ฐฐํฌ (1) | 2020.02.04 |
๊ธฐ๋ณธ ์น ํ์ด์ง - web.xml ์ฐ์ปด ํ์ผ ์ค์ ํ๊ธฐ (0) | 2020.02.04 |
[Eclipse] Dynamic Web Project ํ๋ก์ ํธ ๊ตฌ์กฐ (4) | 2020.02.04 |
Java EE์ Servlet/JSP์ ๊ด๊ณ์ WAS ๊ฐ๋ ์ ๋ฆฌ (0) | 2020.02.03 |
๋๊ธ