Normen und Spezifikationen des Datendienstes (Referenz)
Auf welchen Normen und Spezifikationen der Datendienst Wkl.Data.Gateway beruht, was jede verlangt und wie der Dienst sie umsetzt. Sie brauchen diese Seite, wenn Sie beurteilen, ob ein Client mit dem Dienst zusammenarbeitet, oder wenn Sie die Herkunft einer Anforderung nachprüfen.
Art der Quellen
Keine der Quellen ist für den Betreiber gesetzlich verbindlich. Sie unterscheiden sich darin, wie weit Zusammenarbeit oder Schutz von ihnen abhängt:
| Art | Bedeutung für den Dienst |
|---|---|
| Protokollnorm (OASIS-Standard, RFC auf dem Standardweg) | Weicht der Dienst ab, verstehen ihn normgerechte Clients nicht |
| Herstellerspezifikation (SQL Server, Windows) | Verhalten, auf das sich der Dienst gegenüber der Datenbank und dem Betriebssystem stützt |
| Informatives RFC, Entwurf | verbreitetes Verfahren ohne Normstatus; der Dienst folgt ihm, ein Client muss es nicht |
Eigene Festlegung (eigener HTTP-Vertrag, Vokabular Wkl.Store.V1, Kopfzeilen X-Wkl-…) | Entwurfsentscheidung dieses Produkts, beschrieben in dieser Dokumentation |
Quellen und ihre Umsetzung
| Quelle | Art | Was sie festlegt, soweit der Dienst betroffen ist | Umsetzung im Dienst | Grenzen |
|---|---|---|---|---|
| OData 4.01 Part 1: Protocol | OASIS-Standard | Anfragen, Antworten, Fehlerform, Folgeseiten, ETags, Anlegen/Ändern/Löschen | antwortet mit OData-Version: 4.0; Folgeseiten über @odata.nextLink; @odata.etag und If-Match mit 412 | $batch, Delta, asynchrone Anfragen und Medienentitäten werden nicht unterstützt |
| Part 2: URL Conventions | OASIS-Standard | Abfrageoptionen, Literale, Adressierung | $select, $filter, $orderby, $top, $skip, $count, $skiptoken; POST …/$query (seit 4.01); siehe OData v4 | $expand, $search und die Präferenz odata.maxpagesize werden nicht unterstützt |
| CSDL XML 4.01 | OASIS-Standard | Schemadokument $metadata | Entitätsmengen je Alias und Schema, Schlüssel, Facetten, Annotationen; je Aufrufer nur erlaubte Objekte | kein CSDL als JSON |
| OData JSON Format 4.01 | OASIS-Standard | Darstellung von Werten und Fehlern | JSON; Binärwerte als gewöhnliches Base64, nicht als base64url, weil Power Query nur gewöhnliches Base64 lädt | kein Atom/XML; der eigene Vertrag liefert zusätzlich XML |
| OData Extension for Data Aggregation 4.0 | OASIS Committee Specification, kein OASIS-Standard | $apply mit filter, compute, groupby, aggregate; Ankündigung ApplySupported | diese vier Transformationen; COUNT(Spalte) über die eigene Methode Wkl.Store.V1.count | übrige Transformationen und Rollup werden nicht unterstützt |
| RFC 9110 HTTP Semantics | RFC, Internet-Standard | bedingte Anfragen (If-Match, 412), 401 mit WWW-Authenticate, 409, 422, 414 | Schreibkonflikt 412, Dublette 409, abgelehnte Anweisung 422 | – |
| RFC 6585 | RFC auf dem Standardweg | 429 Too Many Requests | Grenzen für Fehlversuche und Anfragen je Aufrufer | – |
| RFC 7617 Basic | RFC auf dem Standardweg | Name und Kennwort, Zeichensatz UTF-8 | SQL-Anmeldung, nur über geschützte Verbindung; charset="UTF-8" in der Herausforderung | – |
| RFC 4559 Negotiate | informatives RFC | Kerberos oder NTLM über HTTP | Windows-Anmeldung mit Kerberos oder NTLM, Gruppen über SID | – |
| RFC 6238 TOTP | informatives RFC | zeitbasierte Einmalcodes | zweiter Faktor, jeder Code nur einmal | – |
| Idempotency-Key HTTP Header Field | Entwurf der IETF (abgelaufen), kein Standard | Wiederholung einer Änderung ohne doppelte Wirkung | erste Antwort zehn Minuten im Arbeitsspeicher | nach einem Neustart vergessen; nicht über mehrere Instanzen geteilt |
| RFC 8439 ChaCha20-Poly1305, RFC 5869 HKDF | informative RFCs | authentisierte Verschlüsselung, Schlüsselableitung | Verbindungszeichenfolgen und zweite Faktoren im Verwaltungsspeicher versiegelt (Variante XChaCha20 mit 24-Byte-Nonce), Schlüssel je Zweck abgeleitet | XChaCha20 selbst ist nur in einem Entwurf der IRTF beschrieben |
X-Forwarded-For, X-Forwarded-Proto | gebräuchlich, keine Norm (RFC 7239 normt die Kopfzeile Forwarded) | Herkunft und Schema hinter einem Proxy | ausgewertet nur von Proxys aus TrustedProxies, vom nächsten Glied aus | Forwarded (RFC 7239) wird nicht gelesen |
| EXECUTE AS, SESSION_CONTEXT | Herstellerspezifikation | Wechsel des Ausführungskontexts, Sitzungswerte | Weitergabe der Person, Sitzungskontext wkl.person/wkl.key/wkl.role, nur lesend | – |
| TLS über Kestrel bzw. Windows (Schannel) | Betriebssystem | Protokollversionen, Verfahren | überlässt Version und Verfahren dem Betriebssystem; Post-Quanten-Schlüsselaustausch, wo Windows ihn anbietet | – |
Siehe auch
de/wiki/data-conectivity/database-gateway/reference/standards.txt · Last modified: by Wolfgang van der Stille