๋ค์ด๊ฐ๊ธฐ ์ ! (HTTP์ ํน์ง)
HTTP(HyperText Transfer Protocol)
- ์ธํฐ๋ท ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ ํต์ ๊ท์ฝ
- ๋น์ฐ๊ฒฐ์ฑ(Connectionless) & ๋น์ํ์ฑ(Stateless)
- ์๋ฒ์ ์์์ ์ ์ฝํ๊ธฐ ์ํด ๋ชจ๋ ์ฌ์ฉ์์ ์์ฒญ๋ง๋ค ์ฐ๊ฒฐ๊ณผ ํด์ ์ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ์ํ๊ฐ ์ ์ง๋์ง ์๊ณ , ์ฐ๊ฒฐ ํด์ ํ์ ์ํ ์ ๋ณด๊ฐ ์ ์ฅ๋์ง ์๋ ๊ฒ
- ์ด๋ก ์ธํด ์ฌ์ฉ์๋ฅผ ์๋ณํ ์ ์์ด์ ๊ฐ์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ์ฌ๋ฌ๋ฒ ํ๋๋ผ๋ ๋งค๋ฒ ์๋ก์ด ์ฌ์ฉ์๋ก ์ธ์ํ๋ ๋จ์
๐ช์ฟ ํค, ์ธ์ ์ ์ ์ฐ๋์?
ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ์น์ฌ์ดํธ๋ฅผ ์๊ฐํด๋ณด๋ฉด
๋ก๊ทธ์ธ์ ํ ๋ฒ ํ๊ณ ๋๋ฉด ๊ทธ ์ฌ์ดํธ์์๋ ๋ค์ ๋ก๊ทธ์ธํ ํ์ ์์ด
์ฌ๋ฌ ํ์ด์ง์ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํ ์ ์๊ณ
์ฌ์ง์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข
๋ฃํ๋ค๊ฐ ๋์ค์ ๋ค์ ์ ์ํ์ ๋๋
๊ทธ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ ์๋ ์์ต๋๋ค.
HTTP์ ๋น์ฐ๊ฒฐ์ฑ๊ณผ ๋น์ํ์ฑ์ ๋ณด์ํ์ฌ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ์๋ณํ๊ฒ ํด์ฃผ๊ธฐ ์ํด ์ฟ ํค์ ์ธ์ ์ ์ฌ์ฉ!
๐ช์ฟ ํค๊ฐ ๋ญ๊ฐ์?
โจ๊ฐ๋
- ๋ด๊ฐ ๊ฐ์ง๊ณ ์์ผ๋ฉด์ ์๋ฒ๋ฅผ ์ด์ฉํ ๋ ๋ง๋ค ๋ณด์ฌ์ฃผ๋ ๊ฒ
- ์น์ฌ์ดํธ์ ์ ์ํ ๋ ์์ฑ๋๋ ์ ๋ณด๋ฅผ ๋ด์ ์์ ํ์ผ
- ์ฟ ํค๋ ํด๋ผ์ด์ธํธ ๋ก์ปฌ์ ์ ์ฅ๋๋ Key-Value์์ ์์ ๋ฐ์ดํฐ ํ์ผ (Stringํํ)
๋ธ๋ผ์ฐ์ ๋ง๋ค ์ ์ฅ๋๋ ์ฟ ํค๊ฐ ๋ค๋ฆ! ํฌ๋กฌ์ผ๋ก ๋จ๊ธด ์ฟ ํค๋ ์ธํฐ๋ท ์ต์คํ๋ก์ด์์ ์ฌ์ฉ ๋ถ๊ฐ ์๋ฒ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ก ์ธ์
โจ์ฟ ํค์ ์ฌ์ฉ ๋ชฉ์ ๋ฐ ์์
- ์ฟ ํค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํ์ด์ง๋ฅผ ์ด๋ํ ๋๋ง๋ค ๋ก๊ทธ์ธ์ ํ์ง ์๊ณ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ ์ ์์
- ์ฟ ํค๊ฐ ์๋ค๋ฉด ๋ค์ ํ์ด์ง๋ก ์ ๋ณด๋ฅผ ๋๊ฒจ ์ฃผ์ด์ผ ํจ
**### ์ฟ ํค ์ฌ์ฉ ๋ชฉ์ **
**1.์ธ์
๊ด๋ฆฌ(Session Management)**
๋ก๊ทธ์ธ, ์ฌ์ฉ์ ๋๋ค์, ์ ์ ์๊ฐ, ์ฅ๋ฐ๊ตฌ๋ ๋ฑ์ ์๋ฒ๊ฐ ์์์ผํ ์ ๋ณด๋ค์ ์ ์ฅ
**2.๊ฐ์ธํ(Personalization)**
์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ฒ ๊ทธ ์ฌ๋์ ์ ์ ํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค ์ ์์
**3.ํธ๋ํน(Tracking)**
์ฌ์ฉ์์ ํ๋๊ณผ ํจํด์ ๋ถ์ํ๊ณ ๊ธฐ๋ก
- ์ฌ์ฉ ์์
- ID์ ์ฅ, ๋ก๊ทธ์ธ ์ํ ์ ์ง
- ์ผ์ฃผ์ผ ๊ฐ ๋ค์ ๋ณด์ง ์๊ธฐ
- ์ต๊ทผ ๊ฒ์ํ ์ํ๋ค์ ๊ด๊ณ ์์ ์ถ์ฒ
- ์ผํ๋ชฐ ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ
โจ ์ฟ ํค์ ๋์ ์์
1.ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง๋ฅผ ์์ฒญํ๋ค. (์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์ ๊ทผ)
2.์น ์๋ฒ๋ ์ฟ ํค๋ฅผ ์์ฑํ๋ค.
3.์์ฑํ ์ฟ ํค์ ์ ๋ณด๋ฅผ ๋ด์ HTTP ํ๋ฉด์ ๋๋ ค์ค ๋, ๊ฐ์ด ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ค๋ค.
4.๋๊ฒจ๋ฐ์ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ง๊ณ ์๋ค๊ฐ(๋ก์ปฌ PC์ ์ ์ฅ) ๋ค์ ์๋ฒ์ ์์ฒญํ ๋ ์์ฒญ๊ณผ ํจ๊ป ์ฟ ํค๋ฅผ ์ ์กํ๋ค.
5.๋์ผ ์ฌ์ดํธ ์ฌ๋ฐฉ๋ฌธ ์ ํด๋ผ์ด์ธํธ์ PC์ ํด๋น ์ฟ ํค๊ฐ ์๋ ๊ฒฝ์ฐ, ์์ฒญ ํ์ด์ง์ ํจ๊ป ์ฟ ํค๋ฅผ ์ ์กํ๋ค.
โจ์ฟ ํค์ ๋จ์
- ๋ฐฉ๋ฌธํ๋ ์น ์ฌ์ดํธ์ ๋ํ ์ ๋ณด ๋ฐ ๊ฐ์ธ์ ๋ณด๊ฐ ๊ธฐ๋ก๋๊ธฐ ๋๋ฌธ์ ์ฌ์ํ์ ์นจํดํ ์์ง๊ฐ ์์
- ์ด๋ฅผ ํด์ํ๊ธฐ ์ํด ์น ๋ธ๋ผ์ฐ์ ์์ฒด์ ์ฟ ํค ๊ฑฐ๋ถ ๊ธฐ๋ฅ์ด ์์
- ํ์ง๋ง ์ฟ ํค์ ๋ํ ๊ฑฐ๋ถ๊ฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ค์ ๋์ด ์์ผ๋ฉด, ๋ณธ๋์ ๋ชฉ์ ์ธ ์น ๋ธ๋ผ์ฐ์ ์์ ์ฐ๊ฒฐ์ ์ง์ ์ํค๋ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ๊ฒฝ์ฐ ๋ฐ์
- ์๋ฒ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด ์๋๋ผ ์ฌ์ฉ์์๊ฒ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์, ์์๋ก ๊ณ ์น๊ฑฐ๋ ์ง์ธ ์ ์๊ณ , ๊ฐ๋ก์ฑ๊ธฐ๋ ์ฌ์ ๋ณด์์ด ์ทจ์ฝ
- ๋ฐ๋ผ์ ์ฟ ํค์๋ ๋ฏผ๊ฐํ๊ฑฐ๋ ์ค์ํ ์ ๋ณด๋ฅผ ๋ด๋ ๊ฒ์ด ์ํ
- ์ด๋ฐ ๋จ์ ์ ๋ณด์ํด์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก ์ธ์
๐ช์ธ์ ์ด ๋ญ๊ฐ์?
โจ๊ฐ๋
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๊ธฐ ์ ๊น์ง ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ ์งํ๊ฒ ํด์ฃผ๋ ๊ธฐ์
โจ์ธ์ ์ ํน์ง
- ์น ๋ธ๋ผ์ฐ์ ๋น 1๊ฐ์ฉ ์์ฑ๋์ด ์น ์ปจํ ์ด๋์ ์ ์ฅ๋๋ฉฐ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์๋ฉธ
- ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๋ํด์๋ง ์ธ์ ์ ์์ฑ ํ๋ ๊ฒ ์๋
- ๋ก๊ทธ์์ ์์๋ ์๋ก์ด ์ฌ์ฉ์๋ก ์ธ์ํด ์๋ก์ด ์ธ์
์ด ์์ฑ
- ์ฟ ํค์ ๊ฒฝ์ฐ๋ ๋ด ์น๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์์ ์ ๋ฌด์ ๊ด๊ณ์์ด ์ญ์ ํ์ง ์์ผ๋ฉด ์ ์ง
- ID, ๋๋ค์ ๋ฑ์ ์ ๋ณด๋ฅผ ์ธ์ ์ ๋ด์๋๋ฉด ์์ฒญ์ ์์ ๋ ๋ง๋ค, DB์ ์ ๊ทผํ ํ์๊ฐ ์์ด์ ํจ์จ์ !
- ์ฌ์ฉ์๋ ๋ค๋ฅธ ๋๊ตฐ๊ฐ์๊ฒ ๋ ธ์ถ๋๋ฉด ์๋๋ ์ ๋ณด๋ค์ ์ธ์ ์ผ๋ก ์๋น์ค ์ ๊ณต์๊ฐ ์ง์ ๊ด๋ฆฌ
โจ์ธ์ ์ ๋์ ์์
1.ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง์ ์์ฒญํ๋ค. (์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์ ๊ทผ)
2.์๋ฒ๋ ์ ๊ทผํ ํด๋ผ์ด์ธํธ์ Request-Header ํ๋์ธ Cookie๋ฅผ ํ์ธํ์ฌ, ํด๋ผ์ด์ธํธ๊ฐ ํด๋น session-id๋ฅผ ๋ณด๋๋์ง ํ์ธํ๋ค.
3.session-id๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด ์๋ฒ๋ session-id๋ฅผ ์์ฑํด ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ค๋ค.
4.์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ๋๋ ค์ค session-id๋ฅผ ์ฟ ํค๋ฅผ ์ฌ์ฉํด ์๋ฒ์ ์ ์ฅํ๋ค.
5.ํด๋ผ์ด์ธํธ๋ ์ฌ์ ์ ์, ์ด ์ฟ ํค๋ฅผ ์ด์ฉํด session-id ๊ฐ์ ์๋ฒ์ ์ ๋ฌ
โจ์ธ์ ์ ์ฌ์ฉ ์์
- ํ๋ฉด์ ์ด๋ํด๋ ๋ก๊ทธ์ธ์ด ํ๋ฆฌ์ง ์๊ณ ๋ก๊ทธ์์ํ๊ธฐ ์ ๊น์ง ์ ์งํ ๋
โจ์ธ์ ์ ์ฌ์ฉํ๋ฉด ์ข์๋ฐ ์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ ๊น?
์ธ์ ์ด ์ฟ ํค์ ๋นํด ๋ณด์์ด ๋์ ํธ์ด์ง๋ง ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋
์ธ์ ์ ์๋ฒ์ ์ ์ฅ๋๋๋ฐ, ์๋ฒ์ ์์์ ์ฌ์ฉํ๊ธฐ์ ์๋ฒ ์์์ ํ๊ณ๊ฐ ์๊ณ ,
์๋๊ฐ ๋๋ ค์ง ์ ์๊ธฐ ๋๋ฌธ์ ์์๊ด๋ฆฌ ์ฐจ์์์ ์ฟ ํค์ ์ธ์ ์ ์ ์ ํ ์์ ๋ฐ ๊ธฐ๋ฅ์ ๋ณํํด ์ฌ์ฉ
์๋ฒ ์์์ ๋ญ๋น๋ฅผ ๋ฐฉ์งํด ์น ์ฌ์ดํธ์ ์๋๋ฅผ ๋์ผ ์ ์์!
๐ช์ฟ ํค์ ์ธ์ ์ ์ฐจ์ด๋ ์ด๋ค ์ ์ด ์์๊น์?
- ์ ์ฅ ์์น
- ์ฟ ํค๋ ๋ก์ปฌ์,
- ์ธ์ ์ ๋ก์ปฌ๊ณผ ์๋ฒ์ ์ ์ฅ
- ๋ณด์
- ์ฟ ํค๋ ํ์ทจ์ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ์ง๋ง,
- ์ธ์ ์ ID๊ฐ๋ง ๊ฐ์ง๊ณ ์๊ณ ์๋ฒ์๋ ์ ์ฅ์ด ๋์ด์๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์์
- Lifecycle
- ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ํ์ผ๋ก ๋จ์์์ง๋ง,
- ์ธ์ ์ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์ธ์ ์ ์ญ์
- ์๋
- ์ฟ ํค๋ ํ์ผ์์ ์ฝ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๋น ๋ฅด๊ณ ,
- ์ธ์ ์ ์์ฒญ๋ง๋ค ์๋ฒ์์ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ๋๋ฆผ
Reference
[web] ์ฟ ํค(cookie)์ ์ธ์ (session)์ ๊ฐ๋ /์ฐจ์ด/์ฉ๋/์๋๋ฐฉ์
์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ์ฐจ์ด (+์บ์(Cache))
๋๊ธ