В чем разница между TCP и UDP

«В чем разница между TCP и UDP» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

TCP (Transmission Control Protocol) — надежный протокол с установкой соединения, гарантирует доставку данных в правильном порядке (через подтверждения, повторные передачи и контроль перегрузок). Подходит для веба, почты, файловых передач.

UDP (User Datagram Protocol) — быстрый, но ненадежный протокол без установки соединения. Нет гарантии доставки, порядка пакетов или контроля перегрузок. Используется для стриминга, VoIP, онлайн-игр, где скорость важнее надежности.

Пример с кодом (Node.js):

// TCP сервер
const net = require('net');
const tcpServer = net.createServer(socket => socket.write('TCP: reliable'));
tcpServer.listen(3000);

// UDP сервер
const dgram = require('dgram');
const udpServer = dgram.createSocket('udp4');
udpServer.on('message', () => udpServer.send('UDP: fast', 3001));
udpServer.bind(3001);