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
'프레임워크 > FastAPI' 카테고리의 다른 글
[FastAPI] FastAPI [13] Response status code (0) | 2023.04.18 |
---|---|
[FastAPI] FastAPI [12] Header Parameters (0) | 2023.04.04 |
[FastAPI] FastAPI [10] Extra Data Types (0) | 2023.04.03 |
[FastAPI] FastAPI [9] Declare Request Example Data (0) | 2023.04.03 |
[FastAPI] FastAPI [8] Body - Nested Models (0) | 2023.03.28 |