Search
Duplicate

Stateful, Stateless

νƒœκ·Έ
HTTP κΈ°λ³Έ
2 more properties

Stateful, Stateless

ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μš”μ²­μ„ 보내고 응닡을 ν•  λ•Œ stateful κ³Ό stateless 두가지가 μžˆμŠ΅λ‹ˆλ‹€.
λ¨Όμ € stateful 의 경우, ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­μ„ 보내면 μ€‘κ³„μ„œλ²„κ°€ νŠΉμ • κΈ°λŠ₯을 ν•˜λŠ” μ„œλ²„κ΅° 쀑 ν•˜λ‚˜μ˜ μ„œλ²„λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€. 그러면 κ·Έ ν•΄λ‹Ή μ„œλ²„λŠ” κ²°κ³Όλ₯Ό λ§Œλ“€μ–΄ λ‹€μ‹œ 응닡을 λ³΄λ‚΄κ²Œ λ©λ‹ˆλ‹€. 이 λ•Œ 응닡을 보내기 μ „κΉŒμ§€ μ„œλ²„μ—λŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœκ°€ μœ μ§€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. (ν΄λΌμ΄μ–ΈνŠΈκ°€ νŠΉμ • λ¬Όν’ˆμ„ μ£Όλ¬Έν•œλ‹€κ³  ν–ˆμ„ 경우, ν’ˆλͺ©μ΄λ‚˜ μˆ˜λŸ‰ 등을 μƒνƒœλΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.)
ν•˜μ§€λ§Œ λ§Œμ•½ μš”μ²­μ— λŒ€ν•œ 응닡이 이루어져야 ν•˜λŠ” μ„œλ²„κ°€ 제 κΈ°λŠ₯을 λͺ»ν•˜κ²Œ 될 경우 μ–΄λ–»κ²Œ λ κΉŒμš”? λ§Œμ•½ ν΄λΌμ΄μ–ΈνŠΈκ°€ λ¬Όν’ˆμ„ μ£Όλ¬Έν•˜λ˜ 쀑에 μ„œλ²„κ°€ 터져버린닀면? 그러면 같은 κΈ°λŠ₯을 ν•˜λŠ” μ„œλ²„κ΅° 쀑 λ‹€λ₯Έ μ„œλ²„κ°€ 응닡을 μ²˜λ¦¬ν•˜λ©΄ μ•ˆλ˜λŠ”κ±ΈκΉŒμš”?
정닡은 μ•ˆλœλ‹€ μž…λ‹ˆλ‹€. stateful 의 경우 ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœκ°€ μœ μ§€λ˜κΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœλ₯Ό μ•Œ 길이 μ—†μŠ΅λ‹ˆλ‹€. λ•Œλ¬Έμ— 제 κΈ°λŠ₯을 λͺ»ν•˜κ²Œ 될 경우 λ‹€μ‹œ μ²˜μŒλΆ€ν„° μš”μ²­μ„ 보내야 ν•©λ‹ˆλ‹€.
κ·Έλ ‡λ‹€λ©΄ stateless λŠ” μ–΄λ–¨κΉŒμš”? stateful κ³Ό λ‹€λ₯΄κ²Œ μ„œλ²„μ— ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœλ₯Ό μ €μž₯ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ„œλ²„κ°€ 제 κΈ°λŠ₯을 λͺ»ν•˜κ²Œ 될 경우 μ€‘κ³„μ„œλ²„λŠ” λ‹€λ₯Έ μ„œλ²„μ— μš”μ²­μ„ λ„˜κΈ°κ³ , μš”μ²­μ„ 받은 μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ›ν•˜λŠ” 응닡을 ν•  수 있게 λ©λ‹ˆλ‹€.
ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœλŠ” 그럼 어디에 μžˆλŠ”κ±ΈκΉŒμš”? λ°”λ‘œ μš”μ²­μ— μžˆμŠ΅λ‹ˆλ‹€. μš”μ²­μ‹œμ— μƒνƒœλ₯Ό λ„£μ–΄μ„œ 보내기 λ•Œλ¬Έμ— μ„œλ²„μ—μ„œλŠ” 이λ₯Ό λ”°λ‘œ μ €μž₯ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. λ•Œλ¬Έμ— μŠ€μΌ€μΌ 아웃, 즉 μˆ˜ν‰ν™•μž₯이 κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€.
μ—¬κΈ°κΉŒμ§€ 봀을 λ•Œ 그럼 stateless 만 μ“°λ©΄ λ˜λŠ”κ±° μ•„λ‹Œκ°€? ν•  수 μžˆκ² μ§€λ§Œ ν•œκ³„λ„ 쑴재 ν•©λ‹ˆλ‹€. λͺ¨λ“  것을 λ¬΄μƒνƒœλ‘œ 섀계할 수 μ—†λŠ” κ²½μš°κ°€ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 둜그인이 ν•„μš”μ—†λŠ” λ‹¨μˆœν•œ μ„œλΉ„μŠ€ μ†Œκ°œ ν™”λ©΄μ˜ 경우 ꡳ이 μƒνƒœλ₯Ό μ €μž₯ν•  ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ— λ¬΄μƒνƒœ 둜 μ„€κ³„ν•˜λ©΄ λ˜μ§€λ§Œ 둜그인의 경우 μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒμš”? λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ˜ 경우 둜그인 ν–ˆλ‹€λŠ” μƒνƒœλ₯Ό μ„œλ²„μ— μœ μ§€ν•΄μ•Ό ν•˜κΈ°λ•Œλ¬Έμ— ν•œκ³„κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. 이λ₯Ό λΈŒλΌμš°μ € 쿠기와 μ„œλ²„ μ„Έμ…˜λ“±μ„ μ‚¬μš©ν•΄μ„œ ν•΄κ²°ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€λ§Œ,, μ–΄μ©”μˆ˜ 없이 stateful 을 μ¨μ•Όν•˜λŠ” κ²½μš°κ°€ 생기기 λ•Œλ¬Έμ— μ‹€λ¬΄μ—μ„œλŠ” stateful 을 μ΅œμ†Œν•œλ§Œ μ‚¬μš©ν•˜λŠ” λ°©ν–₯으둜 λ‚˜μ•„κ°€κ³  μžˆμŠ΅λ‹ˆλ‹€.
λ˜ν•œ 데이터λ₯Ό 많이 λ³΄λ‚΄μ•Όν•œλ‹€λŠ” 단점도 μ‘΄μž¬ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ„€κ³„ν• λ•ŒλŠ” μ΅œλŒ€ν•œ stateless ν•˜λ„λ‘ ν•΄μ•Όν•˜λ©° 정말 μ–΄μ©”μˆ˜ μ—†λŠ” κ²½μš°μ—λ§Œ stateful ν•˜λ„λ‘ ν•΄μ•Όν•©λ‹ˆλ‹€.