HttpWebRequest.AddRange Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona um cabeçalho de intervalo ao pedido.
Sobrecargas
| Name | Description |
|---|---|
| AddRange(Int32) |
Adiciona um cabeçalho de intervalo de bytes a um pedido para um intervalo específico desde o início ou fim dos dados solicitados. |
| AddRange(Int64) |
Adiciona um cabeçalho de intervalo de bytes a um pedido para um intervalo específico desde o início ou fim dos dados solicitados. |
| AddRange(Int32, Int32) |
Adiciona um cabeçalho de intervalo de bytes ao pedido para um intervalo especificado. |
| AddRange(Int64, Int64) |
Adiciona um cabeçalho de intervalo de bytes ao pedido para um intervalo especificado. |
| AddRange(String, Int32) |
Adiciona um cabeçalho Range a um pedido para um intervalo específico desde o início ou fim dos dados solicitados. |
| AddRange(String, Int64) |
Adiciona um cabeçalho Range a um pedido para um intervalo específico desde o início ou fim dos dados solicitados. |
| AddRange(String, Int32, Int32) |
Adiciona um cabeçalho de intervalo a um pedido para um intervalo especificado. |
| AddRange(String, Int64, Int64) |
Adiciona um cabeçalho de intervalo a um pedido para um intervalo especificado. |
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
AddRange(Int32)
Adiciona um cabeçalho de intervalo de bytes a um pedido para um intervalo específico desde o início ou fim 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 de partida ou de chegada do campo de tiro.
Exceções
range é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Exemplos
O exemplo de código seguinte adiciona um cabeçalho de intervalo ao pedido.
// 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())
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho de intervalo de bytes ao pedido.
Se range for positivo, o range parâmetro especifica o ponto de partida do intervalo. O servidor deve começar a enviar dados do range parâmetro especificado para o final dos dados na entidade HTTP.
Se range for negativo, o range parâmetro 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 range parâmetro especificado.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que pede ao servidor para enviar os primeiros 100 bytes (desde o início até à posição 99 do byte) seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o range parâmetro 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(Int64)
Adiciona um cabeçalho de intervalo de bytes a um pedido para um intervalo específico desde o início ou fim 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 de partida ou de chegada do campo de tiro.
Exceções
range é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho de intervalo de bytes ao pedido.
Se range for positivo, o range parâmetro especifica o ponto de partida do intervalo. O servidor deve começar a enviar dados do range parâmetro especificado para o final dos dados na entidade HTTP.
Se range for negativo, o range parâmetro 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 range parâmetro especificado.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que pede ao servidor para enviar os primeiros 100 bytes (desde o início até à posição 99 do byte) seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o range parâmetro 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(Int32, Int32)
Adiciona um cabeçalho de intervalo de bytes ao pedido para 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 para começar a enviar dados.
- to
- Int32
A posição em que parar de enviar dados.
Exceções
O cabeçalho de alcance não pôde ser adicionado.
Exemplos
O exemplo de código seguinte adiciona um cabeçalho de intervalo ao pedido.
// 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()
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho de intervalo de bytes ao pedido.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o from parâmetro seria especificado como 0 e o to parâmetro como 99. O especificador de intervalo é automaticamente definido como "bytes" por este 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(Int64, Int64)
Adiciona um cabeçalho de intervalo de bytes ao pedido para 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 para começar a enviar dados.
- to
- Int64
A posição em que parar de enviar dados.
Exceções
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho de intervalo de bytes ao pedido.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o from parâmetro seria especificado como 0 e o to parâmetro como 99. O especificador de intervalo é automaticamente definido como "bytes" por este 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(String, Int32)
Adiciona um cabeçalho Range a um pedido para um intervalo específico desde o início ou 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 da cordilheira.
- range
- Int32
O ponto de partida ou de chegada do campo de tiro.
Exceções
rangeSpecifier é null.
rangeSpecifier é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho Range ao pedido.
Se range for positivo, o range parâmetro especifica o ponto de partida do intervalo. O servidor deve começar a enviar dados do range parâmetro especificado para o final dos dados na entidade HTTP.
Se range for negativo, o range parâmetro 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 range parâmetro especificado.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
O rangeSpecifier parâmetro seria normalmente especificado como um "bytes", uma vez que este é o único especificador de alcance reconhecido pela maioria dos servidores HTTP. Definir o rangeSpecifier parâmetro para outra cadeia permite suportar especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pelo IETF).
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=-99\r\n\r\n
Neste exemplo, o rangeSpecifier parâmetro seria especificado como "bytes" e o range parâmetro 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(String, Int64)
Adiciona um cabeçalho Range a um pedido para um intervalo específico desde o início ou 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 da cordilheira.
- range
- Int64
O ponto de partida ou de chegada do campo de tiro.
Exceções
rangeSpecifier é null.
rangeSpecifier é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho Range ao pedido.
Se range for positivo, o range parâmetro especifica o ponto de partida do intervalo. O servidor deve começar a enviar dados do range parâmetro especificado para o final dos dados na entidade HTTP.
Se range for negativo, o range parâmetro 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 range parâmetro especificado.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
O rangeSpecifier parâmetro seria normalmente especificado como um "bytes", uma vez que este é o único especificador de alcance reconhecido pela maioria dos servidores HTTP. Definir o rangeSpecifier parâmetro para outra cadeia permite suportar especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pelo IETF).
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=-99\r\n\r\n
Neste exemplo, o rangeSpecifier parâmetro seria especificado como "bytes" e o range parâmetro 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 suporta 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, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(String, Int32, Int32)
Adiciona um cabeçalho de intervalo a um pedido para 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 da cordilheira.
- from
- Int32
A posição para começar a enviar dados.
- to
- Int32
A posição em que parar de enviar dados.
Exceções
rangeSpecifier é null.
rangeSpecifier é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho Range ao pedido.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
O rangeSpecifier parâmetro seria normalmente especificado como um "bytes", uma vez que este é o único especificador de alcance reconhecido pela maioria dos servidores HTTP. Definir o rangeSpecifier parâmetro para outra cadeia permite suportar especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pelo IETF).
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o rangeSpecifier parâmetro seria especificado como um "bytes", o from parâmetro seria 0 e o to parâmetro 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 suporta intervalos de bytes seria o seguinte:
Accept-Ranges: bytes\r\n\r\n
A cadeia especificada no cabeçalho Accept-Ranges é o especificador de alcance que será especificado por no rangeSpecifier parâmetro deste método.
Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.
Ver também
Aplica-se a
AddRange(String, Int64, Int64)
Adiciona um cabeçalho de intervalo a um pedido para 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 da cordilheira.
- from
- Int64
A posição para começar a enviar dados.
- to
- Int64
A posição em que parar de enviar dados.
Exceções
rangeSpecifier é null.
rangeSpecifier é inválido.
O cabeçalho de alcance não pôde ser adicionado.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O HttpWebRequest.AddRange método adiciona um cabeçalho Range ao pedido.
Como todas as entidades HTTP são representadas nas mensagens HTTP como sequências de bytes, o conceito de intervalo de bytes é significativo para qualquer entidade HTTP. No entanto, nem todos os clientes e servidores precisam de suportar operações por intervalo de bytes.
O cabeçalho Range num pedido permite que um cliente peça que apenas queira receber uma parte do intervalo especificado de bytes numa entidade HTTP. Os servidores não são obrigados a suportar pedidos de cabeçalho de Range.
O rangeSpecifier parâmetro seria normalmente especificado como um "bytes", uma vez que este é o único especificador de alcance reconhecido pela maioria dos servidores HTTP. Definir o rangeSpecifier parâmetro para outra cadeia permite suportar especificadores de intervalo personalizados que não sejam bytes (o especificador de intervalo de bytes definido no RFC 2616 pelo IETF).
Um exemplo de cabeçalho Range num pedido de protocolo HTTP que solicita os primeiros 100 bytes seria o seguinte:
Range: bytes=0-99\r\n\r\n
Neste exemplo, o rangeSpecifier parâmetro seria especificado como um "bytes", o from parâmetro seria 0 e o to parâmetro 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 suporta intervalos de bytes seria o seguinte:
Accept-Ranges: bytes\r\n\r\n
A cadeia especificada no cabeçalho Accept-Ranges é o especificador de alcance que será especificado por no rangeSpecifier parâmetro deste método.
Se um cabeçalho Accept-Ranges não for recebido no cabeçalho da resposta do servidor, então o servidor não suporta cabeçalhos de intervalo. Um exemplo do cabeçalho Accept-Ranges de um servidor que não suporta intervalos, mas reconhece o cabeçalho Accept-Ranges, seria o seguinte:
Accept-Ranges: none\r\n\r\n
Ao receber a resposta de um pedido de intervalo, apenas os cabeçalhos HTTP associados a todo o pedido são analisados e disponibilizados através de propriedades na HttpWebResponse classe. Os cabeçalhos associados a cada intervalo são devolvidos na resposta.