본문 바로가기
컴퓨터공학

[2025 최신] 파이썬으로 간단한 웹 서버 만들기 (Flask & FastAPI 비교)

by oioiwoon 2025. 2. 2.
반응형

🌍 웹 서버(Web Server)란?

웹 서버는 사용자의 요청을 받아 웹페이지를 제공하는 프로그램입니다.

파이썬으로 웹 서버를 만들면?

  • 웹 애플리케이션 개발 가능
  • API 서버 구축 가능
  • 백엔드 개발 기초 학습 가능

이 글에서는 Flask와 FastAPI를 비교하면서 간단한 웹 서버를 만들어봅니다! 🚀

 

반응형

🛠️ 1. Flask vs FastAPI: 어떤 프레임워크를 선택할까?

비교 항목 Flask FastAPI

속도 상대적으로 느림 빠름 (비동기 지원)
사용 편의성 쉽고 직관적 타입 검사를 지원
비동기 지원 기본적으로 X (확장 필요) 기본 지원 (async/await)
문서 자동 생성 없음 OpenAPI 문서 자동 생성
추천 사용 사례 간단한 웹 앱 API 서버 구축

Flask: 간단한 웹사이트나 REST API를 만들 때 적합
FastAPI: 성능이 중요하고 비동기 처리가 필요한 API 개발에 적합


🚀 2. Flask로 간단한 웹 서버 만들기

Flask는 설치와 사용이 간단하여 빠르게 웹 애플리케이션을 개발할 수 있는 프레임워크입니다.

🔹 1. Flask 설치

pip install flask

🔹 2. 기본 웹 서버 코드 (app.py)

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run(debug=True)

🔹 3. 실행하기

python app.py  # 로컬 서버 실행 (http://127.0.0.1:5000)

브라우저에서 http://127.0.0.1:5000에 접속하면 "Hello, Flask!"가 출력됩니다!


⚡ 3. FastAPI로 간단한 웹 서버 만들기

FastAPI는 비동기 지원과 자동 문서 생성 기능이 강력한 최신 프레임워크입니다.

🔹 1. FastAPI 설치

pip install fastapi uvicorn

🔹 2. 기본 웹 서버 코드 (main.py)

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def home():
    return {"message": "Hello, FastAPI!"}

if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app, host="127.0.0.1", port=8000)

🔹 3. 실행하기

uvicorn main:app --reload  # 로컬 서버 실행 (http://127.0.0.1:8000)

브라우저에서 http://127.0.0.1:8000에 접속하면 JSON 응답이 출력됩니다!


🔥 4. Flask vs FastAPI 코드 비교

기능 Flask 코드 FastAPI 코드

라우팅 @app.route('/') @app.get('/')
응답 형식 HTML 또는 문자열 JSON 응답 기본 지원
실행 방법 app.run(debug=True) uvicorn.run(app, host, port)
비동기 처리 별도 설정 필요 기본 지원 (async/await)

👉 Flask는 가볍고 빠르게 개발 가능, FastAPI는 성능이 중요한 API 구축에 적합!


🎯 결론: Flask vs FastAPI, 어떤 걸 선택할까?

Flask를 선택해야 할 때:

  • 간단한 웹 애플리케이션을 만들고 싶을 때
  • 가볍고 빠른 개발이 필요할 때

FastAPI를 선택해야 할 때:

  • 고성능 API 서버를 구축해야 할 때
  • 비동기 처리가 필요한 경우
  • 자동 문서 생성(OpenAPI)이 필요한 경우

🚀 이제 직접 Flask 또는 FastAPI를 활용해 웹 서버를 만들어보세요!

 

반응형