프레임워크/FastAPI

[FastAPI] FastAPI [11] Cookie Parameters

:) :) 2023. 4. 4. 18:46

https://fastapi.tiangolo.com/tutorial/cookie-params/

 

Cookie Parameters - FastAPI

Cookie Parameters You can define Cookie parameters the same way you define Query and Path parameters. Import Cookie First import Cookie: Python 3.10+Python 3.9+Python 3.6+Python 3.10+ non-AnnotatedPython 3.6+ non-Annotated from typing import Annotated from

fastapi.tiangolo.com

<FastAPI 공식문서 참조>

* Query와 Path 변수 정의하는 방법과 동일하게 Cookie parameters를 정의할 수 있다.

 

0. What is the Cookie?

 HTTP cookie는 HTTP의 일종으로서 user가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해, user의 컴퓨턴나 다른 기기에 설치되는 작은 기록 정보 파일을 의미한다. 이를 통해 사용자가 같은 웹 사이트를 방문할 때마다 저장된 정보를 이용해 페이지 로딩을 빠르게 하거나 여러 정보를 미리 가지고 있게 할 수 있는 등의 기능을 한다.

 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 사용하고 있다. 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다.

 쿠키는 소프트웨어가 아니며, 바이러스를 옮길 수도, 악성코드를 설치할 수도 없다. 그러나 스파이웨어를 통해 유저의 브라우징 행동을 추적하거나 웹 계정권한을 획득할 수 있는 등의 오용이 가능하다.

 

0-1. 구조

 쿠키는 다음 요소로 구성된다.

  • 이름
  • 0개 이상의 속성(key/value pair), 속성은 쿠키의 만료기간, 도메인, 플래그 등의 정보를 저장한다.

1. Import Cookie

from typing import Annotated

from fastapi import Cookie, FastAPI

app = FastAPI()


@app.get("/items/")
async def read_items(ads_id: Annotated[str | None, Cookie()] = None):
    return {"ads_id": ads_id}

 

1-1. Declare Cookie parameters

from typing import Annotated

from fastapi import Cookie, FastAPI

app = FastAPI()


@app.get("/items/")
async def read_items(ads_id: Annotated[str | None, Cookie()] = None):
    return {"ads_id": ads_id}

 Annotated를 이용하여, 편하게 쿠키 자료형을 선언할 수 있다.

Query와 Path와 공통된 pattern으로 사용할 수 있는 것이 장점이다.

 

 

 

2. References

https://fastapi.tiangolo.com/tutorial/cookie-params/

 

Cookie Parameters - FastAPI

Cookie Parameters You can define Cookie parameters the same way you define Query and Path parameters. Import Cookie First import Cookie: Python 3.10+Python 3.9+Python 3.6+Python 3.10+ non-AnnotatedPython 3.6+ non-Annotated from typing import Annotated from

fastapi.tiangolo.com

https://ko.wikipedia.org/wiki/HTTP_%EC%BF%A0%ED%82%A4

 

HTTP 쿠키 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. HTTP 쿠키(HTTP cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자

ko.wikipedia.org