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ı
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
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ı
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ü
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
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ı
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
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
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 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-* Standartları
- WS-Security: Güvenlik standartları
- WS-Addressing: Adresleme standartları
- WS-ReliableMessaging: Güvenilir mesajlaşma
- WS-Policy: Politika standartları
SOAP Özellikleri
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 entegrasyonMevcut SOAP servisleriyle uyumlu çalışma.
Kurumsal Servisler
Enterprise SOAP servisleriKurumsal SOAP servisleri için tam destek.
Protokol Dönüştürme
SOAP’tan REST’e dönüştürmeSOAP 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
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 DestekKullanım Senaryosu: REST API’ler, Web servisleri, Genel amaçlı API’ler
REST
Destek Seviyesi: ✅ Tam DestekKullanım Senaryosu: Modern API’ler, Microservices, Public API’ler
WebSocket
Destek Seviyesi: ✅ Tam DestekKullanım Senaryosu: Real-time uygulamalar, Chat, Canlı veri akışı
gRPC
Destek Seviyesi: ✅ Tam DestekKullanım Senaryosu: Microservice communication, Yüksek performans gereksinimleri
SOAP
Destek Seviyesi: ✅ Tam DestekKullanı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 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 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 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

