Протоколы уровня приложения в браузере Производительность фронтенда
Тезисы
Контроль над протоколом уровня приложения может помочь эффективно утилизировать нагрузку на канал с учетом характера передаваемых данных, обеспечить произвольное шифрование, контролировать состояние сессии, ввести полезные ограничения на формат передаваемых данных, дать независимость от недостатков существующих протоколов. Возможны и другие варианты получения пользы от такого контроля.
До недавнего времени браузеры сами по себе были вполне конкретным приложением с поддержкой конечного и определенного производителем списка протоколов уровня приложения. Можно было использовать HTTP(S) и иногда FTP. Помимо этого, были "песочницы" Java, Flash и прочего байткода, а также существовал "зоопарк" браузерных расширений. Казалось бы, чего еще желать, но доставка браузерных расширений до конечного пользователя оказалась настолько колоссальной проблемой, что об нее разбивались целые компании!
Потом в муках родился WebSocket, за ним на свет пополз WebRTC. Примерно в это же время и замерла в неопределённом состоянии свобода создавать свои протоколы уровня приложения, "дружит"ь с уже существующими или совмещать эти два подхода.
Доклад будет полезен, если вас интересуют вопросы:
- медиа-стриминга;
- создания веб-приложений с высокой скоростью отклика;
- создания веб-приложений с высоким потреблением полосы пропускания;
- сетевого стека для онлайн-игр или других приложений с высокой плотностью событий;
- обеспечения дополнительной безопасности канала;
- DRM.
Картинки, цифры и кейсы из нашего опыта идут в комплекте.