July 22, 2018

Пишем веб-сервер на Flask

В наше время, мало таких приложений, которые обходятся без обмена данными со своим сервером. Давайте разберём на пальцах, что представляет из себя этот самый "сервер" и даже напишем серверную программу на фреймворке Flask.

Немного теории

"Общение" с сервером представляет из себя цепочку запрос-ответ. Мы формируем запрос в специальном HTTP формате, потом отсылаем его на нужный адрес и получаем(или не получаем) ответ от сервера. У адреса есть 2 важные составляющие: домен и метод. Пример: https://api.vk.com/method/messages.send

Домен - https://api.vk.com - это то место в Сети, где располагается наш сервер. Всё, что обращается к нашему домену, будет обрабатываться нашим веб-сервером.

Метод - /method/messages.send - это "функция" нашего сервера, которую мы хотим использовать.

Теперь к делу

Замечание: я пишу команды в консоли в предположении, что ваш интерпретатор называется python , если он называется иначе, то соответственно заменяйте это слово своим названием

Нам понадобится Python и библиотека flask. Её можно установить следующим образом:

python -m pip install flask

Теперь создадим файл app.py , в котором и будет наша программа.

Для начала импортируем в нём модуль Flask из библиотеки flask и создадим объект нашего приложения:

from flask import Flask

app = Flask('hello_world')

Теперь давайте допишем функцию, которая будет отвечать "Hello world!" на запрос к методу /hello_world

from flask import Flask

app = Flask('hello_world')


@app.route('/hello_world')
def hello():
	return "Hello world!"

Вы можете мне не поверить, но это всё. Теперь давайте запустим нашу программу у себя на компьютере(используя его как сервер).

python -m flask run --port 8000

Зайдите теперь в браузер по адресу http://127.0.0.1:8000/hello_world и увидите ту самую строчку. 127.0.0.1 - специальный домен, который отображает наш с вами компьютер, а 8000 - порт нашего подключения.

Эта статья была написана чтобы показать, что веб-сервер - не что-то "волшебное" и очень сложное, а самая обычная программа, к которой мы обращаемся специальным образом. Возможно вы заинтересуетесь темой, тогда вам стоит начать изучать Backend разработку.

До встреч в группе SnakeBlog