Языки программирования

Kotlin Ktor улучшает поддержку клиент-сервера

Kotlin Ktor улучшает поддержку клиент-сервера

Вышел Kotlin Ktor 3 с улучшенной производительностью и усовершенствованиями, включая поддержку отправляемых сервером событий и защиту от CSRF (Cross-Site Request Forgery).

Ktor - это бесплатный Kotlin-фреймворк с открытым исходным кодом для построения асинхронных серверов и клиентов в связанных системах. Он был создан командой JetBrains Kotlin с использованием Kotlin и ко-программ. Это позволяет ему выражать сложные асинхронные конструкции так, как если бы они были простым последовательным кодом. Кроме того, он обладает такими преимуществами Kotlin, как легкость и гибкость.

Новый выпуск использует Kotlin 2.0 и переходит на kotlinx-io, официальную многоплатформенную асинхронную библиотеку Kotlin, предоставляющую базовые примитивы ввода-вывода. Этот переход делает Ktor более современным и лучше связанным с другими инструментами Kotlin. JetBrains утверждает, что это изменение было сделано для стандартизации функциональности ввода-вывода в библиотеках Kotlin и повышения производительности, и что это было продемонстрировано в бенчмарках, где в некоторых тестах, основанных на реальных приложениях Ktor, улучшение составило более 90 %.

В Ktor 3 также появилась начальная поддержка событий, отправляемых сервером (SSE), как для сервера, так и для клиента. SSE позволяет серверам передавать события клиентам через HTTP-соединение, обеспечивая односторонний канал связи от сервера к клиенту. По словам команды Ktor, такой подход полезен, когда серверу нужно отправлять обновления на основе событий, не требуя от клиента многократного опроса для получения новой информации.

Также была добавлена поддержка защиты от CSRF (Cross-Site Request Forgery). CSRF-атаки обманывают конечных пользователей, заставляя их выполнять действия в веб-приложениях. Злоумышленники обычно используют социальную инженерию, например, отправляют ссылку по электронной почте или в чате, чтобы заставить пользователя выполнить такие действия, как перевод средств или изменение адреса электронной почты. Защита от CSRF в Ktor включена для операций, изменяющих состояние, включая POST, PUT и DELETE. По словам JetBrains, защита применима только для проектов, использующих сессионные куки и формы, поскольку ее включение может неоправданно усложнить приложение.

Среди других улучшений - поддержка WebAssembly (Wasm) в качестве цели сборки, хотя Kotlin/Wasm все еще находится на ранней стадии Alpha; также появилась новая функция, staticZip, которая позволяет пользователям предоставлять содержимое ZIP-архива в качестве статического контента.

Ktor 3 доступен уже сейчас.

Читайте также