<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 ν•¨μˆ˜λ₯Ό μž„ν¬νŠΈν•˜μ—¬ 경둜 μž‘λ™ ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜λ‘œ μ„ μ–Έν•˜λ©΄, νŠΉμ • μ΄λ¦„μ˜ μΏ ν‚€ 값을 μ‰½κ²Œ κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.


🎯 챕터 λͺ©ν‘œ

이 κ°•μ˜λ₯Ό 마치면 μ—¬λŸ¬λΆ„μ€ λ‹€μŒμ„ ν•  수 있게 λ©λ‹ˆλ‹€:

  1. HTTP 헀더와 μΏ ν‚€μ˜ μ—­ν• κ³Ό λͺ©μ μ„ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. FastAPI 경둜 μž‘λ™ ν•¨μˆ˜μ—μ„œ Response 객체λ₯Ό μ£Όμž…λ°›μ•„ 응닡에 μ»€μŠ€ν…€ 헀더λ₯Ό μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  3. response.set_cookie() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 응닡에 μΏ ν‚€λ₯Ό μ„€μ •ν•˜κ³ , λ‹€μ–‘ν•œ 속성(만료 μ‹œκ°„, 경둜, λ³΄μ•ˆ 속성 λ“±)을 μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. fastapi의 Cookie ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ²­ 헀더에 ν¬ν•¨λœ μΏ ν‚€ 값을 μ½μ–΄μ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.
  5. μΏ ν‚€ μ‚¬μš© μ‹œ κ³ λ €ν•΄μ•Ό ν•  μ£Όμš” λ³΄μ•ˆ 속성(HttpOnly, Secure, SameSite)의 의미λ₯Ό μ΄ν•΄ν•©λ‹ˆλ‹€.