Flask는 Python을 사용하여 웹 애플리케이션을 개발할 수 있는 경량화된 웹 프레임워크이다. 필요에 따라 다양한 확장 기능을 추가할 수 있다. Flask는 RESTful API 개발, 데이터베이스 통합, 마이크로서비스 아키텍처 구성 등 다양한 웹 기반 프로젝트에 적합하다.
[ Flask의 활용 예시 ]
웹사이트 및 웹 애플리케이션 개발: Flask는 개인 블로그, 기업 웹사이트, 온라인 교육 플랫폼 등 다양한 유형의 웹사이트 개발에 적합하다.
RESTful API 개발: 클라이언트와 서버 간의 데이터 송수신에 사용되는 API 서버 구축에 유용하다.
데이터베이스 기반 애플리케이션: 사용자 인증, 데이터 관리 등 데이터베이스가 필요한 웹 애플리케이션 개발에 활용된다.
마이크로서비스 아키텍처: 소규모 서비스를 독립적으로 개발하여 큰 시스템을 구성할 수 있다.
사물인터넷(IoT) 및 하드웨어 프로젝트: IoT 기기와 통신하는 백엔드 서버 개발에도 사용된다.
머신러닝 및 데이터 분석: 학습된 머신러닝 모델을 서버에 배포하고, 예측 결과를 제공하는 API를 구축하는 데에도 적합하다.
[ Flask의 주요 HTTP 메서드 ]
Flask에서 자주 사용되는 HTTP 메서드는 GET과 POST다.
HTTP 메서드란?
HTTP는 웹에서 데이터를 주고받는 데 사용되는 프로토콜로, 클라이언트(보통 웹 브라우저)와 서버 간의 통신을 가능하게 한다.
GET 메서드:서버로부터 정보를 조회하는 데 사용된다. 데이터를 읽거나 검색할 때 주로 사용되며, 요청 정보는 URL에 포함된다.
POST 메서드: 서버에 데이터를 제출하는 데 사용된다. 새로운 데이터를 생성하거나 업데이트할 때 주로 사용되며, 데이터는 HTTP 메시지의 바디에 담겨 전송된다.
즉, POST 메서드는 클라이언트에서 서버로 데이터를 보내거나 서버에 데이터를 제출할 때 사용되는데, 주로 새로운 데이터를 생성하거나 서버에 데이터를 전송하는 경우에 사용된다.. 예를 들어, 웹 폼을 통해 사용자 정보를 서버에 등록하거나, 새로운 게시물을 작성할 때 이다.
반면, 클라이언트가 서버로부터 데이터를 받아오고 싶을 때는 주로 GET메서드를 사용한다. GET은 서버에 저장된 정보를 검색하거나 요청하는데 사용되며, 데이터를 조회할 목적으로 사용딘다.
예를들어, 웹사이트의 특정페이지를 불러오거나 데이터베이스에서 특정정보를 검색하는 경우이다. 이 때, 서버는 클라이언트의 요청에 따라 데이터를 반환한다.
[ Flask 예시 코드 ]
터미널 결과
웹페이지 결과
위는 Flask 프레임워크를 사용하여 기본적인 웹 페이지를 생성하는 예시코드이다.
@app.route('/') 데코레이터는 루트 URL ('/')에 접근했을 때 'Hello, Flask!'라는 메시지를 반환한다.
Flask는 파이썬에서 웹 개발의 다양한 기능들을 제공하며, 간결하고 쉬운 구조를 가지고 있다.
이러한 특성 덕분에 Flask는 Python 개발자들 사이에서 자주 쓰이는 웹 프레임워크로 자리 잡고 있다.