ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • session 객체? + μΏ ν‚€
    JAVA 2023. 11. 28. 14:03

    πŸ’œ session 객체

    μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ μƒνƒœλ₯Ό μœ μ§€ν•˜κ³  정보λ₯Ό μ €μž₯ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” κ°μ²΄νžˆλ‹€.

    HTTP ν”„λ‘œν† μ½œμ˜ stateless νŠΉμ„± λ•Œλ¬Έμ— 각 μš”μ²­ 간에 μƒνƒœλ₯Ό μœ μ§€ν•  수 μ—†μ§€λ§Œ, 

    μ„Έμ…˜μ€ 이λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•œ λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ λ„μž…λ˜μ—ˆλ‹€.

     

     

    μ„Έμ…˜μ€ 일반적으둜 λ‹€μŒκ³Ό 같은 μš©λ„λ‘œ μ‚¬μš©λœλ‹€.

     

    1) μƒνƒœ μœ μ§€

    μ„Έμ…˜μ€ ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μ—°μ†μ μœΌλ‘œ μ ‘μ†ν•˜λŠ” λ™μ•ˆ 정보λ₯Ό μœ μ§€ν•˜λŠ”λ° μ‚¬μš©λœλ‹€.

    μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈν•˜λ©΄ μ„œλ²„λŠ” μ„Έμ…˜μ„ μƒμ„±ν•˜κ³ ,

    이 μ„Έμ…˜μ„ 톡해 μ‚¬μš©μžμ™€ κ΄€λ ¨λœ 정보(예: μ‚¬μš©μž 식별정보, μ„€μ • λ“±)λ₯Ό μ €μž₯ν•˜μ—¬ μœ μ§€ν•  수 μžˆλ‹€.

     

    2) μž₯λ°”κ΅¬λ‹ˆμ™€ 같은 데이터 μ €μž₯

    μ‡Όν•‘ μΉ΄νŠΈμ™€ 같은 μž„μ‹œ 데이터λ₯Ό μ €μž₯ν•˜κ³  μœ μ§€ν•˜λŠ” 데이도 μ„Έμ…˜μ΄ μ‚¬μš©λœλ‹€.

    μ‚¬μš©μžκ°€ μ—¬λŸ¬ νŽ˜μ΄μ§€μ—μ„œ μƒν’ˆμ„ μ„ νƒν•˜κ³  μž₯λ°”κ΅¬λ‹ˆμ— 담을 λ•Œ, 이 정보λ₯Ό μ„Έμ…˜μ— μ €μž₯ν•˜μ—¬ μœ μ§€ν•  수 μžˆλ‹€.

     

    3) 둜그인 정보 μœ μ§€

    μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈν•œ μƒνƒœλ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œλ„ μ„Έμ…˜μ΄ μ‚¬μš©λœλ‹€.

    λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ— λŒ€ν•œ 정보λ₯Ό μ„Έμ…˜μ— μ €μž₯ν•˜μ—¬ 각 μš”μ²­μ— λŒ€ν•΄ μ‚¬μš©μžλ₯Ό 식별할 수 μžˆλ‹€.

     

    4) λ³΄μ•ˆ 관리

    μ„Έμ…˜μ€ μ„œλ²„ μΈ‘μ—μ„œ κ΄€λ¦¬λ˜λ―€λ‘œ, ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 직접 μ‘°μž‘ν•˜κΈ° μ–΄λ ΅λ‹€.

    이λ₯Ό 톡해 μƒνƒœ 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ μœ μ§€ν•  수 μžˆλ‹€.

     

     

    μ„Έμ…˜μ€ 일반적으둜 μ„œλ²„ μΈ‘μ—μ„œ μƒμ„±λ˜κ³  κ΄€λ¦¬λœλ‹€.

    각 μ„Έμ…˜μ—λŠ” κ³ μœ ν•œ μ‹λ³„μž (session ID)κ°€ λΆ€μ—¬λ˜λ©°,

    이λ₯Ό 톡해 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ ν†΅μ‹ μ—μ„œ ν•΄λ‹Ή μ„Έμ…˜μ„ μ‹λ³„ν•œλ‹€.

    μ„Έμ…˜μ€ 일정 κΈ°κ°„ λ™μ•ˆ μœ μ§€λ˜λ©°, 유효 기간이 μ§€λ‚˜λ©΄ μ’…λ£Œλœλ‹€.

     

     

     

     

     

     

     

     πŸ’› μ„Έμ…˜ ν…Œμ΄λΈ”(session table)

    데이터 λ² μ΄μŠ€μ—μ„œ μ„Έμ…˜ 정보λ₯Ό κ΄€λ¦¬ν•˜λŠ” ν…Œμ΄λΈ”μ„ κ°€λ¦¬ν‚€λŠ” μš©μ–΄λ‘œ μ‚¬μš©λœλ‹€.

    μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ„Έμ…˜μ€ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ μƒνƒœλ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λ©°, 

    이 μƒνƒœ μ •λ³΄λŠ” μ„œλ²„μΈ‘μ—μ„œ κ΄€λ¦¬λœλ‹€.

    μ„Έμ…˜ ν…Œμ΄λΈ”μ€ μ΄λŸ¬ν•œ μ„Έμ…˜ 정보λ₯Ό μ €μž₯ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ„ μ˜λ―Έν•œλ‹€.

     

    일반적으둜 μ„Έμ…˜ ν…Œμ΄λΈ”μ—λŠ” λ‹€μŒκ³Ό 같은 컬럼이 포함될 수 μžˆλ‹€.

     

    1) Session ID(μ„Έμ…˜ μ‹λ³„μž): 각 μ„Έμ…˜μ„ κ³ μœ ν•˜κ²Œ μ‹λ³„ν•˜λŠ” κ°’

     

    2) User ID(μ‚¬μš©μž μ‹λ³„μž): μ‚¬μš©μžλ₯Ό μ‹λ³„ν•˜λŠ” κ°’. λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ—κ²Œλ§Œ 해당될 수 μžˆλ‹€.

     

    3) Session Data(μ„Έμ…˜ 데이터): μ„Έμ…˜μ— κ΄€λ ¨λœ 정보λ₯Ό μ €μž₯ν•˜λŠ” 컬럼. 일반적으둜 ν…μŠ€νŠΈ λ˜λŠ” μ§λ ¬ν™”λœ λ°μ΄ν„°λ‘œ μ €μž₯될 수 μžˆλ‹€.

     

    4) Creation Time(생성 μ‹œκ°„): μ„Έμ…˜μ΄ μƒμ„±λœ μ‹œκ°„

     

    5) Last Access Time(λ§ˆμ§€λ§‰ μ ‘κ·Ό μ‹œκ°„): μ„Έμ…˜μ΄ λ§ˆμ§€λ§‰μœΌλ‘œ μ ‘κ·Όλœ μ‹œκ°„

     

    6) Expiration Time(만료 μ‹œκ°„): μ„Έμ…˜μ΄ λ§Œλ£Œλ˜λŠ” μ‹œκ°„. 만료 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ 세셔닝 μ’…λ£Œλ  수 μžˆλ‹€.

     

    μ„Έμ…˜ ν…Œμ΄λΈ”μ€ 보톡 λ©”λͺ¨λ¦¬, 파일 μ‹œμŠ€ν…œ, λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λœλ‹€. 

     

     

      μ„Έμ…˜ μΏ ν‚€
    μ €μž₯ μœ„μΉ˜ μ„œλ²„ μΈ‘μ—μ„œ μƒμ„±λ˜κ³  κ΄€λ¦¬λœλ‹€.
    μ„Έμ…˜ λ°μ΄ν„°λŠ” μ„œλ²„μ˜ λ©”λͺ¨λ¦¬, 파일 μ‹œμŠ€ν…œ, λ°μ΄ν„°λ² μ΄μŠ€ 등에 μ €μž₯λœλ‹€.
    ν΄λΌμ΄μ–ΈνŠΈ μΈ‘μ—μ„œ μƒμ„±λ˜μ–΄ κ΄€λ¦¬λœλ‹€.
    μΏ ν‚€ λ°μ΄ν„°λŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ λΈŒλΌμš°μ €μ— μ €μž₯되며, μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ κ°„μ˜ ν†΅μ‹ μ—μ„œ μΏ ν‚€κ°€ ν•¨κ»˜ μ „μ†‘λœλ‹€.
    λ³΄μ•ˆ μ„Έμ…˜μ€ μ„œλ²„ μΈ‘μ—μ„œ κ΄€λ¦¬λ˜λ―€λ‘œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 직접 μ‘°μž‘ν•˜κΈ° μ–΄λ ΅λ‹€.
    이둜 인해 μƒλŒ€μ μœΌλ‘œ μ•ˆμ „ν•˜κ²Œ μƒνƒœλ₯Ό μœ μ§€ν•  수 μžˆλ‹€.
    μΏ ν‚€λŠ” ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯되기 λ•Œλ¬Έμ— ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μΏ ν‚€ 데이터λ₯Ό ν™•μΈν•˜κ±°λ‚˜ μˆ˜μ •ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ‹€.
    λ”°λΌμ„œ λ―Όκ°ν•œ 정보λ₯Ό λ‹΄κ³  μžˆλŠ” 경우 λ³΄μ•ˆμ— μ·¨μ•½ν•  수 μžˆλ‹€.
    μš©λ„ μ„Έμ…˜μ€ 주둜 μ‚¬μš©μž 인증, μž₯λ°”κ΅¬λ‹ˆ 관리, μ‚¬μš©μž μ„€μ • λ“±κ³Ό 같이 μ„œλ²„ μΈ‘μ—μ„œ μ€‘μš”ν•œ 정보λ₯Ό μœ μ§€ν•  λ•Œ μ‚¬μš©λœλ‹€. μΏ ν‚€λŠ” 주둜 μ‚¬μš©μžμ˜ μ„ ν˜Έ μ„€μ •, μ‚¬μš©μž 행동 좔적 λ“±κ³Ό 같이 ν΄λΌμ΄μ–ΈνŠΈ μΈ‘μ—μ„œ μƒλŒ€μ μœΌλ‘œ κ°„λ‹¨ν•œ 정보λ₯Ό μœ μ§€ν•  λ•Œ μ‚¬μš©λœλ‹€.
    크기 μ œν•œ 일반적으둜 μ„Έμ…˜ λ°μ΄ν…Œμ—λŠ” 큰 μ œν•œμ΄ μ—†λ‹€. 
    ν•˜μ§€λ§Œ μ„œλ²„ λ©”λͺ¨λ¦¬λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μš©λŸ‰μ— 따라 μ œν•œλ  수 μžˆλ‹€
    κ°œλ³„ μΏ ν‚€μ˜ ν¬ν‚€λŠ” 보톡 μ œν•œμ΄ 있으며, λΈŒλΌμš°μ €λ§ˆλ‹€ λ‹€λ₯Ό 수 μžˆλ‹€.
    일반적으둜 ν•œ 도메인당 μΏ ν‚€μ˜ 총 크기도 μ œν•œλ  수 μžˆλ‹€.
    수λͺ… μ„Έμ…˜μ€ μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €λ₯Ό λ‹«κ±°λ‚˜ μΌμ •μ‹œκ°„ λ™μ•ˆ ν™œλ™μ΄ μ—†λŠ” κ²½μš°μ— μ’…λ£Œλ  수 μžˆλ‹€. μΏ ν‚€λŠ” 만료 λ‚ μ§œλ₯Ό μ„€μ •ν•˜μ—¬ νŠΉμ • κΈ°κ°„ λ™μ•ˆ μœ μ§€λ  수 μžˆλ‹€.
    만료 λ‚ μ§œλ₯Ό μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λΈŒλΌμš°μ €κ°€ μ’…λ£Œλ  λ•ŒκΉŒμ§€ μœ μ§€λœλ‹€.

    'JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    application 객체?  (1) 2023.11.28
    μ»¬λ ‰μ…˜(Collection, List/Set/Map)  (1) 2023.09.26
    클래슀(Class)와 객체(Object)  (0) 2023.08.17
    객체지ν–₯μ–Έμ–΄λž€?  (0) 2023.08.17
    λ©”μ„œλ“œ(Method)λž€?  (0) 2023.08.17
Designed by Tistory.