<aside>
</aside>
μλ νμΈμ! FastAPI 2λΆ 'μλ΅ μ²λ¦¬ μ¬ν'μ λ€ λ²μ§Έ μκ°, 13κ°μ λλ€! λ€λ€ νκΈ°μ°¨κ² μμν΄λ³ΌκΉμ? π
12κ°μμλ HTTP μν μ½λλ₯Ό ν΅ν΄ μμ² μ²λ¦¬ κ²°κ³Όλ₯Ό λͺ
ννκ² μ λ¬νλ λ°©λ²μ λ°°μ μ΅λλ€. status_code
λ§€κ°λ³μμ Response
κ°μ²΄λ₯Ό μ΄μ©ν΄ μλ΅μ μλ―Έλ₯Ό λμ± νλΆνκ² λ§λ€ μ μμμ£ .
μ΄λ² μκ°μλ HTTP λ©μμ§μ λ λ€λ₯Έ μ€μν κ΅¬μ± μμμΈ **ν€λ(Header)**μ **μΏ ν€(Cookie)**λ₯Ό λ€λ£¨λ λ°©λ²μ μμλ΄ λλ€. μλ΅μ 컀μ€ν ν€λλ₯Ό μΆκ°νμ¬ λΆκ° μ 보λ₯Ό μ λ¬νκ±°λ, μΏ ν€λ₯Ό μ€μ νμ¬ μ¬μ©μμ μν(μ: λ‘κ·ΈμΈ μ 보, μ€μ )λ₯Ό λΈλΌμ°μ μ μ μ₯νκ³ μΆμ νλ λ°©λ²μ λ°°μ°κ² λ κ±°μμ. λν, ν΄λΌμ΄μΈνΈκ° 보λ΄μ¨ μΏ ν€λ₯Ό FastAPIμμ μ΄λ»κ² μ½μ΄μ€λμ§λ μ΄ν΄λ΄ λλ€.
ν€λμ μΏ ν€λ₯Ό μμ μμ¬λ‘ λ€λ£¨λ©° APIμ κΈ°λ₯μ λμ± νμ₯ν΄ λ΄ μλ€! πͺβοΈ
μ΄λ² 13κ°μμλ HTTP μμ² λ° μλ΅ λ©μμ§μ μ€μν λΆλΆμΈ **ν€λ(Header)**μ **μΏ ν€(Cookie)**λ₯Ό FastAPIμμ κ΄λ¦¬νλ λ°©λ²μ λ°°μλλ€.
λ¨Όμ , HTTP ν€λκ° μμ²κ³Ό μλ΅μ λν μΆκ° μ 보(λ©νλ°μ΄ν°)λ₯Ό μ λ¬νλ μν μ νλ€λ κ²μ μ΄ν΄νκ³ , FastAPI μλ΅μ 컀μ€ν
ν€λλ₯Ό μΆκ°νλ λ°©λ²μ μ€μ΅ν©λλ€. μ΄λ₯Ό μν΄ κ²½λ‘ μλ ν¨μμ Response
κ°μ²΄λ₯Ό μ£Όμ
λ°μ headers
μμ±μ μμ νλ λ°©μμ μ¬μ©ν©λλ€.
λ€μμΌλ‘, HTTP μΏ ν€μ κ°λ
κ³Ό λͺ©μ (μν κ΄λ¦¬)μ μμλ³΄κ³ , μλ²κ° ν΄λΌμ΄μΈνΈ λΈλΌμ°μ μ μΏ ν€λ₯Ό μ€μ νλλ‘ Set-Cookie
ν€λλ₯Ό 보λ΄λ λ°©λ²μ λ°°μλλ€. FastAPIμμλ μ£Όμ
λ°μ Response
κ°μ²΄μ set_cookie()
λ©μλλ₯Ό μ¬μ©νμ¬ μΏ ν€μ μ΄λ¦, κ°, λ§λ£ μκ°, 보μ μμ±(HttpOnly, Secure, SameSite) λ±μ μ€μ ν μ μμ΅λλ€.
λ§μ§λ§μΌλ‘, ν΄λΌμ΄μΈνΈκ° μμ²μ λ΄μ λ³΄λΈ μΏ ν€ κ°μ FastAPIμμ μ½μ΄μ€λ λ°©λ²μ λ°°μλλ€. fastapi
μμ Cookie
ν¨μλ₯Ό μν¬νΈνμ¬ κ²½λ‘ μλ ν¨μμ λ§€κ°λ³μλ‘ μ μΈνλ©΄, νΉμ μ΄λ¦μ μΏ ν€ κ°μ μ½κ² κ°μ Έμ¬ μ μμ΅λλ€.
μ΄ κ°μλ₯Ό λ§μΉλ©΄ μ¬λ¬λΆμ λ€μμ ν μ μκ² λ©λλ€:
Response
κ°μ²΄λ₯Ό μ£Όμ
λ°μ μλ΅μ 컀μ€ν
ν€λλ₯Ό μ€μ ν μ μμ΅λλ€.response.set_cookie()
λ©μλλ₯Ό μ¬μ©νμ¬ μλ΅μ μΏ ν€λ₯Ό μ€μ νκ³ , λ€μν μμ±(λ§λ£ μκ°, κ²½λ‘, 보μ μμ± λ±)μ μ§μ ν μ μμ΅λλ€.fastapi
μ Cookie
ν¨μλ₯Ό μ¬μ©νμ¬ μμ² ν€λμ ν¬ν¨λ μΏ ν€ κ°μ μ½μ΄μ¬ μ μμ΅λλ€.