다음을 통해 공유


HttpWebRequest.AddRange 메서드

정의

요청에 범위 헤더를 추가합니다.

오버로드

AddRange(Int32)

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 바이트 범위 헤더를 추가합니다.

AddRange(Int64)

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 바이트 범위 헤더를 추가합니다.

AddRange(Int32, Int32)

지정된 범위에 대한 요청에 바이트 범위 헤더를 추가합니다.

AddRange(Int64, Int64)

지정된 범위에 대한 요청에 바이트 범위 헤더를 추가합니다.

AddRange(String, Int32)

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 범위 헤더를 추가합니다.

AddRange(String, Int64)

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 범위 헤더를 추가합니다.

AddRange(String, Int32, Int32)

지정된 범위에 대한 요청에 범위 헤더를 추가합니다.

AddRange(String, Int64, Int64)

지정된 범위에 대한 요청에 범위 헤더를 추가합니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

AddRange(Int32)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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())

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 바이트 범위 헤더를 요청에 추가합니다.

range 양수이면 range 매개 변수는 범위의 시작점을 지정합니다. 서버는 HTTP 엔터티의 데이터 끝에 지정된 range 매개 변수에서 데이터를 보내기 시작해야 합니다.

range 음수이면 range 매개 변수는 범위의 끝점을 지정합니다. 서버는 HTTP 엔터티의 데이터 시작에서 지정된 range 매개 변수로 데이터를 보내기 시작해야 합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

서버가 처음 100바이트(시작부터 바이트 위치 99까지)를 보내도록 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 range 매개 변수는 -99입니다.

HTTP 서버는 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(Int64)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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 잘못되었습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 바이트 범위 헤더를 요청에 추가합니다.

range 양수이면 range 매개 변수는 범위의 시작점을 지정합니다. 서버는 HTTP 엔터티의 데이터 끝에 지정된 range 매개 변수에서 데이터를 보내기 시작해야 합니다.

range 음수이면 range 매개 변수는 범위의 끝점을 지정합니다. 서버는 HTTP 엔터티의 데이터 시작에서 지정된 range 매개 변수로 데이터를 보내기 시작해야 합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

서버가 처음 100바이트(시작부터 바이트 위치 99까지)를 보내도록 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 range 매개 변수는 -99입니다.

HTTP 서버는 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(Int32, Int32)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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()

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 바이트 범위 헤더를 요청에 추가합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 from 매개 변수는 0으로 지정되고 to 매개 변수는 99로 지정됩니다. 범위 지정자는 이 메서드에 의해 자동으로 "바이트"로 설정됩니다.

HTTP 서버는 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(Int64, Int64)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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보다 작습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 바이트 범위 헤더를 요청에 추가합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 from 매개 변수는 0으로 지정되고 to 매개 변수는 99로 지정됩니다. 범위 지정자는 이 메서드에 의해 자동으로 "바이트"로 설정됩니다.

HTTP 서버는 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(String, Int32)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 범위 헤더를 추가합니다.

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 잘못되었습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 요청에 Range 헤더를 추가합니다.

range 양수이면 range 매개 변수는 범위의 시작점을 지정합니다. 서버는 HTTP 엔터티의 데이터 끝에 지정된 range 매개 변수에서 데이터를 보내기 시작해야 합니다.

range 음수이면 range 매개 변수는 범위의 끝점을 지정합니다. 서버는 HTTP 엔터티의 데이터 시작에서 지정된 range 매개 변수로 데이터를 보내기 시작해야 합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

대부분의 HTTP 서버에서 인식되는 유일한 범위 지정자이므로 rangeSpecifier 매개 변수는 일반적으로 "바이트"로 지정됩니다. rangeSpecifier 매개 변수를 다른 문자열로 설정하면 바이트 이외의 사용자 지정 범위 지정자(IETF에서 RFC 2616에 정의된 바이트 범위 지정자)를 지원할 수 있습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 rangeSpecifier 매개 변수는 "바이트"로 지정되고 range 매개 변수는 -99입니다.

HTTP 서버는 응답에 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(String, Int64)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs

요청된 데이터의 시작 또는 끝에서 특정 범위에 대한 요청에 범위 헤더를 추가합니다.

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 잘못되었습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 요청에 Range 헤더를 추가합니다.

range 양수이면 range 매개 변수는 범위의 시작점을 지정합니다. 서버는 HTTP 엔터티의 데이터 끝에 지정된 range 매개 변수에서 데이터를 보내기 시작해야 합니다.

range 음수이면 range 매개 변수는 범위의 끝점을 지정합니다. 서버는 HTTP 엔터티의 데이터 시작에서 지정된 range 매개 변수로 데이터를 보내기 시작해야 합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

대부분의 HTTP 서버에서 인식되는 유일한 범위 지정자이므로 rangeSpecifier 매개 변수는 일반적으로 "바이트"로 지정됩니다. rangeSpecifier 매개 변수를 다른 문자열로 설정하면 바이트 이외의 사용자 지정 범위 지정자(IETF에서 RFC 2616에 정의된 바이트 범위 지정자)를 지원할 수 있습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 rangeSpecifier 매개 변수는 "바이트"로 지정되고 range 매개 변수는 -99입니다.

HTTP 서버는 응답에 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(String, Int32, Int32)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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 잘못되었습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 요청에 Range 헤더를 추가합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

대부분의 HTTP 서버에서 인식되는 유일한 범위 지정자이므로 rangeSpecifier 매개 변수는 일반적으로 "바이트"로 지정됩니다. rangeSpecifier 매개 변수를 다른 문자열로 설정하면 바이트 이외의 사용자 지정 범위 지정자(IETF에서 RFC 2616에 정의된 바이트 범위 지정자)를 지원할 수 있습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 rangeSpecifier 매개 변수는 "바이트"로 지정되고, from 매개 변수는 0이고, to 매개 변수는 99입니다.

HTTP 서버는 응답에 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

Accept-Ranges 헤더에 지정된 문자열은 이 메서드의 rangeSpecifier 매개 변수에 지정된 범위 지정자입니다.

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상

AddRange(String, Int64, Int64)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
Source:
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 잘못되었습니다.

범위 헤더를 추가할 수 없습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

HttpWebRequest.AddRange 메서드는 요청에 Range 헤더를 추가합니다.

모든 HTTP 엔터티는 HTTP 메시지에서 바이트 시퀀스로 표현되므로 바이트 범위의 개념은 모든 HTTP 엔터티에 의미가 있습니다. 그러나 모든 클라이언트와 서버가 바이트 범위 작업을 지원해야 하는 것은 아닙니다.

요청의 범위 헤더를 사용하면 클라이언트가 HTTP 엔터티에서 지정된 바이트 범위의 일부만 수신하도록 요청할 수 있습니다. 서버는 범위 헤더 요청을 지원할 필요가 없습니다.

대부분의 HTTP 서버에서 인식되는 유일한 범위 지정자이므로 rangeSpecifier 매개 변수는 일반적으로 "바이트"로 지정됩니다. rangeSpecifier 매개 변수를 다른 문자열로 설정하면 바이트 이외의 사용자 지정 범위 지정자(IETF에서 RFC 2616에 정의된 바이트 범위 지정자)를 지원할 수 있습니다.

처음 100바이트를 요청하는 HTTP 프로토콜 요청의 Range 헤더 예는 다음과 같습니다.

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

이 예제에서 rangeSpecifier 매개 변수는 "바이트"로 지정되고, from 매개 변수는 0이고, to 매개 변수는 99입니다.

HTTP 서버는 응답에 Accept-Ranges 헤더가 있는 Range 헤더에 대한 지원을 나타냅니다. 바이트 범위를 지원하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

Accept-Ranges 헤더에 지정된 문자열은 이 메서드의 rangeSpecifier 매개 변수에 지정된 범위 지정자입니다.

서버에서 응답의 헤더에 Accept-Ranges 헤더를 받지 못한 경우 서버는 범위 헤더를 지원하지 않습니다. 범위를 지원하지 않지만 Accept-Ranges 헤더를 인식하는 서버에서 Accept-Ranges 헤더의 예는 다음과 같습니다.

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

범위 요청에서 응답을 받으면 전체 요청과 연결된 HTTP 헤더만 구문 분석되고 HttpWebResponse 클래스의 속성을 통해 사용할 수 있습니다. 각 범위와 연결된 헤더가 응답에 반환됩니다.

추가 정보

적용 대상