다음을 통해 공유


BITS 알림 요청/응답 헤더 사용

BITS는 업로드 파일의 위치를 참조하여 서버 애플리케이션으로 보내거나 요청 본문에 업로드 파일을 보낼 수 있습니다(값 기준). BITS가 업로드 파일을 서버 애플리케이션에 보내는 방법을 지정하려면 IIS 메타베이스 속성 BITSServerNotificationType을 설정합니다. 참조로 지정하는 경우 BITS는 BITS-Request-DataFile-Name 헤더에 파일의 위치를 전달합니다. 회신을 보내려면 BITS-Response-DataFile-Name 헤더에 지정된 파일에 응답을 만들고 씁니다.

많은 클라이언트에 동일한 회신을 보내는 서버 애플리케이션은 참조로 사용해야 하므로 서버에는 회신 복사본이 하나만 있습니다. 예를 들어 소프트웨어 업데이트 애플리케이션에서 클라이언트는 해당 소프트웨어 구성을 서버 애플리케이션에 업로드합니다. 서버 애플리케이션은 클라이언트에 필요한 패키지를 결정하고 패키지의 URL을 BITS로 보냅니다. 그런 다음 BITS는 패키지를 회신으로 다운로드합니다.

각 클라이언트에 대해 고유한 회신을 생성하는 서버 애플리케이션은 값별로 사용해야 합니다. 예를 들어 음악 파일 구매를 지원하는 서버 애플리케이션은 서명된 음악 파일을 클라이언트에 보내야 합니다. 서명된 음악 파일은 클라이언트에 고유하므로 서버 애플리케이션은 서버에 저장하지 않습니다. 값으로 웹 클라이언트 데이터를 직접 수락하도록 이미 작성된 애플리케이션에도 유용합니다.

BITS와 서버 애플리케이션 간에 사용되는 요청 및 응답 헤더에 대한 자세한 내용은 서버 애플리케이션에 대한 알림 프로토콜을 참조하세요.

다음 JavaScript 예제에서는 참조 알림으로 사용하는 서버 애플리케이션의 요청 및 응답 파일에 액세스하는 방법을 보여 줍니다(BITS는 헤더에 있는 파일의 위치를 전달).

  var fso = new ActiveXObject ("Scripting.FileSystemObject")
  var requestFileName = Request.ServerVariables ("HTTP_BITS-Request-DataFile-Name")
  var responseFileName = Request.ServerVariables ("HTTP_BITS-Response-DataFile-Name")
  var requestStream
  var responseStream
  var ForReading = 1
  var ForWriting = 2
  var TristateUseDefault = -2

  //Open the upload data file as text stream for reading.
  requestStream = fso.OpenTextFile(requestFileName, ForReading, false, TristateUseDefault);

  //Do something with the uploaded data.

  //Close the upload stream.
  requestStream.Close()

  //Open response data file as text stream for writing.
  responseStream = fso.OpenTextFile(responseFileName, ForWriting, true, TristateUseDefault);

  //Write a response to the response file.

  //Close the response text stream
  responseStream.Close()

BITS-Response-DataFile-Name에 지정된 것과 다른 응답 파일을 사용하려면 Response.AddHeader 메서드를 호출하여 다음 예제와 같이 BITS-Static-Response-URL을 추가합니다. 다른 응답 파일을 지정하는 경우 BITS-Response-DataFile-Name에 지정된 응답 파일을 만들지 마세요.

  Response.AddHeader "BITS-Static-Response-URL" "https://myserver/mypath/myfile"