Ana içeriğe geç

Desteklenen Protokoller

HTTP/HTTPS

HTTP ve HTTPS protokolleri Apinizer'ın temel protokolleridir ve tam desteklenir.

HTTP Versiyonları

HTTP/1.1

Tam destek

  • Keep-alive connections
  • Chunked transfer encoding
  • Compression (gzip, deflate, brotli)
HTTP/2

Tam destek

  • Multiplexing
  • Server push
  • Header compression
  • Binary framing
HTTPS

TLS/SSL sonlandırması

  • TLS 1.2+
  • TLS 1.3 desteği
  • SNI (Server Name Indication) desteği
  • Certificate yönetimi

HTTP Özellikleri

HTTP Metodları
  • GET: Kaynak getirme
  • POST: Kaynak oluşturma
  • PUT: Kaynak güncelleme
  • DELETE: Kaynak silme
  • PATCH: Kısmi güncelleme
  • HEAD: Header bilgisi alma
  • OPTIONS: Desteklenen metodları sorgulama
  • Custom Methods: Özel HTTP metodları
  • Method Override: Method override desteği
Content Types
  • application/json: JSON formatı
  • application/xml: XML formatı
  • application/x-www-form-urlencoded: Form verileri
  • multipart/form-data: Çoklu form verileri
  • text/plain, text/html: Metin formatları
  • Custom Content Types: Özel content type'lar
HTTP Header'ları
  • Standard HTTP Headers: Standart HTTP header'ları
  • Custom Headers: Özel header'lar
  • Header Manipulation: Header manipülasyonu
  • CORS Headers: Cross-Origin Resource Sharing header'ları

REST

REST (Representational State Transfer) mimarisi tam desteklenir.

REST Prensipleri
  • Stateless communication
  • Resource-based URLs
  • HTTP metodları kullanımı
  • JSON/XML representation
REST Özellikleri
  • RESTful API tasarımı
  • HATEOAS desteği
  • Content negotiation
  • Versioning desteği

WebSocket

WebSocket protokolü gerçek zamanlı iletişim için tam desteklenir.

WebSocket Özellikleri

WebSocket Protokolü
  • RFC 6455 Uyumlu: WebSocket standardına tam uyum
  • Full-Duplex Communication: Çift yönlü iletişim
  • Low Latency: Düşük gecikme
  • Binary ve Text Frame Desteği: İkili ve metin frame desteği
WebSocket Özellikleri
  • Connection Management: Bağlantı yönetimi
  • Message Routing: Mesaj yönlendirme
  • Subprotocol Support: Alt protokol desteği
  • Ping/Pong Frames: Bağlantı kontrolü için ping/pong frame'leri
Kullanım Senaryoları
  • Gerçek Zamanlı Bildirimler: Real-time notifications
  • Chat Uygulamaları: Chat applications
  • Canlı Veri Akışı: Live data streaming
  • Oyun Uygulamaları: Gaming applications

WebSocket Güvenliği

WSS (WebSocket Secure)
  • TLS/SSL şifreleme
  • Güvenli WebSocket bağlantıları
  • Certificate yönetimi
Kimlik Doğrulama
  • Token tabanlı kimlik doğrulama
  • Header tabanlı kimlik doğrulama
  • Query parameter authentication

gRPC

gRPC protokolü microservice mimarileri için tam desteklenir.

gRPC Özellikleri

Protocol Buffers
  • Protocol Buffers (protobuf)
  • Schema tanımlama
  • Kod üretimi
  • Verimli serileştirme
gRPC Özellikleri
  • Unary RPC: Tek istek-tek yanıt
  • Server Streaming: Sunucu tarafı akış
  • Client Streaming: İstemci tarafı akış
  • Bidirectional Streaming: Çift yönlü akış
Performans
  • HTTP/2 tabanlı
  • Binary serialization
  • Yüksek performans
  • Düşük gecikme
Dil Desteği
  • Çoklu dil desteği
  • Cross-platform
  • Language-agnostic

gRPC Routing

gRPC Routing
  • Service-Based Routing: Servis bazlı yönlendirme
  • Method-Based Routing: Metod bazlı yönlendirme
  • Load Balancing: Yük dengeleme
  • Failover: Otomatik yedekleme
gRPC Interceptors
  • Request/Response Interceptors: İstek/yanıt interceptors
  • Metadata Handling: Metadata yönetimi
  • Error Handling: Hata yönetimi
  • Politika Uygulama: Politika desteği

SOAP

SOAP (Simple Object Access Protocol) web servisleri tam desteklenir.

SOAP Özellikleri

SOAP Protokolü
  • SOAP 1.1 ve SOAP 1.2: Her iki versiyon desteği
  • XML-Based Messaging: XML tabanlı mesajlaşma
  • WSDL Support: WSDL desteği
  • SOAP Fault Handling: Hata yönetimi
WS-* Standartları
  • WS-Security: Güvenlik standartları
  • WS-Addressing: Adresleme standartları
  • WS-ReliableMessaging: Güvenilir mesajlaşma
  • WS-Policy: Politika standartları
SOAP Özellikleri
  • SOAP to REST Conversion: SOAP'tan REST'e dönüştürme
  • WSDL Generation: WSDL oluşturma
  • SOAP Fault Handling: SOAP hata yönetimi
  • Attachment Support (MTOM): Ek dosya desteği

SOAP Kullanım Senaryoları

Legacy Sistem Entegrasyonu

Eski SOAP servisleriyle entegrasyon

Mevcut SOAP servisleriyle uyumlu çalışma.

Kurumsal Servisler

Enterprise SOAP servisleri

Kurumsal SOAP servisleri için tam destek.

Protokol Dönüştürme

SOAP'tan REST'e dönüştürme

SOAP servislerini REST API olarak sunma.

GraphQL

Apinizer, GraphQL protokolü için reverse proxy ile tam destek sağlamaktadır. GraphQL istekleri doğrudan backend GraphQL servislerine yönlendirilir ve tüm GraphQL özellikleri desteklenir.

Query Desteği
  • Tam query desteği
  • Field selection
  • Nested queries
  • Variables ve fragments
Mutation Desteği
  • Tam mutation desteği
  • Variables desteği
  • Complex mutations
Subscription Desteği
  • Subscription desteği
  • WebSocket üzerinden real-time updates
  • Event-driven subscriptions
Politika Desteği
  • GraphQL isteklerine politika uygulama
  • Rate limiting
  • Authentication ve authorization
  • Query complexity limiting
bilgi

GraphQL desteği reverse proxy modunda çalışır. GraphQL istekleri Apinizer üzerinden backend GraphQL servislerine yönlendirilir ve tüm Apinizer politikaları (güvenlik, rate limiting, authentication) GraphQL isteklerine de uygulanabilir.

Protokol Karşılaştırması

HTTP/HTTPS

Destek Seviyesi: ✅ Tam Destek

Kullanım Senaryosu: REST API'ler, Web servisleri, Genel amaçlı API'ler

REST

Destek Seviyesi: ✅ Tam Destek

Kullanım Senaryosu: Modern API'ler, Microservices, Public API'ler

WebSocket

Destek Seviyesi: ✅ Tam Destek

Kullanım Senaryosu: Real-time uygulamalar, Chat, Canlı veri akışı

gRPC

Destek Seviyesi: ✅ Tam Destek

Kullanım Senaryosu: Microservice communication, Yüksek performans gereksinimleri

SOAP

Destek Seviyesi: ✅ Tam Destek

Kullanım Senaryosu: Legacy sistemler, Enterprise servisler, WS-* standartları

GraphQL

Destek Seviyesi: ✅ Tam Destek (Reverse Proxy)

Kullanım Senaryosu: GraphQL API'ler, Esnek veri sorgulama, Modern API'ler

Protokol Dönüştürme

Apinizer, farklı protokoller arasında dönüştürme yapabilir:

SOAP to REST

SOAP servislerini REST API olarak sunma:

  • SOAP servislerini REST endpoint'leri olarak yayınlama
  • WSDL'den OpenAPI spec oluşturma
  • XML'den JSON'a dönüştürme
  • SOAP mesajlarını REST request/response'a dönüştürme
REST to gRPC

REST API'leri gRPC servisleri olarak sunma:

  • REST endpoint'lerini gRPC servisleri olarak yayınlama
  • Protocol buffer tanımları oluşturma
  • JSON'dan protobuf'a dönüştürme
HTTP to WebSocket

HTTP isteklerini WebSocket mesajlarına dönüştürme:

  • HTTP isteklerini WebSocket mesajlarına dönüştürme
  • Bidirectional communication sağlama
  • Real-time iletişim desteği

Protokol Seçimi

REST API

Ne Zaman Kullanılır:

  • Genel amaçlı API'ler
  • Web ve mobile uygulamalar
  • Public API'ler
  • Basit ve standart API tasarımı
gRPC

Ne Zaman Kullanılır:

  • Microservice communication
  • Yüksek performans gereksinimleri
  • Internal services
  • Binary serialization gereksinimi
WebSocket

Ne Zaman Kullanılır:

  • Real-time applications
  • Chat, notifications
  • Live data streaming
  • Bidirectional communication gereksinimi
SOAP

Ne Zaman Kullanılır:

  • Legacy systems
  • Enterprise services
  • WS-* standards gereksinimi
  • Kurumsal entegrasyonlar
GraphQL

Ne Zaman Kullanılır:

  • Esnek veri sorgulama gereksinimi
  • Client-driven API tasarımı
  • Over-fetching/under-fetching sorunları
  • Modern API'ler

Sonraki Adımlar