πŸ“‚ WEB

    쿠킀와 λ³΄μ•ˆ 문제

    이번 글을 톡해 'μΏ ν‚€λ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ λ°œμƒν•  수 μžˆλŠ” λ³΄μ•ˆ 문제'와 'μ„Έμ…˜μ„ μ΄μš©ν•œ ν•΄κ²°μ±…'을 μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€. ν˜Ήμ‹œλ‚˜ μΏ ν‚€(Cookie)와 μ„Έμ…˜(Session)에 λŒ€ν•œ κΈ°λ³Έ 지식이 ν•„μš”ν•˜λ‹€λ©΄ μ•„λž˜μ˜ 글을 λ¨Όμ € μ°Έκ³ ν•˜κΈ°λ₯Ό λ°”λž€λ‹€. μΏ ν‚€(Cookie) κΈ°λ³Έ 지식 μ„Έμ…˜(Session) κΈ°λ³Έ 지식 1. μΏ ν‚€λ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ λ°œμƒν•  수 μžˆλŠ” λ³΄μ•ˆ 문제 πŸ•Œ μΏ ν‚€λ₯Ό μ΄μš©ν•΄μ„œ 둜그인 κΈ°λŠ₯을 μ•„λž˜μ™€ 같이 λ§Œλ“€μ—ˆλ‹€κ³  생각해 보자. μΏ ν‚€μ˜ κ°’μœΌλ‘œ μ‚¬μš©μžλ₯Ό ꡬ별할 수 μžˆλŠ” IDκ°’(= memberId, 예λ₯Ό λ“€μ–΄ DB에 μ €μž₯된 인덱슀 값이 될 수 있음)이 μ „λ‹¬λ˜κ²Œ λœλ‹€. πŸ”Ž 둜그인 πŸ”Ž 둜그인 ν›„ μ ‘κ·Ό μœ„μ™€ 같이 λ™μž‘ν•œλ‹€κ³  ν•˜λ©΄ 3가지 λ³΄μ•ˆ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆλ‹€. πŸ“• 문제 1. μž„μ˜λ‘œ μΏ ν‚€ 값을 λ³€κ²½ν•˜λŠ” 문제 ν΄λΌμ΄μ–ΈνŠΈκ°€ μΏ ν‚€..

    μΊμ‹œ(Cache) - 검증 헀더와 쑰건뢀 μš”μ²­ 헀더

    이전 글을 톡해 μΊμ‹œμ˜ κΈ°λ³Έ κ°œλ…μ„ μ‚΄νŽ΄λ³΄μ•˜λ‹€. 응닡을 받을 λ•Œ 'μΊμ‹œκ°€ μœ νš¨ν•œ μ‹œκ°„ κ°’'을 λ°›μ•˜λŠ”λ° λ§Œμ•½ μΊμ‹œ 유효 μ‹œκ°„μ΄ μ΄ˆκ³Όν•œ κ²½μš°μ—λŠ” μ–΄λ–»κ²Œ λ™μž‘μ„ ν•΄μ•Ό ν• κΉŒ? 더 λ‚˜μ•„κ°€μ„œ μ„œλ²„μ— λ‹€μ‹œ μš”μ²­μ„ ν–ˆμ§€λ§Œ 데이터가 λ°”λ€Œμ§€ μ•Šμ•„μ„œ 'μΊμ‹œμ— μžˆλŠ” 유효 μ‹œκ°„μ΄ μ§€λ‚œ 데이터'와 같은 데이터라면 ꡳ이 또 λ‹€μš΄μ„ 받아와야 ν• κΉŒ? μ΄λŸ¬ν•œ 점을 '검증 해더'와 '쑰건뢀 μš”μ²­ 헀더'λΌλŠ” 것을 톡해 λ™μž‘ 방식을 이해해 보자. 1. 검증 헀더와 쑰건뢀 μš”μ²­ 헀더 🐳 1. 검증 헀더 μΊμ‹œ 데이터와 μ„œλ²„ 데이터가 같은지 κ²€μ¦ν•˜λŠ” 데이터 Last-Modified, ETagλ₯Ό μ‚¬μš© 2. 쑰건뢀 μš”μ²­ 헀더 검증 ν—€λ”λ‘œ 받은 쑰건에 따라 λΆ„κΈ°κ°€ μƒκΈ°λŠ” 헀더 If-Modified-Since인 경우, Last-Modified μ‚¬μš© If..

    μΊμ‹œ(Cache)

    1. κ°œλ… πŸ‡ μΊμ‹œ(Cache)λž€ μ›Ή νŽ˜μ΄μ§€ μš”μ†Œλ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ μž„μ‹œ μ €μž₯μ†Œμ΄λ‹€. 이미지, 사진, μ˜€λ””μ˜€μ™€ 같은 νŒŒμΌλ“€μ„ μΊμ‹œμ— μ €μž₯ν•˜κ³  ν•΄λ‹Ή 데이터λ₯Ό μž¬μ‚¬μš©ν•  수 μžˆλ‹€. μΊμ‹œλ₯Ό μ΄μš©ν•˜λ©΄ 데이터λ₯Ό 전솑받기 μœ„ν•΄ λ‹€μ‹œ μ„œλ²„μ— μš”μ²­μ„ ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€λŠ” μž₯점이 μžˆλ‹€. 2. μΊμ‹œκ°€ μžˆλŠ” 경우 vs μΊμ‹œκ°€ μ—†λŠ” 경우 πŸ¦“ 'μΊμ‹œκ°€ μ—†λŠ” 경우'와 'μΊμ‹œκ°€ μžˆλŠ” 경우'λ₯Ό 그림을 톡해 비ꡐ해 보자. 각각의 μƒν™©μ—μ„œ 첫 λ²ˆμ§Έμ™€ 두 λ²ˆμ§Έμ— 같은 μš”μ²­μ„ 보낸닀고 κ°€μ •ν•˜μž. μ•„λž˜μ˜ 상황을 μΆ©λΆ„νžˆ μ΄ν•΄ν•œλ‹€λ©΄ 뒀에 λ‚˜μ˜€λŠ” '3. μΊμ‹œμ˜ μ‚¬μš©λ²•'κ³Ό '4. μΊμ‹œλ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œμ˜ 이점'을 μžμ—°μŠ€λŸ½κ²Œ 이해할 수 μžˆμ„ 것이닀. 1. μΊμ‹œκ°€ μ—†λŠ” 경우 2. μΊμ‹œκ°€ μžˆλŠ” 경우 3. μΊμ‹œμ˜ μ‚¬μš©λ²• πŸ„ μ„œλ²„κ°€ 데이터λ₯Ό 보낼 λ•Œ μΊμ‹œ μœ νš¨μ‹œκ°„(..

    μ„Έμ…˜(Session)

    Cookie에 μ΄μ–΄μ„œ Session에 λŒ€ν•΄μ„œ μ‚΄νŽ΄λ³΄μž. 1. κ°œλ… 🐢 μ„Έμ…˜(Session)은 μΏ ν‚€λ₯Ό 기반으둜 ν•˜κ³  μžˆμ§€λ§Œ, μ‚¬μš©μž 정보 νŒŒμΌμ„ λΈŒλΌμš°μ €μ— μ €μž₯ν•˜λŠ” 쿠킀와 달리 μ„Έμ…˜μ€ μ„œλ²„ μΈ‘μ—μ„œ κ΄€λ¦¬ν•œλ‹€. μ›Ή μ„œλ²„μ— μ €μž₯λ˜λŠ” 쿠킀라고 ν•  수 μžˆλ‹€. 이λ₯Ό μ΄μš©ν•˜μ—¬ 둜그인 같이 λ³΄μ•ˆμƒ μ€‘μš”ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ μ‚¬μš©ν•œλ‹€. 2. νŠΉμ§• 🐱 μ‚¬μš©μžμ— λŒ€ν•œ 정보λ₯Ό μ„œλ²„μ— 두기 λ•Œλ¬Έμ— 쿠킀보닀 λ³΄μ•ˆμ΄ μ’‹λ‹€. μ‚¬μš©μžκ°€ λ§Žμ•„μ§ˆμˆ˜λ‘ μ„œλ²„ λ©”λͺ¨λ¦¬λ₯Ό 많이 μ°¨μ§€ν•œλ‹€. 각 ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 고유 ID(μ„Έμ…˜ ID)λ₯Ό λΆ€μ—¬ν•œλ‹€. μ„Έμ…˜ ID둜 ν΄λΌμ΄μ–ΈνŠΈλ₯Ό κ΅¬λΆ„ν•΄μ„œ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”κ΅¬μ— λ§žλŠ” μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. μ €μž₯ 데이터에 μ œν•œμ΄ μ—†λ‹€. 만료 μ‹œμ μ€ ν΄λΌμ΄μ–ΈνŠΈκ°€ λ‘œκ·Έμ•„μ›ƒν•˜κ±°λ‚˜, μ„€μ • μ‹œκ°„ λ™μ•ˆ λ°˜μ‘μ΄ μ—†μœΌλ©΄ λ¬΄νš¨ν™”λ˜κΈ° λ•Œλ¬Έμ— μ •ν™•ν•œ μ‹œμ μ„ ..

    μΏ ν‚€(Cookie)

    HTTP ν”„λ‘œν† μ½œ ν™˜κ²½μ€ Connectionless와 Stateless ν•œ νŠΉμ„±μ„ 가진닀. 즉, ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°€ μ„œλ‘œ μƒνƒœλ₯Ό μœ μ§€ν•˜μ§€ μ•ŠλŠ” νŠΉμ„±μ΄ μžˆλ‹€. ( Connectionless : ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­μ„ ν•œ ν›„ 응닡을 λ°›μœΌλ©΄ κ·Έ 연결을 λŠμ–΄ λ²„λ¦¬λŠ” νŠΉμ§• Stateless : 톡신이 λλ‚˜λ©΄ μƒνƒœλ₯Ό μœ μ§€ν•˜μ§€ μ•ŠλŠ” νŠΉμ§• ) μ΄λŠ” 둜그인과 같이 μƒνƒœλ₯Ό μœ μ§€ν•΄μ•Ό ν•˜λŠ” κ²½μš°μ— λ¬Έμ œκ°€ λ°œμƒν•œλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ Cookie와 Session을 μ‚¬μš©ν•œλ‹€. 이번 글을 톡해 Cookie에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž. 1. κ°œλ… πŸ‘¨‍πŸ’» μΏ ν‚€(Cookie)λž€ ν΄λΌμ΄μ–ΈνŠΈ(λΈŒλΌμš°μ €) λ‘œμ»¬μ— μ €μž₯λ˜λŠ” 킀와 값이 λ“€μ–΄μžˆλŠ” μž‘μ€ 데이터 νŒŒμΌμ΄λ‹€. 이λ₯Ό μ΄μš©ν•˜μ—¬ μ‚¬μš©μž 아이디 λ“±μ˜ 정보 μ €μž₯ - μ„Έμ…˜κ΄€λ¦¬ μ‚¬μš©μžμ—κ²Œ μ μ ˆν•œ νŽ˜μ΄μ§€λ₯Ό..