Überzeugende Geschäftsargumente für Ihre API-Initiativen erstellen
Strategische Roadmaps für erfolgreiche API-Implementierungen entwickeln
Die API-Maturity Ihrer Organisation professionell evaluieren
Die optimalen API-Plattformen und Technologien auswählen
Nachhaltige Umsatzströme aus Ihren API-Assets generieren
Ein florierendes API-Ökosystem aufbauen und pflegen
APIs vor der Implementierung mit OpenAPI/Swagger professionell gestalten
Moderne, standardkonforme RESTful APIs erstellen
Flexible, client-gesteuerte API-Architekturen aufbauen
Echtzeit-Kommunikation für Chat, Updates und Live-Daten
Professionelle Versionierung und Migration von API-Endpunkten
Ihre APIs mit branchenüblicher Autorisierung absichern
Compliance-fähige Protokollierung aller API-Zugriffe
Token-Authentifizierung und Ablaufrichtlinien
Implementierung von Zero-Trust-Prinzipien für APIs
Professionelle API-Management-Lösungen implementieren
Echtzeit-Überwachung von Performance und Nutzung
Self-Service-Portale für API-Konsumenten
Caching, CDN-Integration und Response-Optimierung
Prozesse für Deprecation, Versionierung und Updates
APIs für Banken, Versicherungen und FinTech-Unternehmen
APIs für Smart Grid, E-Mobility und digitale Energiedienstleistungen
Flexible APIs für moderne Online-Commerce-Plattformen
APIs für IoT und industrielle Anwendungen
Nahtlose Anbindung an AWS, Azure und Google Cloud
API-first Microservices-Architektur für skalierbare Systeme
Modernisierung von Legacy-Systemen durch API-Schnittstellen
API-Lösungen für mobile Anwendungen und Apps
Der Expires-Header ist ein HTTP-Response-Header, mit dem der Server das absolute Datum und die Zeit angibt, nach der eine Response als veraltet gilt.
Der Header enthält einen Zeitstempel im HTTP-Date-Format nach RFC 5322.
Expires: Wed, 01 Oct 2025 12:00:00 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT
Der Expires-Header verwendet ein HTTP-Date-Format:
Eine API liefert Produktdaten mit festem Ablaufzeitpunkt:
GET /api/v1/products/12345 HTTP/1.1 Host: api.example.com Accept: application/json
Der Server setzt Expires auf Mitternacht UTC:
HTTP/1.1 200 OK Date: Wed, 01 Oct 2025 10:25:00 GMT Expires: Thu, 02 Oct 2025 00:00:00 GMT Content-Type: application/json { "product_id": "12345", "name": "Premium Widget", "price": 99.99, "valid_until": "2025-10-02T00:00:00Z" }
Cache berechnet Freshness: 13 Stunden 35 Minuten verbleibend.
Eine API markiert Response als bereits abgelaufen:
GET /api/v1/realtime/stock-prices HTTP/1.1 Host: finance.example.com
HTTP/1.1 200 OK Date: Wed, 01 Oct 2025 10:25:00 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: application/json { "symbol": "AAPL", "price": 175.50, "timestamp": "2025-10-01T10:25:00Z" }
Caches speichern die Response nicht, da bereits abgelaufen.
Eine API verwendet beide Header, Cache-Control hat Vorrang:
GET /api/v1/config/settings.json HTTP/1.1 Host: api.example.com
HTTP/1.1 200 OK Date: Wed, 01 Oct 2025 10:25:00 GMT Cache-Control: public, max-age=3600 Expires: Wed, 01 Oct 2025 11:30:00 GMT Content-Type: application/json { "api_version": "v1", "features": ["webhooks", "rate_limiting"] }
Cache verwendet max-age=3600 (1 Stunde ab Date), ignoriert Expires (1 Stunde 5 Minuten).
Der Ablauf der Cache-Freshness-Bestimmung mit Expires und Cache-Control.
@startuml actor Client participant "Cache (CDN)" as Cache participant "API Server" as API Client -> Cache: GET /api/v1/resource Cache -> API: Cache miss\nForward request API -> API: Generate response\nDate: 10:00:00 GMT\nExpires: 11:00:00 GMT\n(1 hour freshness) API --> Cache: 200 OK\nDate: 10:00:00 GMT\nExpires: 11:00:00 GMT Cache -> Cache: Store response\nFreshness: 1 hour\n(Expires - Date) Cache --> Client: 200 OK\n[data] Client -> Cache: GET /api/v1/resource\n(10:30:00 GMT) Cache -> Cache: Check freshness\nCurrent: 10:30:00\nExpires: 11:00:00\nStill fresh (30 min left) Cache --> Client: 200 OK\nAge: 1800\n[cached data] Client -> Cache: GET /api/v1/resource\n(11:15:00 GMT) Cache -> Cache: Check freshness\nCurrent: 11:15:00\nExpires: 11:00:00\nStale (expired 15 min ago) Cache -> API: Revalidate\nIf-None-Match: "etag-v1" alt Content unchanged API --> Cache: 304 Not Modified\nExpires: 12:00:00 GMT Cache -> Cache: Update Expires\nRe-fresh response Cache --> Client: 200 OK\n[cached data] else Content changed API --> Cache: 200 OK\nNew content\nExpires: 12:00:00 GMT Cache -> Cache: Update cache Cache --> Client: 200 OK\n[new data] end @enduml
Der Expires-Header ist in RFC 9111 Section 5.3 (HTTP Caching) definiert.
Cache-Control Header, Last-Modified Header