J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[๋„คํŠธ์›Œํฌ] ์ฟ ํ‚ค(Cookie)์™€ ์„ธ์…˜(Session) ํŠน์ง•, ์ฐจ์ด
Computer Science/๐Ÿ“ก Network

[๋„คํŠธ์›Œํฌ] ์ฟ ํ‚ค(Cookie)์™€ ์„ธ์…˜(Session) ํŠน์ง•, ์ฐจ์ด

728x90

  HTTP ํ”„๋กœํ† ์ฝœ์€ ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์‘๋‹ต์„ ๋ณด๋‚ด์ฃผ๋ฉด ๋ฐ”๋กœ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค. ๋˜, ์—ฐ๊ฒฐ์„ ๋Š๋Š” ์ˆœ๊ฐ„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ํ†ต์‹ ์ด ์ข…๋ฃŒ๋˜๋ฉฐ ์ƒํƒœ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด์™€ ๊ฐ™์€ ํŠน์„ฑ์œผ๋กœ HTTP ํ”„๋กœํ† ์ฝœ์€ ๋ชจ๋“  ์š”์ฒญ ๊ฐ„์˜ ์˜์กด ๊ด€๊ณ„๊ฐ€ ์—†์–ด ํ˜„์žฌ ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์ด์ „์— ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž์™€ ๊ฐ™์€ ์‚ฌ์šฉ์ž์ธ์ง€ ํ™•์ธํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋Š” ๋งค ์š”์ฒญ๋งˆ๋‹ค ์ธ์ฆ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์ด์ „ ์š”์ฒญ๊ณผ ํ˜„์žฌ ์š”์ฒญ์ด ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ธ์ง€ ์•Œ๊ฒŒ๋˜๋Š” ์ƒํƒœ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์ฟ ํ‚ค(Cookie)์™€ ์„ธ์…˜(Session)์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฟ ํ‚ค์™€ ์„ธ์…˜์— ๋Œ€ํ•œ ํŠน์ง•๊ณผ ์ฐจ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

 

์ฟ ํ‚ค(Cookie)

  • ๊ฐœ๋…
    • ํด๋ผ์ด์–ธํŠธ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋˜๋Š” ํ‚ค(key)์™€ ๊ฐ’(value)์ด ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ
    • ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜์—ฌ ์ฐธ์กฐ
    • ์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ, ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ์— ์‚ฌ์šฉ
  • ๊ตฌ์„ฑ ์š”์†Œ
    • ์ฟ ํ‚ค์˜ ์ด๋ฆ„ (name)
    • ์ฟ ํ‚ค์˜ ๊ฐ’ (value)
    • ์ฟ ํ‚ค์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„ (Expires)
    • ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ๋„๋ฉ”์ธ ์ด๋ฆ„ (Domain)
    • ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ๊ฒฝ๋กœ (Path)
    • ๋ณด์•ˆ ์—ฐ๊ฒฐ ์—ฌ๋ถ€ (Secure)
    • HttpOnly ์—ฌ๋ถ€ (HttpOnly)
  • ๋™์ž‘ ๋ฐฉ์‹

  1. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ
  2. ์„œ๋ฒ„๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ(user)๋ฅผ ์ฟ ํ‚ค๋กœ ์ƒ์„ฑ
  3. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ HTTPํ—ค๋”(set-cookie)์— ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ „์†ก [set-cookie: user=jiyun]
  4. ์ „๋‹ฌ ๋ฐ›์€ ์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ ๊ด€๋ฆฌํ•˜๋‹ค๊ฐ€ ๋‹ค์‹œ ์„œ๋ฒ„์— ์š”์ฒญ ์‹œ ํ•ด๋‹น ์ฟ ํ‚ค๋ฅผ HTTPํ—ค๋”์— ๋„ฃ์–ด ์ „์†ก [cookie: user=jiyun]
  5. ์„œ๋ฒ„๋Š” ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ์ฝ๊ณ  ์ƒํƒœ ์ •๋ณด๋ฅผ ํ™•์ธํ•œ ํ›„ ์‘๋‹ต

 

์„ธ์…˜(Session)

  • ๊ฐœ๋…
    • ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ๊ทธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ธฐ์ˆ 
    • ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์ ‘์†ํ•œ ์ดํ›„๋ถ€ํ„ฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์œ ์ง€
    • ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€ ๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ์ž‘์—… ์ˆ˜ํ–‰ ์‹œ ์‚ฌ์šฉ
  • ๋™์ž‘ ๋ฐฉ์‹

  1. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ
  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ๊ตฌ๋ถ„์„ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์— ์œ ์ผํ•œ ์„ธ์…˜ ID๋ฅผ ๋ถ€์—ฌ
  3. ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต ์‹œ HTTPํ—ค๋”(set-cookie)์— ์„ธ์…˜ ID๋ฅผ ํฌํ•จํ•ด์„œ ์ „์†ก [set-cookie: sessionId:x1r2fjc0]
  4. ํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ์…˜ ID์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฟ ํ‚ค๋กœ ๊ด€๋ฆฌ
  5. ์ดํ›„ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ ์‹œ ์„ธ์…˜ ID๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ์ฟ ํ‚ค๋ฅผ HTTPํ—ค๋”์— ๋„ฃ์–ด ์ „์†ก [cookie: sessionId:x1r2fjc0]
  6. ์„œ๋ฒ„๋Š” ์„ธ์…˜ ID๋ฅผ ํ™•์ธํ•œ ํ›„ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ

 

์ฟ ํ‚ค(Cookie) VS ์„ธ์…˜(Session)

  ์ฟ ํ‚ค(Cookie) ์„ธ์…˜(Session)
์ €์žฅ ์œ„์น˜ ํด๋ผ์ด์–ธํŠธ (์ ‘์†์ž PC ๋ธŒ๋ผ์šฐ์ €) ์›น ์„œ๋ฒ„
์ €์žฅ ํ˜•์‹ text Object
๋งŒ๋ฃŒ ์‹œ์  (๋ผ์ดํ”„์‚ฌ์ดํด) ์ฟ ํ‚ค ์ €์žฅ ์‹œ ์„ค์ •
( ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด ์‚ญ์ œ๋˜์ง€ ์•Š์Œ)
๋ธŒ๋ผ์šฐ์ € ์ข…๋ฃŒ ์‹œ ์‚ญ์ œ
(๋งŒ๋ฃŒ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ € ์ข…๋ฃŒ ์‹œ ์ด์™€ ์ƒ๊ด€์—†์ด ์‚ญ์ œ)
์‚ฌ์šฉํ•˜๋Š” ์ž์›(๋ฆฌ์†Œ์Šค) ํด๋ผ์ด์–ธํŠธ ๋ฆฌ์†Œ์Šค ์›น ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค
์šฉ๋Ÿ‰ ์ œํ•œ ์ด 300๊ฐœ / ํ•œ ๋„๋ฉ”์ธ ๋‹น 20๊ฐœ / ํ•œ ์ฟ ํ‚ค ๋‹น 4KB ์„œ๋ฒ„๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ํ•œ ์šฉ๋Ÿ‰ ์ œํ•œ ์—†์Œ
์†๋„ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜์–ด ๋น ๋ฆ„ ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ฟ ํ‚ค๋ณด๋‹ค ๋А๋ฆผ
๋ณด์•ˆ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ €์žฅ๋˜์–ด ๋ณด์•ˆ์— ์ทจ์•ฝ ํด๋ผ์ด์–ธํŠธ์—๋Š” ์„ธ์…˜ID๋งŒ ์ €์žฅํ•˜์—ฌ ๋ณด์•ˆ์„ฑ์ด ์ข‹์Œ

 

โ€ป ์„ธ์…˜์ด ๋ณด์•ˆ ์ฐจ์›์—์„œ๋„ ์ข‹์€๋ฐ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  ์„ธ์…˜์€ ์„œ๋ฒ„์˜ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„ˆ๋ฌด ๋งŽ์ด ๋งŒ๋“ค๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์–ด์ง€๊ณ  ์ด์— ๋”ฐ๋ผ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค. 

 

 

728x90

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

[๋„คํŠธ์›Œํฌ] HTTP ์ƒํƒœ/์‘๋‹ต ์ฝ”๋“œ ์ •๋ฆฌ  (0) 2023.02.02
[๋„คํŠธ์›Œํฌ] REST, REST API, RESTful ์•Œ์•„๋ณด๊ธฐ  (0) 2023.02.01
[๋„คํŠธ์›Œํฌ] GET ๋ฉ”์„œ๋“œ์™€ POST ๋ฉ”์„œ๋“œ ํŠน์ง•, ์ฐจ์ด  (0) 2022.03.31
[๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS ํ”„๋กœํ† ์ฝœ  (0) 2022.02.09
[๋„คํŠธ์›Œํฌ] TCP์˜ 3-way handshake์™€ 4-way handshake  (0) 2022.02.04
    'Computer Science/๐Ÿ“ก Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [๋„คํŠธ์›Œํฌ] HTTP ์ƒํƒœ/์‘๋‹ต ์ฝ”๋“œ ์ •๋ฆฌ
    • [๋„คํŠธ์›Œํฌ] REST, REST API, RESTful ์•Œ์•„๋ณด๊ธฐ
    • [๋„คํŠธ์›Œํฌ] GET ๋ฉ”์„œ๋“œ์™€ POST ๋ฉ”์„œ๋“œ ํŠน์ง•, ์ฐจ์ด
    • [๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS ํ”„๋กœํ† ์ฝœ
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

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