다음을 통해 공유


서버 애플리케이션에 대한 알림 프로토콜

BITS는 BITSServerNotificationType 속성을 사용하여 BITS 가 업로드 파일의 내용을 서버 애플리케이션에 보내는 방법을 결정합니다. BITSServerNotificationType 속성이 1로 설정된 경우 BITS는 헤더에 업로드 파일의 위치를 전달합니다. BITSServerNotificationType 속성이 2로 설정된 경우 BITS는 요청 본문에 업로드 파일의 내용을 전달합니다.

BITS가 서버 애플리케이션의 오류를 처리하는 방법에 대한 자세한 내용은 서버 애플리케이션 오류 처리를 참조하세요.

헤더에 업로드 파일의 위치 보내기

BITSServerNotificationType 속성이 1로 설정된 경우 BITS는 업로드 및 회신 파일의 위치를 헤더의 서버 애플리케이션에 전달합니다. 서버 애플리케이션은 업로드 파일을 열고, 데이터를 처리한 다음, 회신 파일을 생성합니다. 기본적으로 BITS는 서버 애플리케이션에서 응답을 받은 후 서버에서 업로드 및 회신 파일을 제거합니다. BITS가 작업에서 원격 파일 이름으로 지정된 위치에 업로드 파일을 복사하도록 하려면 응답에 BITS-Copy-File-To-Destination 헤더를 포함합니다. 헤더를 포함하지 않고 업로드 및 회신 파일을 저장하려는 경우 응답하기 전에 업로드 및 회신 파일을 새 위치에 복사해야 합니다. 다음 표에서는 요청 헤더를 보여 줍니다.

요청 헤더 Description
BITS-original-request-URL 작업에 지정된 원격 이름을 포함합니다.
BITS-Request-DataFile-Name 업로드된 데이터의 전체 경로를 포함합니다.
BITS-Response-DataFile-Name BITS에서 서버 애플리케이션이 응답을 작성해야 하는 전체 경로를 포함합니다.

다음 표에서는 응답 헤더를 보여 줍니다.

응답 헤더 Description
BITS-Static-Response-URL 선택 사항입니다. 응답으로 사용할 정적 데이터 파일에 대한 절대 URL(상대 URL 지정 안 함)을 포함합니다. 정적 데이터 파일은 BITS 클라이언트에서 액세스할 수 있어야 합니다. 이 헤더를 사용하는 경우 BITS-Response-DataFile-Name 요청 헤더에 지정된 응답 파일을 만들지 마세요. BITS는 이 파일을 삭제하지 않습니다.
BITS-Copy-File-to-Destination 선택 사항입니다. 기본적으로 BITSServerNotificationType 속성이 1 또는 2로 설정된 경우 BITS 서버는 작업에서 원격 파일 이름으로 지정된 위치에 업로드 파일을 복사하지 않습니다. BITS가 작업의 원격 파일 이름으로 지정된 위치에 파일을 복사하도록 하려면 이 응답 헤더를 보냅니다. 모든 값을 지정할 수 있습니다. BITS는 값을 사용하지 않습니다. 원격 파일 경로의 폴더가 있어야 합니다.

다음 요청은 서버 애플리케이션에 업로드 파일의 위치를 보내는 BITS를 보여 줍니다.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
BITS-Request-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\request
BITS-Response-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\response
Content-Length: 0

다음은 BITS에 대한 서버 애플리케이션의 회신을 보여 줍니다. 응답은 BITS-Response-DataFile-Name 요청 헤더로 지정된 파일에 배치됩니다.

HTTP/1.1 200 - OK
Content-Length: 0

요청 본문에 업로드 파일 보내기

BITSServerNotificationType 속성이 2로 설정된 경우 BITS는 요청 본문에 업로드 파일을 보냅니다. 요청 본문에 업로드 파일을 보내면 기존 스크립트와 애플리케이션이 최소한의 수정으로 작동할 수 있습니다. 업로드 파일 및 회신 파일은 각각 요청 및 응답에 전달됩니다. 다음 표에서는 요청 헤더를 보여줍니다.

요청 헤더 Description
BITS-original-request-URL 작업에 지정된 원격 이름을 포함합니다.

다음 표에서는 응답 헤더를 보여 줍니다.

응답 헤더 Description
BITS-Static-Response-URL 선택 사항입니다. 응답으로 사용할 정적 데이터 파일에 대한 절대 URL(상대 URL 지정 안 함)을 포함합니다. 정적 데이터 파일은 BITS 클라이언트에서 액세스할 수 있어야 합니다. 이 헤더를 사용하는 경우 스트림에 응답을 포함하지 마세요. BITS는 이 파일을 삭제하지 않습니다.
BITS-Copy-File-to-Destination 선택 사항입니다. BITSServerNotificationType 속성이 1 또는 2로 설정된 경우 BITS 서버는 작업에서 원격 파일 이름으로 지정된 위치에 업로드 파일을 복사하지 않습니다. BITS가 원격 파일 이름으로 지정된 위치에 파일을 복사하도록 하려면 이 응답 헤더를 보냅니다. 모든 값을 지정할 수 있습니다. BITS는 값을 사용하지 않습니다. 원격 파일 경로의 폴더가 있어야 합니다.

다음 요청은 업로드된 파일을 요청 본문의 서버 애플리케이션에 전달하는 BITS를 보여 줍니다.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
Content-Length: 80000

80000 bytes of upload data goes here

다음 회신은 응답 본문의 BITS에 회신 데이터를 전달하는 서버 애플리케이션을 보여 줍니다.

HTTP/1.1 200 - OK
Content-Length: 100

100 bytes of reply data goes here

서버 애플리케이션 오류 처리

서버 애플리케이션 오류 처리를 참조하세요.