Курс на Stepik
Обложка курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux» на Stepik
1 000 ₽

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

Открыть на
STEPIK.ORG

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

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Учеников на курсе 5
Сертификаты, выданные на курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Сертификатов выдано 0
Отзывы о курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Отзывов получено 0
Рейтинг курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Рейтинг курса 0.000
Уроки в курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Количество уроков 28
Тесты в курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Количество квизов 61
Задачи с кодом в курсе «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Количество задач с кодом 51
Время прохождения курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Время прохождения курса —
Стоимость курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Стоимость курса 1 000 ₽ —
Обновления курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Обновления курса — —
Дата публикации курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Дата публикации курса — ———
Последнее обновление курса «HTTP под капотом: TCP/IP-стек и системные вызовы ядра Linux»Последнее обновление — ———
Сложность normal — ———

Чему вы научитесь

О курсе

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-разработке, помогаю готовиться к техническим собеседованиям и создавать итоговые проекты. На занятиях объясняю не только как написать работающий код, но и почему он работает, как связаны компоненты системы и где искать причину ошибки.

Курсы строятся как последовательная работа над настоящим проектом. В каждом уроке появляется задача, которую можно реализовать, запустить и проверить. Такой подход помогает перейти от повторения готового кода к самостоятельному пониманию всей системы.

Ученики особенно отмечают структурированную подачу, движение от простого к сложному, подробные практические задания и понятное объяснение сложных технологий. Посмотреть реальные отзывы учеников на Авито.

Высшее образование — МАИ, диплом государственного образца.

О курсе

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

Для кого этот курс

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.

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

Нагрузка

4–6 часов в неделю

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