Какие основные протоколы используются в веб-разработке?

«Какие основные протоколы используются в веб-разработке?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Веб-разработка опирается на стек протоколов для разных задач:

1. Протоколы прикладного уровня

  • HTTP/HTTPS — фундаментальный протокол для передачи гипертекста. HTTPS — это HTTP поверх TLS/SSL, обеспечивающий шифрование и аутентификацию.
  • WebSocket (WS/WSS) — протокол для полноценного двустороннего обмена данными в реальном времени поверх одного TCP-соединения.
    // Клиентский код WebSocket
    const socket = new WebSocket('wss://api.example.com/ws');
    socket.addEventListener('message', (event) => {
      console.log('Данные с сервера:', event.data);
    });
    socket.send('Привет, сервер!');
  • FTP/SFTP — для передачи файлов (SFTP — защищенная версия).
  • SMTP, IMAP, POP3 — протоколы для отправки и получения электронной почты.

2. Технологии поверх HTTP

  • REST — архитектурный стиль, использующий HTTP-методы (GET, POST и т.д.) для взаимодействия с ресурсами.
  • GraphQL — язык запросов и среда выполнения для API, позволяющая клиенту запрашивать именно нужные данные.

3. Транспортные и сетевые протоколы

  • TCP — надежный, с установкой соединения (используется HTTP, WebSocket).
  • UDP — быстрый, без установки соединения (используется в WebRTC для видео/аудио).
  • TLS/SSL — криптографические протоколы для обеспечения безопасности поверх TCP (создают HTTPS, WSS).