Специализация Frontend (React + TypeScript) — фундамент готов. Открыть frontend-раздел →

Сеть для бэкендера

Сетевой фундамент для backend-разработчика: OSI и TCP/IP, IP и порты, TCP против UDP, DNS, HTTP и HTTPS, версии HTTP, соединения и пулы, балансировщики и надёжность.

Зачем это бэкендеру. Вы каждый день пишете REST-контроллеры и ходите в базы и соседние сервисы — а всё это работает поверх сети: TCP, TLS, DNS, HTTP. Не понимая, что там внизу, легко принять неверное решение: поставить не тот таймаут, забыть про пул соединений, не разобраться, почему сервис «то отвечает, то нет». Этот раздел — фундамент, на который встают REST и контракты, Kubernetes и облако. Входит в программу подготовки.

Раздел разбит на десять статей — от общей модели до практических вещей, с которыми backend-разработчик сталкивается в коде и в проде. Знания переносимы: это не про конкретный язык или облако, а про то, как устроена сеть под любым сервисом.

Модель и адресация

  1. Как устроена сеть: модели OSI и TCP/IP — семь слоёв и четыре: карта, по которой всё встаёт на места.
  2. IP-адреса, порты и NAT — как пакет находит нужную машину и нужный сервис на ней.
  3. TCP и UDP: надёжность против скорости — два способа передавать данные и когда какой.
  4. DNS: как доменное имя превращается в адрес — телефонная книга интернета и почему её TTL важен для сервиса.

HTTP и шифрование

  1. HTTP: методы, статусы, заголовки — язык, на котором разговаривают веб-сервисы.
  2. HTTPS и TLS: шифрование и рукопожатие — как соединение становится защищённым и что происходит при handshake.
  3. HTTP/1.1, HTTP/2 и HTTP/3: что поменялось — почему появились новые версии и что они дают бэкенду.

Соединения и надёжность

  1. Соединения: keep-alive, пулы и таймауты — почему открывать соединение дорого и как это влияет на производительность сервиса.
  2. Балансировщики и обратные прокси — как трафик доходит до одного из многих экземпляров сервиса.
  3. Сеть и надёжность: таймауты, ретраи, идемпотентность — сеть ненадёжна по своей природе, и код должен это учитывать.

Связанное