π‘ μλΉμ€λ₯Ό ꡬννλ©΄ λ³΄ν΅ λ‘κ·ΈμΈ, λ‘κ·Έμμ, νμκ°μ κΈ°λ₯μ΄ μκΈ° λ§λ ¨μ λλ€. κ·Έλ¬λ©΄ λ°λμ ν΄μΌλλ κ²μ΄ μΈμ¦/μΈκ°μ λν λΆλΆμΈλ°μ, μΈμ¦/μΈκ°λ₯Ό νκΈ° μν΄ μ¬λ¬ λ°©μλ€μ΄ μ‘΄μ¬ν©λλ€. λνμ μΌλ‘ λ립λλ κ°λ μ Tokenκ³Ό Session μΈλ°μ, μ΄λ² ν¬μ€ν μμ μ΄ ν·κ°λ¦¬λ λ κ°λ !
λΏμ μ΄μ΄ μμ 보λλ‘ νκ² μ΅λλ€.
HTTP νλ‘ν μ½μ νΉμ± μ€ νλλ 무μνμ±(stateless)μ λλ€. κ·Έλ¬λ©΄ λ‘κ·ΈμΈ νμ΄μ§μμ λ‘κ·ΈμΈμ μ±κ³΅ν μ μ κ° λ€μ HTTP ν΅μ μ μλν΄λ (λ‘κ·ΈμΈμ νλ€λ)μνλ₯Ό κ°κ³ μμ§ μκΈ° λλ¬Έμ λ‘κ·ΈμΈμ΄ νμν νμ΄μ§λ λ€μ λ΄κ° λ‘κ·ΈμΈμ νλ€λ κ²μ μ μ¦ν΄μΌ νλλ°μ,
λ‘κ·ΈμΈ νμ΄! λ₯Ό κ²μ¬νλ κ²μ μΈμ¦μ΄λΌ νλ©° μΈμ¦μ μν΄ νμν λκ΅¬λ‘ ν ν°, μΈμ λ±μ΄ μμ΅λλ€ (+ μΏ ν€)
HTTPμ Statelessλ μ΄λμ μ€λκ°
HTTPμ 무μνμ±μ HTTPμ λνλμ νΉμ±μΈ λΉμ°κ²°μ±(Connectionless)μμ μ΅λλ€. μ°κ²°μ΄ λμ΄μμ§ μκΈ°μ μμ°μ€λ½κ² μνλ κ°μ μ μκ² λκ±°μ£ .
μλβ HTTPλ μ ν΄λΌμ΄μΈνΈμ μλ²κ°μ μ°κ²°μ ν¬κΈ°(λΉμ°κ²°μ±)νκ³ λ¬΄μνμ±μ κ°κ² ν΄μ μΈμ , ν ν° μ΄λ° κ²λ€μ μ¬μ©ν΄μΌλ§ νλκ±°μΌ? λΌκ³ μ§λ¬Έμ νκ³ μΆκΈ° λ§λ ¨μ λλ€(μ λ§ κ·Έλ΄μλ)
νμ§λ§ λΉμ°κ²°μ±μΌλ‘ κ°κ² λλ μ₯μ μ΄ μ΄λ§λ¬΄μνλ°μ, HTTPλ μΈν°λ· μμμ μλ§μ ν΄λΌμ΄μΈνΈμ μμ²μ μ λ¬νλ νλ‘ν μ½μ λλ€. κ·Έλ κΈ° λλ¬Έμ νλμ μλ²μ μλ§μ μμ²μ λν μ°κ²°μ μ μ§νκ² λλ©΄ μμ²λ 리μμ€κ° λ°μνκ² λ©λλ€. κ·Έλ κΈ° λλ¬Έμ 리μμ€λ₯Ό μ€μ¬ μ’ λ λ§μ μμ²μ μμνκ² λ°κ² νκΈ° μν΄ HTTPλ λΉμ°κ²°μ±μ΄λ νΉμ±μ κ°κ² λ κ²μ λλ€.
μ 3κ°μ§ κ°λ μ΄ Token, Sessionμ κ°μ₯ μ μ€λͺ ν μ μμ κ² κ°μ΅λλ€. κ·Έλ κΈ° λλ¬Έμ 맀 νμ΄μ§λ§λ€ λ‘κ·ΈμΈμ νκ³ μΆμ§ μλ€λ©΄, tokenμ΄λ sessionμ κΌ νμν μμλΌκ³ λ³Ό μ μμ΅λλ€.
κ°λ°μλΌλ©΄ μ¬λ¬κ°μ§ λꡬ λ° μλ¨μ΄ μμ λ μ°¨μ΄μ μ λͺ ννκ² μκ³ μ μ νκ² μ¬μ©νλ κ²μ΄ μ€μν©λλ€. μΈμ κ³Ό ν ν°μ μ¬λ¬κ°μ§ μ°¨μ΄μ μ΄ μ‘΄μ¬νλλ°μ, ν¬κ² μν μ 무, μ μ₯μμΉ, ν¬κΈ°, μμ μ±, νμ μ± μΈ‘λ©΄μμ λ€λ€λ³΄λλ‘ νκ² μ΅λλ€.
ν ν° vs μΈμ μ λν΄μ 곡λΆλ₯Ό νλ©΄μ λ°μΌλ©΄ λΉν©νμ λ²ν μ§λ¬Έλ€μ μ 리νκ² μ΅λλ€.
맨λ μΈμ , ν ν° λ€μ΄λ§ λ³΄κ³ κΉκ² λ€λ€λ³΄μ§ μμμ μ λͺ°λμλλ° μ΄λ² ν¬μ€ν μ ν΅ν΄ λ κ°μ μ°¨μ΄μ μ νμ€ν μ§μ΄λ³΄κ² λ κ² κ°μ΅λλ€.
λ€λ§ μΈμ¦ λ°©μ μ€ νλμΈ μΏ ν€μ λν΄μλ λ€λ€λ΄μΌ λμ± μ¬μΈ΅μ μΌλ‘ HTTPλ₯Ό ν΅ν μΈμ¦ μλ¨μ λν΄ μμλ³Ό μ μμ κ² κ°μ, μΆνμ μΏ ν€μ λν λ΄μ©λ 보κ°ν μμ μ λλ€.
λ€μ ν¬μ€ν μμ μ§ννλ νλ‘μ νΈμμ μ μ©ν΄λ³΄μλ μΈμ¦ λ°©μκ³Ό νΌν©λ λ°©μ, κ·Έλ¦¬κ³ μΈμ¦ κΈ°λ₯μ μ±λ₯ ν₯μμ μν΄ λ¦¬ν©ν λ§(Cache by Redis) νλ κ²½νμ μ§νν΄λ³ΌκΉ ν©λλ€ π€
[μΈμ¦/μΈκ°]Session(μΈμ )κ³Ό Token(ν ν°)(JWT)μ μ°¨μ΄μ
Session κΈ°λ° μΈμ¦κ³Ό Token κΈ°λ° μΈμ¦
Cookie, Session, Token μ μ°¨μ΄μ
μΈμ¦ λ°©μ : Cookie & Session vs JWT
What really is the difference between session and token based authentication
https://velog.io/@paulkim/Session-κ³Ό-ν ν°μ-μ΄μ©ν-μ μ -μΈμ¦μ-λν΄μ
https://www.youtube.com/watch?v=tosLBcAX1vk