Freigeben über


Angeben des Bereichsheaders für FileREST

Einige FileREST GET-Vorgänge unterstützen die Verwendung des HTTP-Standardheaders Range . Viele HTTP-Clients, einschließlich der .NET-Clientbibliothek, beschränken die Größe des Range Headers auf eine 32-Bit-Ganzzahl, sodass ihr Wert auf maximal 4 GiB beschränkt ist. Da Dateien größer als 4 GiB sein können, akzeptiert die Azure Files einen benutzerdefinierten Bereichsheader x-ms-range für jeden Vorgang, der einen HTTP-Header Range verwendet.

Einige HTTP-Clients, einschließlich der Microsoft Silverlight-Bibliothek, beschränken den Zugriff auf den Range-Header vollständig. Der x-ms-range-Header kann auch verwendet werden, um diese Einschränkungen zu umgehen.

Wenn der x-ms-range-Header für eine Anforderung angegeben ist, verwendet der Dienst den von x-ms-range angegebenen Bereich. Andernfalls wird der vom Range-Header angegebene Bereich verwendet.

Formate für Bereichsheader

Azure Files akzeptiert zwei Bytebereiche für die Range Header und x-ms-range . Der Bytebereich muss einem der folgenden Formate für die Header entsprechen:

  • bytes=startByte-
  • bytes=startByte-endByte

Format 1: bytes=startByte-

Dieser Bereich gibt Bytes vom startByte-Offset bis zum Ende der Datei zurück. Um beispielsweise einen Bereich anzugeben, der alle Bytes nach den ersten 256 Bytes einer Datei umfasst, können Sie einen der folgenden Header übergeben:

  • Range: bytes=255-
  • x-ms-range: bytes=255-

Der Content-Length-Header in der Antwort entspricht der Anzahl der Bytes vom Offset bis zum Ende der Datei. Bei Verwendung des oben gezeigten Beispielbereichs für eine Datei mit einer Länge von 1024 Bytes hat Content-Length den Wert 756.

Wenn der Offset gültig ist und nicht die Gesamtlänge der Datei überschreitet, gibt die Anforderung den Statuscode 206 (Teilinhalt) zurück. Wenn der Offset ungültig ist und die Gesamtlänge der Datei überschreitet, gibt die Anforderung den Statuscode 416 (Angeforderter Bereich kann nicht erfüllt werden) zurück.

Format 2: bytes=startByte-endByte

Dieser Bereich gibt Bytes vom startByte-Offset bis endByte zurück. Um beispielsweise einen Bereich anzugeben, der die ersten 512 Bytes einer Datei umfasst, übergeben Sie einen der folgenden Header:

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

Der Content-Length-Header in der Antwort entspricht der Anzahl von Bytes zwischen den einzelnen Offsets. Wenn Sie den obigen Beispielbereich für eine Datei mit einer Länge von 1.024 Bytes verwenden, Content-Length wäre dies 512.

Wenn der Offset gültig ist und die Gesamtlänge der Datei nicht überschreitet, gibt die Anforderung den status Code 206 (Teilinhalt) zurück. Wenn der Offset ungültig ist und die Gesamtlänge der Datei überschreitet, gibt die Anforderung den Statuscode 416 (Angeforderter Bereich kann nicht erfüllt werden) zurück.

Weitere Informationen

Azure Files Konzepte