---
title: "ADR-0010: Adressmemoisierung erlauben, Berechtigungs- und Verbindungspooling isolieren"
manual: "HTTP Guard"
version: "0.1.4"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-http-guard:adr-0010@0.1.4"
source: "Adr/ADR-0010-CacheIsolationAndConcurrency.rst"
rendered: "2026-10-18T14:31:43+00:00"
---

# ADR-0010: Adressmemoisierung erlauben, Berechtigungs- und Verbindungspooling isolieren {#adr-0010}

-   *Status:* Historischer Vorschlag (Original: Vorgeschlagen)
-   *Datum:* 2026-10-08
-   *Entscheidungsträger im Original:* Projektverantwortliche Architektur/Security; Freigabe noch ausstehend
-   *Anforderungen:* HG-015, HG-025, HG-026, HG-027, HG-040, HG-044
-   *Ablösung im Original:* keine; neue Entscheidung für das vorgeschlagene Produkt
-   *Originalquelle:* [Unveränderter ADR-0010](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/adr/ADR-0010-cache-isolation-und-parallelitaet.md)

> [!NOTE]
> Dieser ADR gibt den vollständigen Vorschlag vom 2026-10-08 wieder. Status,
> ausstehende Freigaben und geplante Tests beschreiben diesen Originalstand.
> Die aktuelle Alpha-Arbeit ist vom Nutzer freigegeben. Den heutigen
> Paketaufbau beschreibt [ADR-0015: Eine installierbare Extension](https://docs.typo3.org/permalink/netresearch/nr-http-guard:adr-0015@0.1.4); für das aktuelle
> Sicherheitsverhalten und die ausgeführten Nachweise gelten [Schutzmodell und Grenzen](https://docs.typo3.org/permalink/netresearch/nr-http-guard:security@0.1.4)
> und [Dokumentierte Prüfstände](https://docs.typo3.org/permalink/netresearch/nr-http-guard:verification-report@0.1.4).

## Kontext {#adr-0010-context}

Mehrere gleichzeitige Requests können dieselbe Origin unter unterschiedlichen
Freigaben oder DNSantworten erreichen. Guzzles/cURLs Pooling und optionale
Share-Handles können DNS- oder Verbindungszustand wiederverwenden. Ein neuer Pin
allein ist deshalb kein ausreichender Nachweis requestbezogener Isolation. \[S12,
S14\]

## Entscheidung {#adr-0010-decision}

Version 1 isoliert jede unabhängige Transferlease samt cURL-Multi-Handle, DNS-
und Connectionzustand. Keine gemeinsamen Share-Handles, keine Übernahme fremder
Poolverbindungen, keine stillen Alt-Svc- oder HSTS-Routenwechsel. Ein Request
mit internem Grant darf keinen späteren Public-Request über seinen
Verbindungspool privilegieren.

Ein begrenztes positives DNSmemo ist erlaubt: standardmäßig höchstens fünf
Sekunden und 32 Hosts, bei kürzerem bekannten TTL entsprechend weniger. TTL 0
und negative Antworten werden nicht positiv gecacht. Schlüssel enthalten
Resolveridentität/-konfiguration. Jede Verwendung klassifiziert die Adressen neu
gegen die aktuelle Policy; es wird niemals ein boolesches Allow gecacht.

ConnectionPlans sind einmalige, kurzlebige Versuchsdaten. Verzögerte Arbeit
autorisiert beim tatsächlichen neuen Versuch, nicht bei ihrer Einplanung.
Policywechsel gelten für neue Versuche; bereits laufende erlaubte Transfers
werden nicht als automatisch widerrufen ausgegeben.

## Verworfene Alternativen {#adr-0010-rejected-alternatives}

**Gemeinsamer Pool plus Pin:** erfordert zusätzliche, komplexe
Isolationsevidenz. **Globaler Host-Allow-Cache:** vermischt Kontexte. **Gar
keine Memoisierung:** sicher möglich, verursacht aber vermeidbare
Doppelauflösung. **Live-Widerruf laufender Transfers:** eigenes Laufzeitfeature,
nicht durch einen Cacheflush erledigt.

## Konsequenzen {#adr-0010-consequences}

Parallele Sicherheitsentscheidungen bleiben voneinander unabhängig. v1
verzichtet auf Wiederverwendung über unabhängige Versuche und akzeptiert
Handshakekosten. Bei hohem Requestvolumen muss dies gemessen werden; die
Bibliothek puffert Bodies nicht zusätzlich.

## Nachweis und Abnahme {#adr-0010-verification-and-acceptance}

T038, T052, T053, T054, T055, T056, T057, T075, T079, T084. Details und
erwartete Ergebnisse stehen in [06 Tests und Abnahme](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/specs/06-verification.md). Diese Tests sind spezifiziert,
nicht im Rahmen dieser Dokumentlieferung ausgeführt.

## Anlass für Neubewertung {#adr-0010-reassessment-trigger}

Pooling kann erst nach einer neuen ADR mit Schlüssel-/Invalidierungsmodell,
Concurrencytests und Wire-Beweis eingeführt werden. Ein Performanceziel allein
ist kein Nachweis.

## Zugehörige Dokumente {#adr-0010-related-documents}

[Produktanforderungen](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/specs/01-product-requirements.md), [Sicherheitsmodell](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/specs/02-security-model.md), [Architektur](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/specs/03-architecture.md), [Quellen S01-S23](https://github.com/netresearch/typo3_http_guard/blob/3f929ae8794ca04ab3dd25627e94d601a2db23e0/specification/specs/08-evidence-and-sources.md),
[ADR-Index](https://docs.typo3.org/permalink/netresearch/nr-http-guard:adr-index@0.1.4).
