Клиентский HTTP в .NET: От WebRequest до SocketsHttpHandler

RU / День 2 / 14:00 / Зал 1

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

На пути от .NET Framework 1.0 к .NET 5 клиентские API для работы с HTTP и его реализации претерпели множество изменений. В некоторых версиях они были удачными, в некоторых же — провальными и явно временными.

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

В итоге зрители:

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