VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

Ktor 3.6.0 bổ sung xác thực định kiểu và HTTP/3 thử nghiệm

20/09/2026 · VietTechies · Biên tập

Ktor 3.6.0 bổ sung xác thực định kiểu và HTTP/3 thử nghiệm
Ảnh minh họa do AI tạo.

JetBrains phát hành Ktor 3.6.0 ngày 18/9/2026, bổ sung tính năng thử nghiệm về xác thực định kiểu, hỗ trợ chuyên biệt cho OpenID Connect và HTTP/3 trên bộ máy chủ Netty. Bản cập nhật framework Kotlin này cũng thay đổi cách xử lý yêu cầu, thương lượng nội dung và thiết lập ứng dụng khách cho các dự án Kotlin Multiplatform.

API bảo mật định kiểu

Mô-đun xác thực mới cung cấp các kiểu dữ liệu tường minh để liên kết cấu hình nhà cung cấp với những tuyến được bảo vệ. Mô-đun hỗ trợ phân quyền theo vai trò, người dùng ẩn danh và truy cập định kiểu đến principal đã xác thực. Plugin Oidc thử nghiệm riêng biệt cho phép định nghĩa nhà cung cấp danh tính có kiểu, xử lý xác thực bearer và phiên, đồng thời cung cấp luồng đăng nhập trên trình duyệt với khả năng tự động làm mới token.

HTTP/3 được đưa vào Netty

Bộ máy Netty của Ktor hiện có thể phục vụ HTTP/3 qua QUIC khi được cấu hình trình kết nối SSL. Lập trình viên có thể điều chỉnh các thiết lập QUIC như thời gian chờ khi không hoạt động, giới hạn kiểm soát luồng và hoạt động của socket UDP. Tính năng này vẫn ở trạng thái thử nghiệm. Máy chủ Netty cũng có thể cung cấp HTTP/2 không mã hóa, còn gọi là h2c, trên một trình kết nối và HTTP/2 qua TLS trên trình kết nối khác.

Thay đổi trong xử lý yêu cầu

Cơ chế chuyển đổi tham số tuyến nay nhận diện các kiểu Uuid, Byte và kiểu số không dấu của Kotlin. ApplicationCall.receive() chấp nhận kiểu có thể null, còn receiveNullable() bị đánh dấu không nên tiếp tục sử dụng. Với phản hồi HTML một phần, respondHtmlPartial thay thế respondHtmlFragment và chấp nhận phần tử không bị giới hạn thông qua TagConsumer<Appendable>.

Ở phía ứng dụng khách, ContentNegotiation có thêm chiến lược SkipIfPresent. Chiến lược này giữ nguyên tiêu đề Accept được cung cấp tường minh thay vì hợp nhất các kiểu nội dung đã đăng ký vào đó, đồng thời duy trì hành vi tự động hiện có đối với yêu cầu không chứa tiêu đề này.

Ứng dụng khách đa nền tảng đơn giản hơn

Phần phụ thuộc ktor-client-engine-defaults mới cung cấp một tập hợp bộ máy được tuyển chọn cho Kotlin Multiplatform. Mã dùng chung có thể khởi tạo HttpClient mà không cần chọn bộ máy, để Ktor sử dụng thành phần triển khai sẵn có trên từng nền tảng đích. Lập trình viên vẫn có thể chọn và cấu hình một bộ máy cụ thể khi cần.

Kho lưu trữ bộ nhớ đệm HTTP lâu dài nay sử dụng Path của kotlinx-io thay vì chỉ phụ thuộc vào API java.io.File trên JVM. JetBrains cũng liệt kê hỗ trợ WebRTC cho JVM, phân giải DNS bất đồng bộ cho CIO, mô tả thẻ OpenAPI và khả năng ghi đè fetch() của JavaScript trong số các thay đổi khác của phiên bản 3.6.0.

Ảnh minh họa do AI tạo.

Nguồn: Ktor 3.6.0 Is Now Available!