Лабораторна робота № 9

Задание 1

1. Подключите модуль 'aiohttp' (базовый класс aiohttp.server.ServerHttpProtocol, https://docs.aiohttp.org/en/stable/ , https://aiohttp.readthedocs.io/en/v0.18.2/server.html)

2. Создайте сервер для обработки порта 8080

3. С помощью объекта Response:

- верните статус успешного выполнения запроса

- в теле ответа верните строку "Привет от [ваше имя]!"

- сообщите клиенту, что все необходимые данные переданы (обозначьте конец ответа)

4. Запустите сервер

5. Выполните запрос к серверу через браузер и убедитесь в корректности ответа

6. Остановите сервер

Задание 2

1. Создайте в папке labs файл index.html со следующим содержимым:

<hr><strong>Конец сообщения.</strong>

2. Подключите модуль 'asyncio'

3. Асинхорнно зачитайте файл index.html и верните его клиенту после вывода строки "Привет от [ваше имя]!"

4. Запустите сервер

5. Выполните запрос к серверу через браузер и убедитесь в корректности ответа. Если вы всё сделали правильно, то должна остаться одна проблема: html-код из файла вывелся "как есть".  Почему? 

6. Изучите заголовки ответа сервера (вкладка Network Инструментов разработчика (F12))

Задание 3

1. Откройте документацию https://aiohttp.readthedocs.io/en/v0.18.2/server.html и посмотрите, как послать дополнительные заголовки ответа сервера

2. Измените код сервера, чтобы он отдавал заголовок, необходимый для "понимания" браузером, что он получает html-код

3. Перезапустите сервер

4. Выполните запрос к серверу через браузер и убедитесь в корректности ответа