HTTP Status 510 - Not Extended

Der HTTP-Status-Code 510 Not Extended signalisiert, dass Server eine HTTP-Extension-Policy hat und Request weitere Extension-Information benötigt. Defined in RFC 2774 HTTP Extension Framework. Server verlangt dass Client Request mit Man- oder Opt-Header extended um erforderliche Extensions zu deklarieren. Rarely-used Status Code.

Typ

Response-Status-Code

Syntax

Der Status Code wird zurückgegeben wenn HTTP-Extension-Declaration fehlt.

http
HTTP/1.1 510 Not Extended

Direktiven

Der 510 Not Extended Status Code wird für HTTP-Extension-Framework-Policy verwendet.

Extension Policy Enforcement
Server hat Policy dass Requests bestimmte Extension-Declarations enthalten müssen. RFC 2774 definiert Man (Mandatory) und Opt (Optional) Headers für Extension-Declaration. Request ohne required Extensions wird rejected.
Mandatory Extension Missing
Server requires specific HTTP-Extension die Client nicht deklariert hat. 510 signalisiert dass Request mit Man-Header extended werden muss um Extension-Namespace und Features zu spezifizieren.
Framework Compliance
510 ist Teil des HTTP-Extension-Frameworks (RFC 2774) das selten implementiert wird. Status Code ermöglicht explicit Extension-Negotiation zwischen Client und Server.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 510.

Beispiel 1 Missing Extension Declaration

http
POST /api/transaction HTTP/1.1
Host: api.example.com
Content-Type: application/json

{"amount": 100, "currency": "USD"}

HTTP/1.1 510 Not Extended
Content-Type: application/json

{
  "error": "extension_required",
  "message": "Request must include extension declaration",
  "required_extension": "http://example.com/extensions/secure-transaction",
  "header_required": "Man: \"http://example.com/extensions/secure-transaction\"; ns=01",
  "documentation": "https://api.example.com/docs/extensions"
}

Beispiel 2 Extension Framework Policy

http
PUT /secure/data HTTP/1.1
Host: api.example.com
Content-Type: application/json

{"sensitive": "data"}

HTTP/1.1 510 Not Extended
Content-Type: text/plain

Error: Server requires HTTP Extension Framework compliance.

This endpoint requires the following mandatory extension:
  Extension URI: http://example.com/extensions/data-encryption
  Namespace: 01

Include in request header:
  Man: "http://example.com/extensions/data-encryption"; ns=01
  01-Encryption: AES-256-GCM

See RFC 2774 for HTTP Extension Framework details.

Beispiel 3 Multiple Extensions Required

http
GET /api/protected-resource HTTP/1.1
Host: api.example.com

HTTP/1.1 510 Not Extended
Content-Type: application/json

{
  "status": 510,
  "error": "extensions_not_declared",
  "message": "Multiple extensions required for this resource",
  "mandatory_extensions": [
    {
      "uri": "http://example.com/ext/auth",
      "namespace": "01",
      "header": "Man: \"http://example.com/ext/auth\"; ns=01"
    },
    {
      "uri": "http://example.com/ext/audit",
      "namespace": "02",
      "header": "Man: \"http://example.com/ext/audit\"; ns=02"
    }
  ],
  "example_request": "GET /api/protected-resource\nMan: \"http://example.com/ext/auth\"; ns=01\nMan: \"http://example.com/ext/audit\"; ns=02"
}

HTTP Extension Framework Enforcement Flow

510 Not Extended bei missing Extension-Declaration

Vorteile für die Systemarchitektur

  • Extension Negotiation: 510 ermöglicht explicit Negotiation von HTTP-Extensions zwischen Client und Server. Server kann required Extensions enforced, Client weiß welche Extensions implementiert werden müssen.
  • Policy-Based Access Control: Server kann Extension-Requirements als Access-Control-Mechanism verwenden. Nur Clients die specific Extensions implementieren, können auf protected Resources zugreifen.
  • Framework Compliance Signal: 510 macht Server’s Extension-Policy transparent. Clients können Extension-Support dynamisch anpassen basierend auf Server-Requirements.

Spezifikation

RFC 2774, Section 7 – An HTTP Extension Framework https://www.rfc-editor.org/rfc/rfc2774.html#section-7

Weitere Spezifikationen

HTTP Status 500 - Internal Server Error, Upgrade Header