(HTTP) Stateless, Stateful

2024. 4. 26. 00:28ยท๐ŸŒ Network/๐Ÿ“œHTTP

HTTP์˜ ์ค‘์š”ํ•œ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋กœ๋Š” Stateless(๋ฌด์ƒํƒœ) ํ”„๋กœํ† ์ฝœ์„ ์ง€ํ–ฅํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.
์ด Stateless๋ฅผ ์•Œ๊ธฐ ์ „์— ๋ฐ˜๋Œ€๋˜๋Š” Stateful(์ƒํƒœ์œ ์ง€)๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.
Stateful : ์ƒํƒœ์œ ์ง€ ํ”„๋กœํ† ์ฝœ ๋ฐฉ์‹

Stateful์€ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ ๋ฐฉ์‹์ด๋‹ค.
Stateful(์ƒํƒœ์œ ์ง€) ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์—ฐ๊ฒฐ์ด ์œ ์ง€๊ฐ€ ๋œ๋‹ค. ์˜ˆ์‹œ๋กœ ๋“ค๋ฉด
์›น์‚ฌ์ดํŠธ์˜ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ๊ฐ™์€ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ–ˆ์„ ๊ฒฝ์šฐ์—๋„ ๋กœ๊ทธ์ธ์ด ์œ ์ง€๊ฐ€๋œ๋‹ค.
์ด๊ฑด ๊ณ„์† ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ์ฆ‰, ์ƒํƒœ์œ ์ง€๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ƒํƒœ์œ ์ง€๊ฐ€ ๋˜์•ผ์ง€
๋ฌผ๊ฑด์„ ๊ตฌ๋งคํ–ˆ์„ ๋•Œ ํ•ด๋‹น ๋กœ๊ทธ์ธ๋œ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ๊ฒฐ์ œ๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ฆ‰ ์„œ๋ฒ„์—์„œ ํšŒ์›์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์ด๋‹ค.
Stateless : ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ ๋ฐฉ์‹
Stateless๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํ† ์ฝœ ๋ฐฉ์‹์ด๋‹ค.
์ฆ‰, ์—ฐ๊ฒฐ์„ ์ง€์†์ ์œผ๋กœ ํ•˜์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ฃผ๊ณ  ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฐ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
๋ฐ˜๋ฉด์— Stateless(๋ฌด์ƒํƒœ)์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšŒ์›์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฐ€ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, ๋กœ๊ทธ์ธ ๊ฐ™์€
์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ์ €์žฅ์„ ํ•ด๋†“๋Š”๋‹ค๋˜์ง€ ๋ฐฉ์‹์„ ์ด์šฉํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฆ‰๊ฐ์ ์œผ๋กœ
ํ•„์š”ํ• ๋•Œ ์ž๊ธฐ ์ •๋ณด๋ฅผ ๊ฐ™์ด ๋„˜๊น€์œผ๋กœ์จ ์„œ๋ฒ„๋Š” ๋ฐ›๊ณ  ์š”์ฒญ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์‘๋‹ตํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ๋Š์œผ๋ฉด 
ํ•ด๋‹น ์„œ๋ฒ„๋Š” ๋‹ค๋ฅธ ์š”์ฒญ์—๋„ ๋น ๋ฅด๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ์œ ์—ฐํ•˜๊ฒŒ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์š”์ฒญ์„
๋ณด๋‚ด๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ •๋ฆฌํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ง์ด ์ด๋Ÿฐ๋ง์ด๋‹ค.
์ด๋ ‡๊ฒŒ Stateless(๋ฌด์ƒํƒœ)์˜ ์žฅ์ ์€ ๊ฐ‘์ž๊ธฐ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์ฆ๊ฐ€ํ•ด๋„ ์„œ๋ฒ„๋ฅผ ๋Œ€๊ฑฐ
ํˆฌ์ž…์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์‘๋‹ต์„œ๋ฒ„์— ๋Œ€ํ•œ ์š”์ฒญ์„ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ๋„ ๋˜‘๊ฐ™์ด ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์„œ ์„œ๋ฒ„์˜
์ฆ์„ค์ด ์‰ฝ๊ณ  ์Šค์ผ€์ผ ์•„์›ƒ์ด๋ผ๊ณ  ์ˆ˜ํ‰ ํ™•์žฅ์— ๋งค์šฐ ์œ ๋ฆฌํ•œ ์กฐ๊ฑด์ด ๋œ๋‹ค.
 
ํ•˜์ง€๋งŒ Stateless์—๋„ ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค.
๋ชจ๋“  ๊ฒƒ์„ ๋ฌด์ƒํƒœ๋กœ ์„ค๊ณ„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ  ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.
๋‹จ์ˆœํ•œ ์†Œ๊ฐœํŽ˜์ด์ง€์ผ๊ฒฝ์šฐ์—๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ์— ๋ฌด์ƒํƒœ๋กœ ์„ค๊ณ„ํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›€
์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผํ•˜๋Š”๊ฒฝ์šฐ => ๋กœ๊ทธ์ธ ์„œ๋ฒ„์—์„œ ์œ ์ง€๋ฅผ ํ•ด์ค˜์•ผํ•œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค์™€ ์„œ๋ฒ„์˜ ์„ธ์…˜์„ ์ž˜ ์กฐํ•ฉํ•ด์„œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.
์ด๋Ÿฐ์‹์œผ๋กœ ์–ด์ฉ”์ˆ˜์—†์ด ์ƒํƒœ์œ ์ง€๊ฐ€ ํ•„์š”ํ•ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒํƒœ์œ ์ง€๋Š” ์ตœ์†Œํ•œ์œผ๋กœ ์‚ฌ์šฉ์„ ํ•ด์ค˜์•ผํ•œ๋‹ค.
(๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์–ด์ฉ”์ˆ˜์—†์ด ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.)
Stateless์—๋Š” ๋‹จ์ ์ด ํ•˜๋‚˜ ๋” ์กด์žฌํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ๋ณด๋‚ธ๋‹ค๋Š” ์ ์ด๋‹ค.
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋•Œ ์•ž์—์„œ ๋ดค๋“ฏ์ด Stateless๋Š” ๋ณด๋‚ด๊ณ  ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๋ฐฉ์‹์ด๋ผ ์•ž์—์„œ ๋‚ด๊ฐ€ ์„ ํƒํ•œ
์ •๋ณด๋“ค์„ ์„œ๋ฒ„์—์„œ ์ €์žฅ์„ ํ•ด์ฃผ์ง€์•Š์Œ์œผ๋กœ ์ง€์†์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฐ€ ๋ณด๋‚ด๊ธฐ๋•Œ๋ฌธ์— ์ค‘๋ณต๋˜๋Š”
๋ฐ์ดํ„ฐ๋˜ํ•œ ๋งŽ์ด ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.( ์Œ ์ด๋ถ€๋ถ„์€ ์„ค๋ช…์ด ์ข€ ์–ด๋ ค์šด๊ฑฐ๊ฐ™๊ตฐ.. )
 
 
 
 
 

'๐ŸŒ Network > ๐Ÿ“œHTTP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[HTTP] ์›น ํƒ„์ƒ ๋ฐฐ๊ฒฝ  (1) 2024.12.18
[HTTP] HTTP๋ž€?  (1) 2024.12.18
[HTTP] WebSocket  (3) 2024.12.08
[HTTP] CSR & SSR ์ด๋ž€?  (1) 2024.11.14
HTTP  (2) 2024.04.26
'๐ŸŒ Network/๐Ÿ“œHTTP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [HTTP] HTTP๋ž€?
  • [HTTP] WebSocket
  • [HTTP] CSR & SSR ์ด๋ž€?
  • HTTP
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (155)
      • ๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต (26)
        • ๐Ÿ–ฅ๏ธ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ (1)
        • ๐ŸŒ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (11)
        • โš™๏ธ์ปดํ“จํ„ฐ์˜ ์ดํ•ด (11)
        • ๐Ÿ›๏ธ์„ธ๊ณ„์˜์ •์น˜์™€๊ฒฝ์ œ (3)
      • ๐Ÿ› ๏ธBackend (52)
        • ๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€ (4)
        • โ˜•Java (21)
        • ๐ŸŒณSpring (11)
        • โšกPython (13)
        • JavaScript (1)
        • ๐Ÿ›ข๏ธDatabase (0)
        • Algorithm Problem Solving (2)
      • ๐ŸŒ Network (7)
        • ๐Ÿ“œHTTP (7)
      • ๐Ÿš€DevOps (1)
      • Data Structure (1)
      • โ›บ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ (65)
      • ์ •๋ณด (1)
      • ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ธ€ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํด๋ž˜์Šค
    ์œ ๋น„์ฟผํ„ฐ์Šค
    spring
    Java
    ํด๋ผ์šฐ๋“œ
    ์Šคํ”„๋ง
    ์ปดํŒŒ์ผ๋Ÿฌ
    Spring Framework
    ๋ฐฉํ†ต๋Œ€
    Python
    ์ž๋ฐ”
    ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต
    ์ž…์ถœ๋ ฅ
    ๋‹คํ˜•์„ฑ
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…๊ฐœ๋ก 
    ํŒŒ์ด์ฌ
    ์ปดํ“จํ„ฐ์˜ ์ดํ•ด
    ๋ฐฉ์†ก๋Œ€
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…
    ์„ธ๊ณ„ํ™”
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
junbin2
(HTTP) Stateless, Stateful
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”