3.6.3 웹 애플리케이션 서버: Starlette, Uvicorn
FastAPI를 사용하다 보면 Starlette과 Uvicorn 웹 서버를 자주 접합니다. Starlette은 FastAPI 기반이라 FastAPI를 좀 더 깊이 있게 학습하다 보면 자연스레 마주하게 되고, Uvicorn은 FastAPI를 구동하는 애플리케이션 서버이기 때문입니다. 그래서 잠시 Starlette과 Uvicorn이 무엇인지 알아보겠습니다.
Starlette
Starlette은 비동기 서버 게이트웨이 인터페이스(Asynchronous Server Gateway Interface, ASGI)를 지원하는 웹 프레임워크입니다. FastAPI는 Starlette을 기반으로 기능을 확장하고 추가한 웹 프레임워크고요. 그래서 실질적으로 웹 애플리케이션 서버를 만든다는 측면에서는 많은 부분 Starlette을 사용하는 것이나 마찬가지입니다. Starlette에 자료형 각주와 Pydantic을 통합한 것이 바로 FastAPI입니다. 따라서 자료형 각주와 Pydantic에 기인한 특성을 제외한 나머지 특성은 Starlette의 특성일 때가 많습니다.