๐ก Web์ ๊ธฐ๋ณธ์ ์ธ ์ธ์ฆ ๋ฐฉ์์ ์์๋ณด์!
๋ ธ์ ์์ ๋ณด๊ธฐ
๐ ์์ฝ
- ๊ณตํต์ : ์น ํต์ ๊ฐ ์ ์งํ๋ ค๋ ์ ๋ณด(Ex) ๋ก๊ทธ์ธ ์ ๋ณด ๋ฑ)๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ
- ์ฐจ์ด์ : ์ ์ฅ ์์น, ์ ์ฅ ํ์, ์ฉ๋ ์ ํ, ๋ง๋ฃ์์ ๋ฑ
- ์ฟ ํค : ๊ฐ์ธ PC์ ์ ์ฅ
- ์ธ์ : ์ ์์ค์ธ ์น ์๋ฒ์ ์ ์ฅ
์ฟ ํค์ ์ธ์ ์ฌ์ฉ ์ด์ (Feat. HTTP ํน์ง)
- HTTP(Hypertext Transfer Protocol) ์ ํน์ง์ด์ ์ฝ์ ์ ๋ณด์ํ๊ธฐ ์ํจ
HTTP(Hypertext Transfer Protocol) ์ ์ ์
- HTTP๋ ์ธํฐ๋ท์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ ํต์ ๊ท์ฝ
HTTP์ ํน์ง
- ๋น์ฐ๊ฒฐ์ฑ(Connectionless)
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ(Request)์ ๋ณด๋ด๊ณ → ๊ทธ ์์ฒญ์ ๋ง๋ ์๋ต(Response) ์ ๋ณด๋ธ ํ ์ฐ๊ฒฐ์ ๋๋ ์ฒ๋ฆฌ ๋ฐฉ์
- HTTP 1.1 ๋ฒ์ : ์ฐ๊ฒฐ์ ์ ์งํ๊ณ , ์ฌํ์ฉ ํ๋ ๊ธฐ๋ฅ์ด Default ๋ก ์ถ๊ฐ (keep-alive ๊ฐ์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ)
- ๋น์ํ์ฑ(Stateless)
- ํด๋ผ์ด์ธํธ๊ฐ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ง์ง ์๋ ์๋ฒ ์ฒ๋ฆฌ ๋ฐฉ์
- ํด๋ผ์ด์ธํธ์ ์ฒซ ๋ฒ์งธ ํต์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ค ํด๋, ๋๋ฒ์งธ ํต์ ์์ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ์ง ์๋๋ค.
- ์ฆ, HTTP๋ ‘์๋ฒ์ ์์์ ์ ์ฝ’ํ๊ธฐ ์ํด ๋ชจ๋ ์ฌ์ฉ์์ ์์ฒญ๋ง๋ค ‘์ฐ๊ฒฐ๊ณผ ํด์ ’ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ๋ฐ๋ผ์, ์ฐ๊ฒฐ ์ํ๊ฐ ์ ์ง๋์ง ์๊ณ , ์ฐ๊ฒฐ ํด์ ํ์ ์ํ ์ ๋ณด๊ฐ ์ ์ฅ๋์ง ์๋๋ค.
์ฟ ํค์ ์ธ์ ์ ํ์์ฑ
- HTTP์ ๋น์ฐ๊ฒฐ์ฑ/๋น์ํ์ฑ์ผ๋ก ์ธํด ์ฌ์ฉ์๋ฅผ ์๋ณํ ์ ์์ด → ๊ฐ์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ์ฌ๋ฌ ๋ฒ ํ๋๋ผ๋ ๋งค๋ฒ ์๋ก์ด ์ฌ์ฉ์๋ก ์ธ์ํ๊ฒ๋๋ค.
- ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ์น ์ฌ์ดํธ๋ฅผ ์ฌ์ฉํ ๋ ๋ก๊ทธ์ธ์ ํ ๋ฒ ํ๊ณ ๋๋ฉด → ๊ทธ ์ฌ์ดํธ์์๋ ๋ค์ ๋ก๊ทธ์ธํ ํ์ ์์ด, ์ฌ๋ฌ ํ์ด์ง์ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๊ณ , ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ๋ค๊ฐ ๋ค์ ์ ์ํ์ ๋์๋ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ ์ ์๋ค.
- ์ด๋ ๊ฒ, HTTP์ ๋น์ฐ๊ฒฐ์ฑ/๋น์ํ์ฑ์ ๋ณด์ํด ‘์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ์๋ณ’ํ๊ฒ ํด์ฃผ๋ ๊ฒ์ด ์ฟ ํค์ ์ธ์ ์ด๋ค.
์ฟ ํค(Cookie)
์ฟ ํค์ ๊ฐ๋
- ์ฟ ํค๋ ์น ์ฌ์ดํธ ์ ์ ์ ์์ฑ๋๋ ์ ๋ณด๋ฅผ ๋ด์ ๋ฐ์ดํฐ ํ์ผ๋ก ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ๋ก์ปฌ์ ์ ์ฅ๋๋ค.
- ์ฟ ํค์ ๋ฐ์ดํฐ ํํ๋ Key-Value ๋ก ๊ตฌ์ฑ๋๊ณ , String ํํ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ ์ฅ๋๋ ์ฟ ํค๊ฐ ๋ค๋ฅด๋ฉฐ, ์๋ฒ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ก ์ธ์
- ์ฟ ํค๋ ์๋ฒ๋ฅผ ๋์ ํด์ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ๋ก์ปฌ(์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ฉํ๊ณ ์๋ ์ปดํจํฐ)์ ์ ์ฅํ๋ค๊ฐ → ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋, ๊ทธ ์ ๋ณด๋ฅผ ํจ๊ป ๋ณด๋ด → ์๋ฒ๊ฐ ์ฌ์ฉ์๋ฅผ ์๋ณํ ์ ์๊ฒ ํ๋ค.
์ฟ ํค์ ๊ตฌ์ฑ์์
- ์ด๋ฆ : ๊ฐ๊ฐ์ ์ฟ ํค๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฆ
- ๊ฐ : ์ฟ ํค์ ์ด๋ฆ๊ณผ ๊ด๋ จ๋ ๊ฐ
- ์ ํจ์๊ฐ : ์ฟ ํค์ ์ ์ง์๊ฐ
- ๋๋ฉ์ธ : ์ฟ ํค๋ฅผ ์ ์กํ ๋๋ฉ์ธ
- ๊ฒฝ๋ก : ์ฟ ํค๋ฅผ ์ ์กํ ์์ฒญ ๊ฒฝ๋ก
์ฟ ํค์ ํน์ง
- ํด๋ผ์ด์ธํธ์ ์ด 300๊ฐ์ ์ฟ ํค ์ ์ฅ ๊ฐ๋ฅ
- ํ๋์ ๋๋ฉ์ธ ๋น 20๊ฐ์ ์ฟ ํค๋ฅผ ๊ฐ์ง ์ ์๋ค.
- ํ๋์ ์ฟ ํค๋ 4KB(=4096byte)๊น์ง ์ ์ฅ ๊ฐ๋ฅ
์ฟ ํค์ ๋์ ์์
- ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง๋ฅผ ์์ฒญ(์ฌ์ฉ์์ ์น์ฌ์ดํธ ์ ๊ทผ)
- ์น ์๋ฒ์์ ์ฟ ํค ์์ฑ
- HTTP ํค๋์ ์ฟ ํค๋ฅผ ํฌํจ์์ผ ํด๋ผ์ด์ธํธ์ ์๋ต
MockHttpServletResponse:
Status = 200
Headers = [Set-Cookie:"userName=kevin", "password=abc123"]
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋, ์ฟ ํค ๋ง๋ฃ ์๊ฐ์ด ๋จ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ์์ ๋ณด๊ดํ๊ณ ์์
- ๊ฐ์ ์์ฒญ์ ํ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๊ฐ HTTP ํค๋์ ์ฟ ํค๋ฅผ ํจ๊ป ์๋ฒ๋ก ๋ณด๋
MockHttpServletRequest:
HTTP Method = GET
Request URI = /user/my/edit
Headers = [Cookie:"userName=kevin"; "password=abc123"]
- ์๋ฒ์์ ์ฟ ํค๋ฅผ ์ฝ์ด → ์ด์ ์ํ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ ๋ ์ฟ ํค๋ฅผ ์ ๋ฐ์ดํฐํ์ฌ → ๋ณ๊ฒฝ๋ ์ฟ ํค๋ฅผ HTTP ํค๋์ ํฌํจ์์ผ ์๋ต
์ฟ ํค์ ์ฌ์ฉ ๋ชฉ์
- ์ธ์ ๊ด๋ฆฌ(Session Management) : ๋ก๊ทธ์ธ, ์ฌ์ฉ์ ๋๋ค์, ์ ์ ์๊ฐ, ์ฅ๋ฐ๊ตฌ๋ ๋ฑ์ ์๋ฒ๊ฐ ์์์ผํ ์ ๋ณด๋ค์ ์ ์ฅ
- ๊ฐ์ธํ(Personalization) : ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ฒ ๊ทธ ์ฌ๋์ ์ ์ ํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค ์ ์์
- ํธ๋ํน(Tracking) : ์ฌ์ฉ์์ ํ๋๊ณผ ํจํด์ ๋ถ์ํ๊ณ ๊ธฐ๋ก
์ฟ ํค ์ฌ์ฉ ์์
- ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ๋ก๊ทธ์ธ ํ ๋ “์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ์๊ฒ ์ต๋๊น?” / “๋ก๊ทธ์ธ ์ํ ์ ์ง”
- ํ์ ์ ์ผ์ฃผ์ผ๊ฐ ๋ค์ ๋ณด์ง ์๊ธฐ ์ฒดํฌ
- ์ต๊ทผ ๊ฒ์ํ ์ํ๋ค์ ๊ด๊ณ ์์ ์ถ์ฒ
- ์ผํ๋ชฐ ์ฅ๋ฐ๊ตฌ๋
์ฟ ํค์ ๋จ์
- ๋ฐฉ๋ฌธํ๋ ์น ์ฌ์ดํธ์ ๋ํ ์ ๋ณด ๋ฐ ๊ฐ์ธ ์ ๋ณด๊ฐ ๊ธฐ๋ก๋์ด ์ฌ์ํ ์นจํด ์์ง ์กด์ฌ
- ์ด๋ฅผ ํด์ํ๊ธฐ ์ํด, ์น ๋ธ๋ผ์ฐ์ ์์ฒด์ ์ฟ ํค ๊ฑฐ๋ถ ๊ธฐ๋ฅ์ด ์์ง๋ง
- ์ฟ ํค์ ๋ํ ๊ฑฐ๋ธ๊ฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ค์ ๋์ด ์๋๊ฒฝ์ฐ ์ฟ ํค ๋ณธ๋์ ๋ชฉ์ ์ธ ์น ๋ธ๋ผ์ฐ์ ์์ ์ฐ๊ฒฐ์ ์ง์์ํค๋ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค.
- ์๋ฒ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด ์๋ ์ฌ์ฉ์์๊ฒ ์ ์ฅ๋๋ ์ ๋ณด์ด๋ฏ๋ก, ์์๋ก ๊ณ ์น๊ฑฐ๋ ์ง์ธ ์ ์๊ณ , ๊ฐ๋ก์ฑ๊ธฐ ์ฌ์ ๋ณด์ ์ทจ์ฝ ๋ฌธ์ ์กด์ฌ
- ์ฟ ํค์๋ ๋ฏผ๊ฐํ๊ฑฐ๋ ์ค์ํ ์ ๋ณด๋ฅผ ๋ด๋ ๊ฒ์ด ์ํํ๋ค.
- ์ด๋ฌํ ์ฟ ํค์ ๋จ์ ์ ๋ณด์ํด์ฃผ๋ ๊ฒ์ด ‘์ธ์ ’์ด๋ค.
์ธ์ (Session)
์ธ์ ์ ๊ฐ๋
- ์ธ์ ์ ์ฟ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ง๋ง, ์ฌ์ฉ์ ์ ๋ณด ํ์ผ์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๋ ์ฟ ํค์ ๋ฌ๋ฆฌ, ์ธ์ ์ ์๋ฒ ์ธก์์ ๊ด๋ฆฌํ๋ค.
- ์๋ฒ์์๋ ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ธ์
ID๋ฅผ ๋ถ์ฌํ๋ฉฐ,
- ์ด๋ ์ ์ ์๊ฐ์ ์ ํ์ ๋์ด ์ผ์ ์๊ฐ ์๋ต์ด ์์ผ๋ฉด ์ ๋ณด๊ฐ ์ ์ง๋์ง ์๊ฒ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
- ์ธ์ ID๋ ์น ๋ธ๋ผ์ฐ์ ๋น 1๊ฐ์ฉ ์์ฑ๋์ด ์น ์ปจํ ์ด๋์ ์ ์ฅ๋๊ณ → ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์๋ฉธ๋๋ค.
- ์ฆ, ๋ฐฉ๋ฌธ์๊ฐ ์น ์๋ฒ์ ์ ์ํด์๋ ์ํ๋ฅผ ํ๋์ ๋จ์๋ก ๋ณด๊ณ , ๊ทธ๊ฒ์ ์ธ์ ์ด๋ผ ํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์ ์ํด์ → ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ ๋๊น์ง ์ธ์ฆ ์ํ๋ฅผ ์ ์งํ๋ค.
- ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๋ํด์๋ง ์ธ์
์ ์์ฑํ๋ ๊ฒ์ด ์๋,
- ์ฟ ํค์ ๊ฒฝ์ฐ, ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ ๊ฒ์ด๋ฏ๋ก ๋ก๊ทธ์ธ ์ ๋ฌด์ ๊ด๊ณ์์ด ์ญ์ ๋์ง ์์ผ๋ฉด ๋์ง๋๋ค.
- ๋ก๊ทธ์์์ ํ๋ ๊ฒฝ์ฐ ์๋ก์ด ์ฌ์ฉ์๋ก ์ธ์ํ์ฌ ์๋ก์ด ์ธ์ ์ด ์์ฑ๋๋ค.
์ธ์ ์ ํน์ง
- ์น ์๋ฒ์ ์น ์ปจํ ์ด๋์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
- ์น ์๋ฒ์ ์ ์ฅ๋๋ ์ฟ ํค(=์ธ์ ์ฟ ํค)
- ๊ฐ ํด๋ผ์ด์ธํธ์ ๊ณ ์ ID๋ฅผ ๋ถ์ฌ
- ์ธ์ ID๋ก ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ๋ถํด ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ ๋ง๋ ์๋น์ค๋ฅผ ์ ๊ณต
- ๋ณด์ ๋ฉด์์ ์ฟ ํค๋ณด๋ค ์ฐ์(๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ๊ฑฐ๋, ์๋ฒ์์ ์ธ์ ์ญ์ ์์๋ง ์ญ์ ๋จ)
- ์ ์ฅ ์ฉ๋์ ์ ํ์ ์์ง๋ง, ์ฌ์ฉ์๊ฐ ๋ง์์ง์๋ก ์๋ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๊ฒ ๋๋ค.
์ธ์ ์ ๋์ ์์
- ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง ์ ์ ์(์๋ฒ์ ์ ์ ์)
- ์ ๊ทผํ ํด๋ผ์ด์ธํธ์ Request Header ํ๋์ธ Cookie๋ฅผ ํ์ธํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ํด๋น ์ธ์ ID๋ฅผ ๋ณด๋๋์ง ํ์ธํ๋ค.
- ์ธ์
ID๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, ์ธ์
ID๋ฅผ ๋ฐ๊ธํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ค๋ค.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๋ก๊ทธ์ธ ์์ฒญ์ ๋ํ ์๋ต์ ์์ฑํ ๋, ์๋์ ๊ฐ์ด ์ธ์ฆ ์ ๋ณด๋ → ์๋ฒ์ ์ ์ฅํ๊ณ , ํด๋ผ์ด์ธํธ ์๋ณ์์ธ JSESSIONID๋ฅผ ์ฟ ํค์ ๋ด๋๋ค.
HTTP/1.1 200
Set-Cookie: JSESSIONID=FDB5E30BF20045E8A9AAFC788383680C;
- ํด๋ผ์ด์ธํธ๋ ์ธ์ ID์ ๋ํด ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์ ์ฅํ๊ณ , ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ ์, ์ด ์ฟ ํค์ ์ธ์ ID๋ฅผ ๊ฐ์ด ์๋ฒ์ ์ ๋ฌํ์ฌ ์์ฒญํ๋ค.
- ์๋ฒ๋ ์ธ์ ID๋ฅผ ์ ๋ฌ๋ฐ์ ๋ณ๋ค๋ฅธ ์์ ์์ด, ์ธ์ ID๋ก ์ธ์ ์ ์๋ ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉ
- ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ฒ ์์ฒญ์ ์ฒ๋ฆฌํด ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต
์ธ์ ์ ์ฌ์ฉ ์์
- ํ๋ฉด์ ์ด๋ํด๋ ๋ก๊ทธ์ธ ์ํ๊ฐ ์ ์ง๋๋ค.
์ฟ ํค์ ์ธ์ ์ฐจ์ด
์ฟ ํค(Cookie) | ์ธ์ (Session) | |
์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ | ์๋ฒ |
์ ์ฅ ํ์ | Text | Object |
๋ง๋ฃ ์์ | ์ฟ ํค ์ ์ฅ ์ ์ค์ (์ค์ ์ด ์์ ๊ฒฝ์ฐ, ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ๋ง๋ฃ) | ์ ์ ์์ |
์ฌ์ฉํ๋ ์์(๋ฆฌ์์ค) | ํด๋ผ์ด์ธํธ์ ๋ฆฌ์์ค | ์๋ฒ์ ๋ฆฌ์์ค |
์ฉ๋ ์ ํ | ์ด 300๊ฐ ๋๋ฉ์ธ ๋น 20๊ฐ 1๊ฐ์ ์ฟ ํค๋น 4KB |
์ ํ ์์ |
์๋ | ์ธ์ ๋ณด๋ค ๋น ๋ฆ | ์ฟ ํค๋ณด๋ค ๋๋ฆผ |
๋ณด์ | ์ธ์ ๋ณด๋ค ๋ณด์ ์ทจ์ฝ | ์ฟ ํค๋ณด๋ค ๋ณด์ ์ ๋ฆฌ |
- ์ฟ ํค๊ณผ ์ธ์ ์ ๋น์ทํ ์ญํ ์ ์ํํ๊ณ , ๋์์๋ฆฌ๋ ๋น์ทํ๋ค. (์ธ์ ๋ ๊ฒฐ๊ตญ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ)
- ๊ฐ์ฅ ํฐ ์ฐจ์ด์ : ์ฌ์ฉ์์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ์์น
- ์ฟ ํค๋ ์๋ฒ์ ์์์ ์ ํ ์ฌ์ฉํ์ง ์์
- ์ธ์ ์ ์๋ฒ์ ์์์ ์ฌ์ฉ
- ๋ณด์ : ์ธ์
> ์ฟ ํค
- ์ฟ ํค๋ ํด๋ผ์ด์ธํธ ๋ก์ปฌ์ ์ ์ฅ๋์ด, ๋ณ์๋๊ฑฐ๋ Request์์ Snipping ๋นํ ์ฐ๋ ค ์กด์ฌ
- ์ธ์ ์ ์ฟ ํค๋ฅผ ์ด์ฉํด ์ธ์ ID๋ง ์ ์ฅํ๊ณ , ๊ทธ๊ฒ์ผ๋ก ๊ตฌ๋ถํด์ ์๋ฒ์์ ์ฒ๋ฆฌํ๋ฏ๋ก ๋น๊ต์ ๋ณด์์ฑ์ด ๋์
- ์์ฒญ ์๋ : ์ธ์
< ์ฟ ํค
- ์ธ์ ์ ์๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ํ์๋ก ํ๋ฏ๋ก ์๋๊ฐ ์๋์ ์ผ๋ก ๋๋ฆผ
- ๋ผ์ดํ ์ฌ์ดํด
- ์ฟ ํค๋ ๋ง๋ฃ์๊ฐ์ด ์กด์ฌํ์ง๋ง, ํ์ผ๋ก ์ ์ฅ๋์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข
๋ฃํด๋ ๊ณ์ํด์ ์ ๋ณด๊ฐ ๋จ์ ์ ์์
- ๋ง๋ฃ๊ธฐ๊ฐ์ ์ฌ์ ๋กญ๊ฒ ์ก์๋๋ฉด ์ฟ ํค๋ฅผ ์ญ์ ํ ๋๊น์ง ์ ์ง ๊ฐ๋ฅ
- ์ธ์
๋ ๋ง๋ฃ์๊ฐ์ ์ ํ ์ ์์ง๋ง, ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋๋ฉด ๋ง๋ฃ์๊ฐ์ ์๊ด์์ด ์ญ์ ๋จ
- ์๋ฅผ ๋ค์ด, ํฌ๋กฌ์์ ๋ค๋ฅธ ํญ์ ์ฌ์ฉํด๋ ์ธ์ ๊ณต์ , ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ธ์ ์ฌ์ฉ
- ์ฟ ํค๋ ๋ง๋ฃ์๊ฐ์ด ์กด์ฌํ์ง๋ง, ํ์ผ๋ก ์ ์ฅ๋์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข
๋ฃํด๋ ๊ณ์ํด์ ์ ๋ณด๊ฐ ๋จ์ ์ ์์
- ์ธ์ ์, ์๋ฒ์ ์์์ ์ฌ์ฉํ๋ฏ๋ก ๋ฌด๋ถ๋ณํ๊ฒ ๋ง๋ค ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๋นํ ์ ์๊ฒ ๋๊ณ , ์๋๊ฐ ๋๋ ค์ง ์ ์์ด ์ฟ ํค๊ฐ ์ ๋ฆฌํ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค.
์ฟ ํค์ ์ธ์ Vs ์บ์
- ์บ์๋ ์ด๋ฏธ์ง๋ css, js ํ์ผ ๋ฑ์ ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ ์ ๋จ์ ์ ์ฅํด๋๊ณ ์ฌ์ฉํ๋ ๊ฒ
- ํ ๋ฒ ์บ์์ ์ ์ฅ๋๋ฉด, ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฐธ๊ณ ํ๋ฏ๋ก
- ์ด๋ ์บ์๋ฅผ ์ง์์ฃผ๊ฑฐ๋
- ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋ต์ ๋ณด๋ผ ๋ ํค๋์ ์บ์ ๋ง๋ฃ ์๊ฐ์ ๋ช ์ํ๋ ๋ฐฉ๋ฒ
- ์๋ฒ์์ ๋ณ๊ฒฝ์ด ๋์ด๋ ์ฌ์ฉ์๋ ๋ณ๊ฒฝ์ด ๋์ง ์๋ ๊ฒ์ผ๋ก ๋ณด์ผ ์ ์๋๋ฐ,
์ธ์ ์ ์ฌ์ฉ์ ์ ๋งํผ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ์ฌ, ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ํ ํฐ ๊ธฐ๋ฐ์ ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ๊ทธ ์ค JWT(JSON WEB Token)์ด ์กด์ฌํ๋ ๊ฒ
'Web > Concept' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Web] JWT(JSON Web Token) (0) | 2022.05.22 |
---|---|
[Web] ์๋ฒ ๊ธฐ๋ฐ ์ธ์ฆ ์์คํ ๊ณผ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ์์คํ (0) | 2022.05.22 |
[Web] Authentication & Autorization (0) | 2022.05.22 |
[Web] JWT(JSON Web Token) (0) | 2022.01.13 |