HttpWebRequest.AddRange Метод

Определение

Добавляет в запрос заголовок диапазона.

Перегрузки

AddRange(Int32)

Добавляет в запрос заголовок диапазона байтов для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

AddRange(Int64)

Добавляет в запрос заголовок диапазона байтов для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

AddRange(Int32, Int32)

Добавляет в запрос заголовок диапазона байтов для заданного диапазона.

AddRange(Int64, Int64)

Добавляет в запрос заголовок диапазона байтов для заданного диапазона.

AddRange(String, Int32)

Добавляет в запрос заголовок Range для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

AddRange(String, Int64)

Добавляет в запрос заголовок Range для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

AddRange(String, Int32, Int32)

Добавляет в запрос заголовок диапазона для заданного диапазона.

AddRange(String, Int64, Int64)

Добавляет в запрос заголовок диапазона для заданного диапазона.

Комментарии

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не требуются для поддержки запросов заголовков range.

AddRange(Int32)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона байтов для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

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

Параметры

range
Int32

Начальная или конечная точка диапазона.

Исключения

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Примеры

В следующем примере кода в запрос добавляется заголовок диапазона.

// 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())

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок диапазона байтов.

Если range является положительным range , параметр указывает начальную точку диапазона. Сервер должен начать отправку данных из указанного range параметра в конец данных в сущности HTTP.

Если range является отрицательным range , параметр указывает конечную точку диапазона. Сервер должен начать отправку данных с начала данных в сущности HTTP в указанный range параметр.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не требуются для поддержки запросов заголовков range.

Ниже приведен пример заголовка Range в http-запросе протокола, который запрашивает от сервера первые 100 байтов (от начала до позиции 99 байта).

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

В этом примере range параметр будет иметь значение -99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges, выглядит следующим образом:

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(Int64)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона байтов для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

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

Параметры

range
Int64

Начальная или конечная точка диапазона.

Исключения

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок диапазона байтов.

Если range является положительным range , параметр указывает начальную точку диапазона. Сервер должен начать отправку данных из указанного range параметра в конец данных в сущности HTTP.

Если range является отрицательным range , параметр указывает конечную точку диапазона. Сервер должен начать отправку данных с начала данных в сущности HTTP в указанный range параметр.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не требуются для поддержки запросов заголовков range.

Ниже приведен пример заголовка Range в http-запросе протокола, который запрашивает от сервера первые 100 байтов (от начала до позиции 99 байта).

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

В этом примере range параметр будет иметь значение -99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges, выглядит следующим образом:

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(Int32, Int32)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона байтов для заданного диапазона.

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)

Параметры

from
Int32

Место начала передачи данных.

to
Int32

Место остановки передачи данных.

Исключения

rangeSpecifier недопустим.

from больше to

-или-

Значение параметра from или to меньше 0.

Не удалось добавить заголовок диапазона.

Примеры

В следующем примере кода в запрос добавляется заголовок диапазона.

// 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()

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок диапазона байтов.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не требуются для поддержки запросов заголовков range.

Ниже приведен пример заголовка Range в http-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере параметр будет указан как 0, from а to параметр — как 99. Описатель диапазона автоматически задается как "байты" этим методом.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges, выглядит следующим образом:

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(Int64, Int64)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона байтов для заданного диапазона.

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)

Параметры

from
Int64

Место начала передачи данных.

to
Int64

Место остановки передачи данных.

Исключения

rangeSpecifier недопустим.

from больше to

-или-

Значение параметра from или to меньше 0.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок диапазона байтов.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не обязаны поддерживать запросы заголовков Range.

Ниже приведен пример заголовка Range в HTTP-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере параметр будет указан как 0, from а to параметр — как 99. Описатель диапазона автоматически задается как "байты" этим методом.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Ниже приведен пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges.

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(String, Int32)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок Range для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

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)

Параметры

rangeSpecifier
String

Описание диапазона.

range
Int32

Начальная или конечная точка диапазона.

Исключения

rangeSpecifier имеет значение null.

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок Range.

Если range является положительным range , параметр задает начальную точку диапазона. Сервер должен начать отправку данных из указанного range параметра в конец данных в сущности HTTP.

Если range значение отрицательное, range параметр задает конечную точку диапазона. Сервер должен начать отправку данных с начала данных в сущности HTTP в указанный range параметр.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не обязаны поддерживать запросы заголовков Range.

Обычно rangeSpecifier параметр указывается как "байт", так как это единственный описатель диапазона, распознаваемый большинством HTTP-серверов. rangeSpecifier Установка для параметра какой-то другой строки позволяет поддерживать настраиваемые описатели диапазонов, отличные от байтов (описатель диапазона байтов, определенный в RFC 2616 IETF).

Ниже приведен пример заголовка Range в HTTP-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере параметр будет указан как "байты", rangeSpecifier а range параметр будет иметь значение -99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges в ответе. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Ниже приведен пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges.

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(String, Int64)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок Range для определенного диапазона, располагающегося с начала или с конца запрашиваемых данных.

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)

Параметры

rangeSpecifier
String

Описание диапазона.

range
Int64

Начальная или конечная точка диапазона.

Исключения

rangeSpecifier имеет значение null.

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок Range.

Если range является положительным range , параметр задает начальную точку диапазона. Сервер должен начать отправку данных из указанного range параметра в конец данных в сущности HTTP.

Если range значение отрицательное, range параметр задает конечную точку диапазона. Сервер должен начать отправку данных с начала данных в сущности HTTP в указанный range параметр.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не обязаны поддерживать запросы заголовков Range.

Обычно rangeSpecifier параметр указывается как "байт", так как это единственный описатель диапазона, распознаваемый большинством HTTP-серверов. rangeSpecifier Установка для параметра какой-то другой строки позволяет поддерживать настраиваемые описатели диапазонов, отличные от байтов (описатель диапазона байтов, определенный в RFC 2616 IETF).

Ниже приведен пример заголовка Range в HTTP-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере параметр будет указан как "байты", rangeSpecifier а range параметр будет иметь значение -99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges в ответе. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Ниже приведен пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges.

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(String, Int32, Int32)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона для заданного диапазона.

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)

Параметры

rangeSpecifier
String

Описание диапазона.

from
Int32

Место начала передачи данных.

to
Int32

Место остановки передачи данных.

Исключения

rangeSpecifier имеет значение null.

from больше to

-или-

Значение параметра from или to меньше 0.

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок Range.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не обязаны поддерживать запросы заголовков Range.

Обычно rangeSpecifier параметр указывается как "байт", так как это единственный описатель диапазона, распознаваемый большинством HTTP-серверов. rangeSpecifier Установка для параметра какой-то другой строки позволяет поддерживать настраиваемые описатели диапазонов, отличные от байтов (описатель диапазона байтов, определенный в RFC 2616 IETF).

Ниже приведен пример заголовка Range в HTTP-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере rangeSpecifier параметр будет указан как "байт", from параметр будет иметь значение 0, а to параметр будет иметь значение 99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges в ответе. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Строка, указанная в заголовке Accept-Ranges, является описателем диапазона, который будет указан в параметре rangeSpecifier для этого метода.

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Ниже приведен пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges.

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к

AddRange(String, Int64, Int64)

Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs
Исходный код:
HttpWebRequest.cs

Добавляет в запрос заголовок диапазона для заданного диапазона.

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)

Параметры

rangeSpecifier
String

Описание диапазона.

from
Int64

Место начала передачи данных.

to
Int64

Место остановки передачи данных.

Исключения

rangeSpecifier имеет значение null.

from больше to

-или-

Значение параметра from или to меньше 0.

rangeSpecifier недопустим.

Не удалось добавить заголовок диапазона.

Комментарии

Метод HttpWebRequest.AddRange добавляет в запрос заголовок Range.

Так как все сущности HTTP представлены в сообщениях HTTP в виде последовательностей байтов, концепция диапазона байтов имеет смысл для любой сущности HTTP. Однако не все клиенты и серверы должны поддерживать операции с диапазоном байтов.

Заголовок Range в запросе позволяет клиенту запросить, что он хочет получить только часть указанного диапазона байтов в сущности HTTP. Серверы не требуются для поддержки запросов заголовков range.

Параметр rangeSpecifier обычно указывается как "байт", так как это единственный описатель диапазона, распознаваемый большинством HTTP-серверов. rangeSpecifier Установка для параметра значения какой-то другой строки позволяет поддерживать настраиваемые описатели диапазонов, отличные от байтов (описатель диапазона байтов, определенный в RFC 2616 IETF).

Ниже приведен пример заголовка Range в http-запросе протокола, который запрашивает первые 100 байт.

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

В этом примере rangeSpecifier параметр будет указан как "байт", from параметр будет иметь значение 0, а to параметр — 99.

HTTP-сервер указывает на поддержку заголовков Range с заголовком Accept-Ranges в ответе. Ниже приведен пример заголовка Accept-Ranges с сервера, поддерживающего диапазоны байтов:

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

Строка, указанная в заголовке Accept-Ranges, является описателем диапазона, который будет указан в параметре rangeSpecifier для этого метода.

Если заголовок Accept-Ranges не получен в заголовке ответа от сервера, сервер не поддерживает заголовки Range. Пример заголовка Accept-Ranges с сервера, который не поддерживает диапазоны, но распознает заголовок Accept-Ranges, выглядит следующим образом:

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

При получении ответа от запроса диапазона только заголовки HTTP, связанные со всем запросом, анализируются и становятся доступными через свойства HttpWebResponse класса . Заголовки, связанные с каждым диапазоном, возвращаются в ответе.

См. также раздел

Применяется к