О курсе
О курсе
HTTP под капотом — практический курс о полном пути веб-запроса: от ввода адреса в браузере и DNS-резолвинга до TCP/TLS, HTTP, системных вызовов Linux, работы памяти Python и отправки ответа клиенту.
Мы будем постоянно связывать уровни системы между собой: байты в сетевом пакете, файловый дескриптор сокета, вызовы ядра, стек и куча процесса, код Python и поведение сервера под нагрузкой. После курса знакомые фреймворки перестанут выглядеть магией.
Что разберём
- DNS, IPv4, маршрутизацию и структуру пакетов;
- TCP-рукопожатие, надёжную доставку, сокеты и файловые дескрипторы;
- TLS, сертификаты и модель доверия HTTPS;
- HTTP/1.1 на уровне строк, заголовков, тела и соединений;
- системные вызовы Linux, стек, кучу, refcount и сборщик мусора Python;
- диагностику через strace, tcpdump, perf и профилировщики;
- модели нагрузки: поток на соединение, select/epoll и asyncio.
Практический результат
Вы соберёте TCP/HTTP-сервер без веб-фреймворка, научитесь читать сетевой обмен и системные вызовы, находить узкие места по времени и памяти и объяснять весь путь запроса на инженерном уровне.
Курс включает 28 уроков, 61 тест и 51 интерактивную задачу. Материал выстроен от наблюдаемого запроса к внутренностям ядра и производительности сервера.
Об авторе курса
Рад с Вами познакомиться. Меня зовут Андрей Соболев и я являюсь действующим разработчиком, автором open source-библиотек и наставником по backend-разработке. В основной работе использую Python, а также пишу на системном языке Rust.
Разрабатываю практические инструменты для Python-экосистемы. Моя библиотека ChannelBox предназначена для WebSocket-рассылок в приложениях на FastAPI и Starlette и включена в официальный каталог рекомендованных расширений. Другие мои проекты доступны в профиле на GitHub.
Несколько лет обучаю Python и backend-разработке, помогаю готовиться к техническим собеседованиям и создавать итоговые проекты. На занятиях объясняю не только как написать работающий код, но и почему он работает, как связаны компоненты системы и где искать причину ошибки.
Курсы строятся как последовательная работа над настоящим проектом. В каждом уроке появляется задача, которую можно реализовать, запустить и проверить. Такой подход помогает перейти от повторения готового кода к самостоятельному пониманию всей системы.
Ученики особенно отмечают структурированную подачу, движение от простого к сложному, подробные практические задания и понятное объяснение сложных технологий. Посмотреть реальные отзывы учеников на Авито.
Высшее образование — МАИ, диплом государственного образца.
Для кого этот курс
Начальные требования
Базовый Python: переменные, условия, циклы, функции, классы и работа с файлами
Умение запускать скрипты и устанавливать пакеты из терминала
Linux, macOS или Windows с WSL/Docker для выполнения команд и лабораторных работ
Базовое понимание клиент-серверного взаимодействия будет полезно, но знание сетевых протоколов не требуется
Опыт с FastAPI, Django или Flask желателен, но не обязателен
Наши преподаватели
Как проходит обучение
Курс состоит из 9 модулей и 28 последовательных уроков. В каждом уроке вы изучаете один участок пути HTTP-запроса и сразу закрепляете его на практике.
Теория сопровождается схемами, разбором байтов, командами Linux и примерами на Python. Понимание проверяют 61 тест и 51 интерактивная задача с автоматической проверкой.
По ходу курса вы собираете сервер на низкоуровневых сокетах, наблюдаете сетевой обмен через tcpdump, исследуете системные вызовы через strace и профилируете время и память. Бонусный модуль сравнивает потоки, select/epoll и asyncio.
Учиться можно в своём темпе. Для максимального результата выполняйте команды и код локально, а после каждого модуля возвращайтесь к схеме полного пути запроса.