Клиентский HTTP в .NET: путь по граблям от WebRequest до SocketsHttpHandler

Backend
Зал №4

Тезисы

На первый взгляд кажется, что отправить HTTP запрос — это очень просто. Тем не менее, даже HTTP/1.1 достаточно нетривиален — RFC на него содержит более 150 страниц, кроме того — браузеры уже поддерживают HTTP/2 и HTTP/3. Это не оставляет никакого выбора: стандартный клиент в платформе должен быть реализован на высоком уровне. На пути от .NET Framework 1.0 к .NET 5 клиентские API для работы с HTTP и его реализации претерпели множество изменений. В некоторых версиях они были удачными, в некоторых же — провальными и явно временными.

В докладе я расскажу о истории развития клиентского HTTP API в .NET, его особенностях, о миграции приложений с Framework на Core с их учётом. Также разберу некоторые хаки, полезные при работе с ним. Заглянем в NuGet и рассмотрим представленные в нём обёртки над HTTP API с точки зрения эффективности и кроссплатформенности.

Слушатели доклада:

  • узнают о неявных особенностях протокола HTTP;
  • научатся писать эффективный код с использованием HTTP API в .NET;
  • научатся писать библиотеки с использованием HTTP API, универсальные для различных реализаций .NET;
  • будут готовы к возможным проблемам с производительностью при написании клиентского кода — подготовятся к миграции приложений с .NET Framework и старых версий .NET Core на .NET 5;
  • получат актуальную информацию о поддержке HTTP/2 в .NET, с тестами производительности.

Аудитория и уровень

.NET-разработчики, разработчики клиент серверных приложений, от Junior+.

Презентация (на Я.Диске)

Записи выступлений доступны платным участникам CodeFest 11
В свободном доступе появятся через год

Залогиниться

JetBrains

Евгений Пешков

.NET разработчик. Занимался инфраструктурой клиент-серверных приложений, миграцией больших проектов с .NET Framework на Core, системами мониторинга серверов. Интересуется внутренним устройством .NET и Windows, использует их особенности в продакшене.

.NET разработчик. Занимался инфраструктурой клиент-серверных приложений, миграцией больших проектов с .NET Framework на Core, системами мониторинга серверов. Интересуется внутренним устройством .NET и Windows, использует их особенности в продакшене.

Другие спикеры секции Backend: