[python] 파이썬을 이용한 웹 서버 개발

웹 서버는 인터넷 상에서 웹 페이지를 제공하기 위해 사용되는 소프트웨어입니다. 파이썬은 간편하고 강력한 언어로 웹 서버를 개발하는 데에 많이 사용됩니다. 이번 포스트에서는 파이썬을 이용한 웹 서버 개발에 대해 알아보겠습니다.

Flask 프레임워크를 이용한 웹 서버 개발

Flask는 파이썬에서 가장 많이 사용되는 웹 프레임워크 중 하나로, 웹 서버를 빠르게 개발할 수 있는 도구입니다. Flask를 사용하여 간단한 웹 서버를 만들어보겠습니다.

먼저, Flask를 설치해야 합니다. 아래 명령어를 이용하여 Flask를 설치합니다.

pip install flask

Flask는 다음과 같이 간단한 코드로 웹 서버를 만들 수 있습니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

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

위 코드는 루트 경로(“/”)로 접속했을 때 “Hello, World!”를 반환하는 간단한 웹 서버를 만드는 예제입니다. Flask 앱을 생성하고, 라우팅을 설정한 후에 app.run()을 통해 서버를 실행합니다.

실행하면 Flask 웹 서버가 localhost에서 실행되며, 브라우저를 통해 http://localhost:5000 에 접속하면 “Hello, World!”를 확인할 수 있습니다.

Flask는 이 외에도 다양한 기능을 제공하며, 개발자들이 웹 서버를 효과적으로 개발할 수 있도록 도와줍니다.

플라스크로 RESTful API 서버 개발하기

Flask는 웹 서버 개발뿐만 아니라 RESTful API 서버로도 사용할 수 있습니다. REST는 Representational State Transfer의 약자로, 웹 서비스를 구축하기 위한 아키텍처 스타일입니다.

아래는 Flask를 이용하여 간단한 RESTful API 서버를 개발하는 예제입니다.

from flask import Flask, jsonify, request

app = Flask(__name__)

data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

@app.route('/user', methods=['GET'])
def get_user():
    return jsonify(data)

@app.route('/user', methods=['POST'])
def create_user():
    user = request.get_json()
    data.update(user)
    return jsonify(user)

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

위 코드는 /user 경로로 GET 요청이 들어왔을 때 데이터를 반환하고, POST 요청이 들어왔을 때 데이터를 업데이트하여 반환하는 간단한 RESTful API 서버입니다. 데이터는 JSON 형식으로 주고 받으며, Flask의 request 모듈을 사용하여 요청의 내용을 추출합니다.

이 예제를 실행하면, GET 요청을 통해 현재 데이터를 조회하고, POST 요청을 통해 데이터를 업데이트할 수 있습니다.

결론

파이썬을 이용하여 웹 서버를 개발하는 방법에 대해 알아보았습니다. Flask 프레임워크를 이용하면 간단하게 웹 서버를 구축할 수 있으며, RESTful API 서버 또한 개발할 수 있습니다. 파이썬을 활용하여 다양한 웹 서비스를 개발해보세요!