HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux

Проследите путь HTTP-запроса от DNS и TCP/TLS до системных вызовов Linux, памяти Python и ответа сервера. Соберёте TCP-сервер на сокетах, разберёте пакеты и заголовки побайтово, освоите strace, tcpdump, perf и профилирование под нагрузкой.
Средний уровень
4–6 часов в неделю

О курсе

О курсе

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 и backend-разработчики, которые хотят понимать, что происходит ниже уровня FastAPI, Django или Flask Студенты и начинающие инженеры, которым нужна цельная картина работы сети, ОС и веб-сервера DevOps и SRE-специалисты, разбирающие сетевые ошибки, задержки и нагрузку Разработчики, готовящиеся к техническим собеседованиям по HTTP, TCP/IP, Linux и системному программированию Все, кто умеет писать простые программы на Python и хочет самостоятельно собрать веб-сервер на сокетах

Начальные требования

Базовый Python: переменные, условия, циклы, функции, классы и работа с файлами
Умение запускать скрипты и устанавливать пакеты из терминала
Linux, macOS или Windows с WSL/Docker для выполнения команд и лабораторных работ
Базовое понимание клиент-серверного взаимодействия будет полезно, но знание сетевых протоколов не требуется
Опыт с FastAPI, Django или Flask желателен, но не обязателен

Наши преподаватели

Как проходит обучение

Курс состоит из 9 модулей и 28 последовательных уроков. В каждом уроке вы изучаете один участок пути HTTP-запроса и сразу закрепляете его на практике.

Теория сопровождается схемами, разбором байтов, командами Linux и примерами на Python. Понимание проверяют 61 тест и 51 интерактивная задача с автоматической проверкой.

По ходу курса вы собираете сервер на низкоуровневых сокетах, наблюдаете сетевой обмен через tcpdump, исследуете системные вызовы через strace и профилируете время и память. Бонусный модуль сравнивает потоки, select/epoll и asyncio.

Учиться можно в своём темпе. Для максимального результата выполняйте команды и код локально, а после каждого модуля возвращайтесь к схеме полного пути запроса.

Программа курса

загружаем...

Сколько стоит обучение

Price: 1 000 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 1 000 ₽