Ana içeriğe atla

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

  • 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
  • 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
  • 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

  • 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
  • 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
  • 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

  • Service-Based Routing: Servis bazlı yönlendirme
  • Method-Based Routing: Metod bazlı yönlendirme
  • Load Balancing: Yük dengeleme
  • Failover: Otomatik yedekleme
  • 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 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-Security: Güvenlik standartları
  • WS-Addressing: Adresleme standartları
  • WS-ReliableMessaging: Güvenilir mesajlaşma
  • WS-Policy: Politika standartları
  • 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 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 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 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