[Backend] Cookie๐Ÿช

ERror.ASERยท2021๋…„ 4์›” 3์ผ
0

Backend

๋ชฉ๋ก ๋ณด๊ธฐ
3/4

Http protocol

  • client๊ฐ€ server์— ์š”์ฒญ
  • server๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ํ›„ client์— ์‘๋‹ต
  • ์‘๋‹ตํ›„ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ๋‹ค => stateless
    • ์ง€์†์ ์ธ ์—ฐ๊ฒฐ๋กœ ์ธํ•œ ์ž์›๋‚ญ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋‚˜ client์™€ server๊ฐ€ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ(๋กœ๊ทธ์ธ์ •๋ณด) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • client๋‹จ์œ„๋กœ ์ƒํƒœ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ Cookie์™€ Session์ด ์‚ฌ์šฉ๋œ๋‹ค. => Http protocol์˜ ์•ฝ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์— ์ €์žฅํ•˜๋Š” ์ •๋ณดํŒŒ์ผ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ„๋„์˜ ์š”์ฒญ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋ธŒ๋ผ์šฐ์ €๋Š” request์‹œ Request Header๋ฅผ ๋„ฃ์–ด ์ž๋™์œผ๋กœ ์„œ๋ฒ„์— ์ „์†กํ•œ๋‹ค.
  • key์™€ value๋กœ ๊ตฌ์„ฑ๋˜๊ณ  String ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ €์žฅ๋˜๋Š” ์ฟ ํ‚ค๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋กœ ์ธ์‹ํ•œ๋‹ค.

Cookie์˜ ์‚ฌ์šฉ ๋ชฉ์ 

  1. ์„ธ์…˜๊ด€๋ฆฌ : ์‚ฌ์šฉ์ž ์•„์ด๋””, ์ ‘์†์‹œ๊ฐ„, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ์˜ ์„œ๋ฒ„๊ฐ€ ์•Œ์•„์•ผ ํ•  ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
  2. ๊ฐœ์ธํ™” : ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๊ทธ ์‚ฌ๋žŒ์— ์ ์ ˆํ•œ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  3. ํŠธ๋ž˜ํ‚น : ์‚ฌ์šฉ์ž์˜ ํ–‰๋™๊ณผ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๊ณ  ๊ธฐ๋กํ•œ๋‹ค.

Cookie์˜ ์‚ฌ์šฉ ์˜ˆ

  • id ์ €์žฅ(์ž๋™๋กœ๊ทธ์ธ)
  • ์ผ์ฃผ์ผ๊ฐ„ ๋‹ค์‹œ ๋ณด์ง€ ์•Š๊ธฐ
  • ์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•œ ์ƒํ’ˆ๋“ค์„ ๊ด‘๊ณ ์— ์ถ”์ฒœ
  • ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ

Cookie์˜ ๊ตฌ์„ฑ ์š”์†Œ

  • ์ด๋ฆ„ : ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฟ ํ‚ค๊ฐ€ client์˜ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋˜๋ฏ€๋กœ ๊ฐ ์ฟ ํ‚ค๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„
  • ๊ฐ’ : ์ฟ ํ‚ค์˜ ์ด๋ฆ„๊ณผ ๋งคํ•‘๋˜๋ฅผ ๊ฐ’
  • ์œ ํšจ๊ธฐ๊ฐ„ : ์ฟ ํ‚ค์˜ ์œ ํšจ๊ธฐ๊ฐ„
  • ๋„๋ฉ”์ธ : ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ๋„๋ฉ”์ธ
  • ๊ฒฝ๋กœ(path) : ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ์š”์ฒญ ๊ฒฝ๋กœ

Cookie์˜ ๋™์ž‘ ์ˆœ์„œ

  1. client๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•œ๋‹ค.
  2. WAS๋Š” Cookie๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  3. HTTP Header์— Cookie๋ฅผ ๋„ฃ์–ด ์‘๋‹ตํ•œ๋‹ค.
  4. Browser๋Š” ๋„˜๊ฒจ๋ฐ›์€ Cookie๋ฅผ PC์— ์ €์žฅํ•˜๊ณ , ๋‹ค์‹œ WAS๊ฐ€ ์š”์ฒญํ•  ๋•Œ ์š”์ฒญ๊ณผ ํ•จ๊ป˜ Cookie๋ฅผ ์ „์†กํ•œ๋‹ค.
  5. Browser๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ Cookie์˜ ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด Client๋Š” ๊ณ„์† ๋ณด๊ด€ํ•œ๋‹ค.
  6. ๋™์ผ ์‚ฌ์ดํŠธ ์žฌ๋ฐฉ๋ฌธ์‹œ Client์˜ PC์— ํ•ด๋‹น Cookie๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ์š”์ฒญ ํŽ˜์ด์ง€์™€ ํ•จ๊ป˜ Cookie๋ฅผ ์ „์†กํ•œ๋‹ค.

Cookie์˜ ํŠน์ง•

  • ์ด๋ฆ„, ๊ฐ’, ๋งŒ๋ฃŒ์ผ(์ €์žฅ ๊ธฐ๊ฐ„ ์„ค์ •), ๊ฒฝ๋กœ ์ •๋ณด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ์— ์ด 300๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ๋‹น 20๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ํ•˜๋‚˜์˜ ์ฟ ํ‚ค๋Š” 4KB(4096bytes)๊นŒ์ง€ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ถœ์ฒ˜
https://interconnection.tistory.com/74

profile
์ง€์šฐ์˜ ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€