Статья Каталог
Разработчик сервера
- Только для серверов, используемых для разработки
- Она не может быть использована в реальном проекте
- преимущество
- Более дружественным к разработчикам
- Автоматический перезапуск
- Богатый лог
- Отладка страницы
- недостаток
- Низкая производительность
Метод запроса HTTP
-
ПОЛУЧИТЬ
- Приобретение, принять
- Получение данных от сервера, используемого, доступа к ресурсам
-
СООБЩЕНИЕ
- представить
- Для того, чтобы отправить перевод (подать) на сервер
- Часто используемые в создании, валидации
-
УДАЛЯТЬ
- удалять
- Скажите сервер, я хочу, чтобы удалить ресурс
-
ПОЛОЖИЛ
- релиз
- представить
- Используется для отправки данных на сервер
- PUT данные для обновления обычно
-
PATCH
- заплата
- представить
- Используется для отправки данных на сервер
- Как правило, объем данных, разница обновлений используется ЗАПЛАТА
Колба метод запроса настройки
- Запрос поддержки прибудет По умолчанию
- Я хочу поддержать пользовательский запрос
@app.route("/xxx/", methods=["GET", "POST"])
приобретение маршрутизатора Router
# python中的写法
@app.route("/register/", methods=["GET", "POST"])
def register():
return
@app.route("/doregister/", methods=["GET", "POST"])
# 路由返回的是字符串,可以在返回值里面直接加标签代码:<a>lable</a>
def do_register():
return
{#html 中的写法#}
<a href="register">login</a>
<form action="/doregister/" method="post">
Настой View
-
Есть два важных объектов в поле зрения
-
Double R
- Запрос
- Запрос, отправляемый клиентом
- Который содержит множество информации о клиенте
- Запрос клиента не создается
- Framework создается на основе данных клиента (запрос пакет)
- Принадлежность к встроенным объектам в термосе, не может быть изменен
- Жизненный цикл запрос: запрос от начала до конца ответа
- Запрос Свойства
- полный запрос адреса URL
- Базовый URL параметры URL удалены GET
- Только хостов URL URL хоста и номера портов
- путь запроса путь
- метод запроса метод
- удаленный адр запрашивает адрес клиента
- арг GET параметры запроса
- формируют параметры запроса POST
- Файлы загрузки файла
- Заголовки заголовка запроса
- печенье в запросе печенья
- отклик
- Сервер возвращает клиенту данные
- Создано разработчиком
- Существует множество способов создания
- Возвращает строку непосредственно
return 'log in success'
- Шаблоны могут быть возвращены
return render_template('login.html')
- Прямой объект Отклик возвращается
- Созданный непосредственно Response ()
- Может также использоваться make_response (данные, код)
- Первый параметр является содержание, второй параметр является кодом состояния
- Возвращает строку непосредственно
- Запрос
-
Тип ответа
-
Интуитивный ответ на запрос
return render_template('index.html')
-
Перенаправление запроса
- перенаправления ( «/») перенаправляются в корневой каталог (Home)
- url_for динамический IP-адрес
redirect(url_for('do_register'))
do_register определяется маршрутизации маршрутизатора
-
Запрос Активное прекращение
abort(404)
abort(Response('Hello World'))
# Отклик пакета прикладных программ WSGI
-
Поймать исключение
-
@app.errorhandler(404) def hello(e): return 'LOL'
-
Захват POST и GET запросы
- Получение параметров через POST
username = request.form.get('username')
Параметры, передаваемые в форме, по форме
- Получение параметров через GET
username = request.args.get('username')
Параметр Args принят
- Анализ запроса
if request.method == 'GET'
если запрос на обработку управления потоком
-
Техническая сессия
-
Запрос цикл очень короткий
-
Протокол HTTP без гражданства
- Нет протокола для обработки транзакций и памяти
-
соединение HTTP коротко
- Клиент и сервер один раз для каждой операции HTTP, после того, как соединение установлено, задача прерывается торцевое соединение
- Из HTTP / 1.1 от длины по умолчанию с использованием соединений TCP поддерживается, для удержания характеристики подключения
- Клиент и сервер один раз для каждой операции HTTP, после того, как соединение установлено, задача прерывается торцевое соединение
-
классификация
-
печенье
- Технология сеанса клиента
- Ответ написан браузер, данные хранятся в клиенте
response.set_cookie(key,value[max_age=None,exprise=None])
request.cookie.get(key)
- собственности
- Запрос по умолчанию Cookie будет нести весь этот сайт
- Cookie не может межсайтовое, другой домен, отличный IP
- Cookie не может кросс-браузер
- Cookie хранится в ключ-значение
- Поддержка Cookie истек
- Колба по умолчанию браузер закрыт, Cookie истек
- max_age: целое число, указывающее время истечения срока действия куки, никто никогда не истекает
- expries: целое число, можно указать конкретную дату (альтернативный)
- Удалить куки
response.delete_cookie(key)
- недостаток
- небезопасный
- Аут
-
сессия
-
Технология Session сервера
-
Данные хранятся на сервере
-
собственности
-
В зависимости от Cookie
-
Сессия ключ-значение магазин
- Набор пар ключ-значение
session['username'] = 'value'
- Получить пары ключ-значение
get(key,default=None)
- Удалить пар ключ-значение
pop(key)
- Очистить все
clear()
- Набор пар ключ-значение
-
Относительно безопасно
app.config["SECRET_KEY"] = "secret_key"
-
Вы не можете межсайтовые, не можете быть междоменным
-
Поддержка истек
-
session.permanent = True # permanent_session_lifetime设置过期时间 session.permanent_session_lifetime = timedelta(days=1)
-
-
-
-
Токен (не поддерживает Cookie сцены)
- Телефон App
- Технология Session сервера
- Пользовательские технологии серверной части сессии
- Хранение данных, запрос, изменение, маркер (уникальный идентификатор, session_key, session_id), выданный полностью контролируется сервером
-
сцена сеанса
- Необходимо запросить данные о присутствии по
- Продлить жизненный цикл запроса данных