Ana Sayfa

Vulcain: HTTP/2 ile Hızlı ve İstemci Odaklı REST API'ları

1 dk okuma

Vulcain, hızlı ve istemci odaklı REST API'ları oluşturmak için Preload ipuçlarını ve 103 Early Hints durum kodunu kullanan yepyeni bir protokoldür. Yıllar içinde web API'larındaki performans darboğazlarını (aşırı veri çekme, eksik veri çekme, N+1 problemi gibi) gidermek için GraphQL ve JSON:API gibi çeşitli formatlar geliştirilmiştir. Ancak bu çözümler, HTTP/1 için akıllı ağ hileleri olup, HTTP önbelleği, günlükler ve hatta güvenlik açısından birçok dezavantajı beraberinde getirir.

Neyse ki, HTTP/2'nin getirdiği yeni özellikler sayesinde, bu sorunları kolayca ve şık bir şekilde çözen gerçek REST API'ları oluşturmak artık mümkün. Vulcain tam da bu noktada devreye giriyor. Protokol, sunucudan talep edilen kaynakla ilgili diğer kaynakları (örneğin, bir kitap listesi istendiğinde, kitapların detaylarını ve yazarlarını) 103 Early Hints veya HTTP/2 Server Push kullanarak anında istemciye göndermesini sağlayan bir Preload HTTP başlığı kullanır. Bu sayede, istemci bu bağlantıları takip ettiğinde, ilgili yanıtlar zaten önbellekte hazır bulunur ve anında kullanılabilir.

Protokolün bir Internet Taslağı olarak yayınlandığı ve bu depoda bakımı yapıldığı belirtiliyor. Mevcut herhangi bir web API'ını anında Vulcain uyumlu bir API'ye dönüştürmek için Caddy web sunucusu için açık kaynaklı bir ağ geçidi sunucusu (Go ile yazılmış, Docker imajı mevcut) da sağlanmıştır. Bu çözüm, hem hypermedia API'larını hem de OpenAPI dokümantasyonu ile ilişkileri tanımlanmış "eski" API'ları desteklemektedir.

İçgörü

Vulcain, HTTP/2'nin sunduğu yetenekleri kullanarak modern web API'larının performans sorunlarına daha verimli ve standartlara uygun bir çözüm sunuyor.

Kaynak