Compartilhar via


HttpWebRequest.AddRange Método

Definição

Adiciona um cabeçalho de intervalo à solicitação.

Sobrecargas

AddRange(Int32)

Adiciona um cabeçalho de intervalo de bytes a uma solicitação de um intervalo específico desde o início ou o final dos dados solicitados.

AddRange(Int64)

Adiciona um cabeçalho de intervalo de bytes a uma solicitação de um intervalo específico desde o início ou o final dos dados solicitados.

AddRange(Int32, Int32)

Adiciona um cabeçalho de intervalo de bytes à solicitação de um intervalo especificado.

AddRange(Int64, Int64)

Adiciona um cabeçalho de intervalo de bytes à solicitação de um intervalo especificado.

AddRange(String, Int32)

Adiciona um cabeçalho Range a uma solicitação para um intervalo específico desde o início ou o fim dos dados solicitados.

AddRange(String, Int64)

Adiciona um cabeçalho Range a uma solicitação para um intervalo específico desde o início ou o fim dos dados solicitados.

AddRange(String, Int32, Int32)

Adiciona um cabeçalho de intervalo a uma solicitação de um intervalo especificado.

AddRange(String, Int64, Int64)

Adiciona um cabeçalho de intervalo a uma solicitação de um intervalo especificado.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

AddRange(Int32)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo de bytes a uma solicitação de um intervalo específico desde o início ou o final dos dados solicitados.

public:
 void AddRange(int range);
public void AddRange (int range);
member this.AddRange : int -> unit
Public Sub AddRange (range As Integer)

Parâmetros

range
Int32

O ponto inicial ou final do intervalo.

Exceções

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Exemplos

O exemplo de código a seguir adiciona um cabeçalho de intervalo à solicitação.

// Create a New 'HttpWebRequest' object.
HttpWebRequest^ myHttpWebRequest1 = 
    (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
myHttpWebRequest1->AddRange( 1000);
Console::WriteLine("Call AddRange(1000)");
      Console::Write("Resulting Headers: ");
      Console::WriteLine(myHttpWebRequest1->Headers);

HttpWebRequest^ myHttpWebRequest2 = 
    (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
myHttpWebRequest2->AddRange(-1000);
Console::WriteLine("Call AddRange(-1000)");
      Console::Write("Resulting Headers: ");
      Console::WriteLine(myHttpWebRequest2->Headers);
// Create a New 'HttpWebRequest' object .
HttpWebRequest myHttpWebRequest1=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
myHttpWebRequest1.AddRange(1000);	
Console.WriteLine("Call AddRange(1000)");
Console.Write("Resulting Headers: ");
Console.WriteLine(myHttpWebRequest1.Headers.ToString());

// Create a New 'HttpWebRequest' object .
HttpWebRequest myHttpWebRequest2=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
myHttpWebRequest2.AddRange(-1000);	
Console.WriteLine("Call AddRange(-1000)");
Console.Write("Resulting Headers: ");
Console.WriteLine(myHttpWebRequest2.Headers.ToString());
' A New 'HttpWebRequest' object is created.
Dim myHttpWebRequest1 As HttpWebRequest = WebRequest.Create("http://www.contoso.com")
myHttpWebRequest1.AddRange(1000)
Console.WriteLine("Call AddRange(1000)")
      Console.Write("Resulting Headers: ")
      Console.WriteLine(myHttpWebRequest1.Headers.ToString())

Dim myHttpWebRequest2 As HttpWebRequest = WebRequest.Create("http://www.contoso.com")
myHttpWebRequest2.AddRange(-1000)
Console.WriteLine("Call AddRange(-1000)")
      Console.Write("Resulting Headers: ")
      Console.WriteLine(myHttpWebRequest2.Headers.ToString())

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho de intervalo de bytes à solicitação.

Se range for positivo, o parâmetro range especifica o ponto inicial do intervalo. O servidor deve começar a enviar dados do parâmetro range especificado ao final dos dados na entidade HTTP.

Se range for negativo, o parâmetro range especifica o ponto final do intervalo. O servidor deve começar a enviar dados desde o início dos dados na entidade HTTP para o parâmetro range especificado.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita que o servidor envie os primeiros 100 bytes (do início à posição de byte 99) seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro range seria -99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(Int64)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo de bytes a uma solicitação de um intervalo específico desde o início ou o final dos dados solicitados.

public:
 void AddRange(long range);
public void AddRange (long range);
member this.AddRange : int64 -> unit
Public Sub AddRange (range As Long)

Parâmetros

range
Int64

O ponto inicial ou final do intervalo.

Exceções

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho de intervalo de bytes à solicitação.

Se range for positivo, o parâmetro range especifica o ponto inicial do intervalo. O servidor deve começar a enviar dados do parâmetro range especificado ao final dos dados na entidade HTTP.

Se range for negativo, o parâmetro range especifica o ponto final do intervalo. O servidor deve começar a enviar dados desde o início dos dados na entidade HTTP para o parâmetro range especificado.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita que o servidor envie os primeiros 100 bytes (do início à posição de byte 99) seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro range seria -99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(Int32, Int32)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo de bytes à solicitação de um intervalo especificado.

public:
 void AddRange(int from, int to);
public void AddRange (int from, int to);
member this.AddRange : int * int -> unit
Public Sub AddRange (from As Integer, to As Integer)

Parâmetros

from
Int32

A posição na qual começar a enviar dados.

to
Int32

A posição na qual interromper o envio de dados.

Exceções

rangeSpecifier é inválido.

from é maior que to

-ou-

from ou to é menor que 0.

Não foi possível adicionar o cabeçalho de intervalo.

Exemplos

O exemplo de código a seguir adiciona um cabeçalho de intervalo à solicitação.

// Create a New 'HttpWebRequest' object.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
myHttpWebRequest->AddRange( 50, 150 );
Console::WriteLine("Call AddRange(50, 150)");
      Console::Write("Resulting Request Headers: ");
      Console::WriteLine(myHttpWebRequest->Headers);

// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );

// Displays the headers in the response received
Console::Write("Resulting Response Headers: ");
      Console::WriteLine(myHttpWebResponse->Headers);

// Display the contents of the page to the console.
Stream^ streamResponse = myHttpWebResponse->GetResponseStream();
StreamReader^ streamRead = gcnew StreamReader( streamResponse );
array<Char>^ readBuffer = gcnew array<Char>(256);
int count = streamRead->Read( readBuffer, 0, 256 );
Console::WriteLine( "\nThe HTML contents of the page from 50th to 150 charaters are :\n  " );
while ( count > 0 )
{
   String^ outputData = gcnew String( readBuffer,0,count );
   Console::WriteLine( outputData );
   count = streamRead->Read( readBuffer, 0, 256 );
}
streamRead->Close();
streamResponse->Close();
myHttpWebResponse->Close();
      // Create a New 'HttpWebRequest' object .
      HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
      myHttpWebRequest.AddRange(50,150);	
      Console.WriteLine("Call AddRange(50,150)");
      Console.Write("Resulting Request Headers: ");
      Console.WriteLine(myHttpWebRequest.Headers.ToString());

      // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();

// Displays the headers in the response received
Console.Write("Resulting Response Headers: ");
      Console.WriteLine(myHttpWebResponse.Headers.ToString());

      // Display the contents of the page to the console.
      Stream streamResponse=myHttpWebResponse.GetResponseStream();
      StreamReader streamRead = new StreamReader( streamResponse );
      Char[] readBuffer = new Char[256];
      int count = streamRead.Read( readBuffer, 0, 256 );
      Console.WriteLine("\nThe HTML contents of the page from 50th to 150 characters are :\n  ");	
      while (count > 0)
      {
          String outputData = new String(readBuffer, 0, count);
          Console.WriteLine(outputData);
          count = streamRead.Read(readBuffer, 0, 256);
      }
      // Release the response object resources.
      streamRead.Close();
      streamResponse.Close();
      myHttpWebResponse.Close();
' A New 'HttpWebRequest' objetc is created.
Dim myHttpWebRequest As HttpWebRequest = WebRequest.Create("http://www.contoso.com")
myHttpWebRequest.AddRange(50, 150)
Console.WriteLine("Call AddRange(50, 150)")
      Console.Write("Resulting Request Headers: ")
      Console.WriteLine(myHttpWebRequest.Headers.ToString())

' The response object of 'HttpWebRequest' is assigned to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)

' Displays the headers in the response received
Console.Write("Resulting Response Headers: ")
      Console.WriteLine(myHttpWebResponse.Headers.ToString())

' Displaying the contents of the page to the console
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuffer(256) As [Char]
Dim count As Integer = streamRead.Read(readBuffer, 0, 256)
Console.WriteLine(ControlChars.Cr + "The HTML contents of the page from 50th to 150 charaters are :" + ControlChars.Cr + "  ")
While count > 0
    Dim outputData As New [String](readBuffer, 0, count)
    Console.WriteLine(outputData)
    count = streamRead.Read(readBuffer, 0, 256)
End While
' Release the response object resources.
 streamRead.Close()
 streamResponse.Close()
myHttpWebResponse.Close()

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho de intervalo de bytes à solicitação.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro from seria especificado como 0 e o parâmetro to seria especificado como 99. O especificador de intervalo é definido automaticamente como "bytes" por esse método.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(Int64, Int64)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo de bytes à solicitação de um intervalo especificado.

public:
 void AddRange(long from, long to);
public void AddRange (long from, long to);
member this.AddRange : int64 * int64 -> unit
Public Sub AddRange (from As Long, to As Long)

Parâmetros

from
Int64

A posição na qual começar a enviar dados.

to
Int64

A posição na qual interromper o envio de dados.

Exceções

rangeSpecifier é inválido.

from é maior que to

-ou-

from ou to é menor que 0.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho de intervalo de bytes à solicitação.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro from seria especificado como 0 e o parâmetro to seria especificado como 99. O especificador de intervalo é definido automaticamente como "bytes" por esse método.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(String, Int32)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho Range a uma solicitação para um intervalo específico desde o início ou o fim dos dados solicitados.

public:
 void AddRange(System::String ^ rangeSpecifier, int range);
public void AddRange (string rangeSpecifier, int range);
member this.AddRange : string * int -> unit
Public Sub AddRange (rangeSpecifier As String, range As Integer)

Parâmetros

rangeSpecifier
String

A descrição do intervalo.

range
Int32

O ponto inicial ou final do intervalo.

Exceções

rangeSpecifier é null.

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho Range à solicitação.

Se range for positivo, o parâmetro range especifica o ponto inicial do intervalo. O servidor deve começar a enviar dados do parâmetro range especificado ao final dos dados na entidade HTTP.

Se range for negativo, o parâmetro range especifica o ponto final do intervalo. O servidor deve começar a enviar dados desde o início dos dados na entidade HTTP para o parâmetro range especificado.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

O parâmetro rangeSpecifier normalmente seria especificado como um "bytes", pois esse é o único especificador de intervalo reconhecido pela maioria dos servidores HTTP. Definir o parâmetro rangeSpecifier para alguma outra cadeia de caracteres permite suporte para especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pela IETF).

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=-99\r\n\r\n

Para este exemplo, o parâmetro rangeSpecifier seria especificado como "bytes" e o parâmetro range seria -99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges na resposta. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(String, Int64)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho Range a uma solicitação para um intervalo específico desde o início ou o fim dos dados solicitados.

public:
 void AddRange(System::String ^ rangeSpecifier, long range);
public void AddRange (string rangeSpecifier, long range);
member this.AddRange : string * int64 -> unit
Public Sub AddRange (rangeSpecifier As String, range As Long)

Parâmetros

rangeSpecifier
String

A descrição do intervalo.

range
Int64

O ponto inicial ou final do intervalo.

Exceções

rangeSpecifier é null.

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho Range à solicitação.

Se range for positivo, o parâmetro range especifica o ponto inicial do intervalo. O servidor deve começar a enviar dados do parâmetro range especificado ao final dos dados na entidade HTTP.

Se range for negativo, o parâmetro range especifica o ponto final do intervalo. O servidor deve começar a enviar dados desde o início dos dados na entidade HTTP para o parâmetro range especificado.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

O parâmetro rangeSpecifier normalmente seria especificado como um "bytes", pois esse é o único especificador de intervalo reconhecido pela maioria dos servidores HTTP. Definir o parâmetro rangeSpecifier para alguma outra cadeia de caracteres permite suporte para especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pela IETF).

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=-99\r\n\r\n

Para este exemplo, o parâmetro rangeSpecifier seria especificado como "bytes" e o parâmetro range seria -99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges na resposta. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(String, Int32, Int32)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo a uma solicitação de um intervalo especificado.

public:
 void AddRange(System::String ^ rangeSpecifier, int from, int to);
public void AddRange (string rangeSpecifier, int from, int to);
member this.AddRange : string * int * int -> unit
Public Sub AddRange (rangeSpecifier As String, from As Integer, to As Integer)

Parâmetros

rangeSpecifier
String

A descrição do intervalo.

from
Int32

A posição na qual começar a enviar dados.

to
Int32

A posição na qual interromper o envio de dados.

Exceções

rangeSpecifier é null.

from é maior que to

-ou-

from ou to é menor que 0.

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho Range à solicitação.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

O parâmetro rangeSpecifier normalmente seria especificado como um "bytes", pois esse é o único especificador de intervalo reconhecido pela maioria dos servidores HTTP. Definir o parâmetro rangeSpecifier para alguma outra cadeia de caracteres permite suporte para especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pela IETF).

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro rangeSpecifier seria especificado como um "bytes", o parâmetro from seria 0 e o parâmetro to seria 99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges na resposta. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

A cadeia de caracteres especificada no cabeçalho Accept-Ranges é o especificador de intervalo que seria especificado no parâmetro rangeSpecifier para esse método.

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a

AddRange(String, Int64, Int64)

Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs
Origem:
HttpWebRequest.cs

Adiciona um cabeçalho de intervalo a uma solicitação de um intervalo especificado.

public:
 void AddRange(System::String ^ rangeSpecifier, long from, long to);
public void AddRange (string rangeSpecifier, long from, long to);
member this.AddRange : string * int64 * int64 -> unit
Public Sub AddRange (rangeSpecifier As String, from As Long, to As Long)

Parâmetros

rangeSpecifier
String

A descrição do intervalo.

from
Int64

A posição na qual começar a enviar dados.

to
Int64

A posição na qual interromper o envio de dados.

Exceções

rangeSpecifier é null.

from é maior que to

-ou-

from ou to é menor que 0.

rangeSpecifier é inválido.

Não foi possível adicionar o cabeçalho de intervalo.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método HttpWebRequest.AddRange adiciona um cabeçalho Range à solicitação.

Como todas as entidades HTTP são representadas em mensagens HTTP como sequências de bytes, o conceito de um intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam dar suporte a operações de intervalo de bytes.

O cabeçalho Range em uma solicitação permite que um cliente solicite que ele só deseja receber alguma parte do intervalo de bytes especificado em uma entidade HTTP. Os servidores não são necessários para dar suporte a solicitações de cabeçalho range.

O parâmetro rangeSpecifier normalmente seria especificado como um "bytes", pois esse é o único especificador de intervalo reconhecido pela maioria dos servidores HTTP. Definir o parâmetro rangeSpecifier para alguma outra cadeia de caracteres permite suporte para especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pela IETF).

Um exemplo de um cabeçalho Range em uma solicitação de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:

Range: bytes=0-99\r\n\r\n

Para este exemplo, o parâmetro rangeSpecifier seria especificado como um "bytes", o parâmetro from seria 0 e o parâmetro to seria 99.

Um servidor HTTP indica suporte para cabeçalhos range com o cabeçalho Accept-Ranges na resposta. Um exemplo do cabeçalho Accept-Ranges de um servidor que dá suporte a intervalos de bytes seria o seguinte:

Accept-Ranges: bytes\r\n\r\n

A cadeia de caracteres especificada no cabeçalho Accept-Ranges é o especificador de intervalo que seria especificado no parâmetro rangeSpecifier para esse método.

Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, o servidor não oferecerá suporte a cabeçalhos range. Um exemplo do cabeçalho Accept-Ranges de um servidor que não dá suporte a intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:

Accept-Ranges: none\r\n\r\n

Ao receber a resposta de uma solicitação de intervalo, somente os cabeçalhos HTTP associados à solicitação inteira são analisados e disponibilizados por meio de propriedades na classe HttpWebResponse. Cabeçalhos associados a cada intervalo são retornados na resposta.

Confira também

Aplica-se a