1. Einleitung (Introduction)
HTTP-Clients stoßen häufig auf unterbrochene Datenübertragungen, die durch abgebrochene Anfragen oder getrennte Verbindungen verursacht werden. Wenn ein Client eine teilweise Repräsentation gespeichert hat, ist es wünschenswert, den Rest dieser Repräsentation in einer nachfolgenden Anfrage anzufordern, anstatt die gesamte Repräsentation zu übertragen. Ebenso können Geräte mit begrenztem lokalem Speicher davon profitieren, nur einen Teilbereich einer größeren Repräsentation anfordern zu können, etwa eine einzelne Seite eines sehr großen Dokuments oder die Abmessungen eines eingebetteten Bildes.
Dieses Dokument definiert HTTP/1.1-Bereichsanforderungen, Teilantworten (partial responses) und den Medientyp multipart/byteranges. Bereichsanforderungen sind eine OPTIONALE Funktion von HTTP, die so gestaltet ist, dass Empfänger, die diese Funktion nicht implementieren (oder sie für die Zielressource nicht unterstützen), so antworten können, als handelte es sich um eine normale GET-Anfrage, ohne die Interoperabilität zu beeinträchtigen. Teilantworten werden durch einen eigenen Statuscode angezeigt, damit sie von Zwischenspeichern, die die Funktion möglicherweise nicht implementieren, nicht für vollständige Antworten gehalten werden.
Obwohl der Mechanismus für Bereichsanforderungen so gestaltet ist, dass er erweiterbare Bereichstypen zulässt, definiert diese Spezifikation ausschließlich Anforderungen für Byte-Bereiche.
1.1 Konformität und Fehlerbehandlung (Conformance and Error Handling)
Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind so zu interpretieren, wie in [RFC2119] beschrieben.
Konformitätskriterien und Überlegungen zur Fehlerbehandlung sind in Abschnitt 2.5 von [RFC7230] definiert.
1.2 Syntaxnotation (Syntax Notation)
Diese Spezifikation verwendet die Notation der erweiterten Backus-Naur-Form (Augmented Backus-Naur Form, ABNF) aus [RFC5234] mit einer Listenerweiterung, die in Abschnitt 7 von [RFC7230] definiert ist. Diese erlaubt die kompakte Definition kommagetrennter Listen mit dem Operator '#' (ähnlich wie der Operator '*' eine Wiederholung anzeigt). Anhang C beschreibt Regeln, die aus anderen Dokumenten importiert wurden. Anhang D zeigt die gesammelte Grammatik, bei der alle Listenoperatoren zu Standard-ABNF-Notation expandiert wurden.