JavaScript Runtime'ları İçin Ortak Sunucu HTTP API Taslağı
Sunucu tarafı JavaScript runtime'ları için handler modeli, ServerContext ve HTTP/1-2-3 uyumunu birleştiren taslak API spesifikasyonu incelendi.
Node.js, Deno, Bun ve Cloudflare Workers gibi ortamlar sunucu tarafında Fetch'in Request ve Response nesnelerini kullanıyor, ancak handler imzaları, WebSocket upgrade süreci, yaşam döngüsü yönetimi ve trailer'lar, bilgilendirme yanıtları, genişletilmiş CONNECT gibi konularda birbirinden tamamen ayrışmış durumda. Bu taslak spesifikasyon, standart Request/Response tiplerini değiştirmeden veya alt sınıflamadan bu boşluğu kapatmayı hedefliyor.
Çözüm önerisinin merkezinde ServerContext adlı ayrı bir nesne var: bağlantı meta verileri, sunucu yetenekleri ve waitUntil gibi yaşam döngüsü işlevleri HTTP mesajından ayrıştırılıyor. Böylece Request sadece HTTP mesajını temsil ederken, çalışma ortamına özgü her şey context üzerinden erişilebiliyor. Spesifikasyon Fetch Standard'a trailer desteği ve onInformation callback'i eklenmesini öngörüyor; bunlar halihazırda WHATWG'ye önerilmiş durumda.
Taslak, routing, middleware veya yanıt yardımcı metodları gibi konuları bilinçli olarak kapsam dışı bırakıyor ve iki katmanlı bir uygunluk modeli tanımlıyor: temel handler modeli zorunlu, sunucu yaşam döngüsü altyapısı (serve(), Server, Listener) ise opsiyonel. Bu ayrım, Cloudflare Workers gibi platform tarafından yönetilen ortamlarla Node.js gibi tam kontrol sağlayan ortamların aynı çekirdek modeli paylaşmasına imkan tanıyor. Motoru: aynı handler kodunun runtime'lar arası taşınabilir olması ve gelecekteki protokoller (WebTransport, HTTP Datagram'ları) için genişletilebilir kalması.
Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz