共用方式為


伺服器應用程式的通知通訊協定

BITS 使用 BITSServerNotificationType 屬性來判斷 BITS 如何將上傳檔案的內容傳送至伺服器應用程式。 如果 BITSServerNotificationType 屬性設定為 1,BITS 會在標頭中傳遞上傳檔案的位置。 如果 BITSServerNotificationType 屬性設定為 2,BITS 會在要求的本文中傳遞上傳檔案的內容。

如需 BITS 如何處理伺服器應用程式錯誤的詳細資訊,請參閱 處理伺服器應用程式錯誤

在標頭中傳送上傳檔案的位置

如果 BITSServerNotificationType 屬性設定為 1,BITS 會將上傳和回復檔案的位置傳遞給標頭中的伺服器應用程式。 伺服器應用程式會開啟上傳檔案、處理數據,然後產生回復檔案。 根據預設,BITS 會在從伺服器應用程式收到回應之後,從伺服器移除上傳和回復檔案。 若要讓 BITS 將上傳檔案複製到作業中遠端檔名所指定的位置,請在回應中包含 BITS-Copy-File-To-Destination 標頭。 如果您未包含標頭,而且您想要儲存上傳和回復檔案,則必須先將上傳和回復檔案複製到新位置,再進行回應。 下表顯示要求標頭。

要求標頭 描述
BITS-Original-Request-URL 包含作業中指定的遠端名稱。
BITS-Request-DataFile-Name 包含已上傳數據的完整路徑。
BITS-Response-DataFile-Name 包含 BITS 預期伺服器應用程式寫入回應的完整路徑。

下表顯示回應標頭。

回應標頭 描述
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 會在要求主體中傳送上傳檔案。 在要求主體中傳送上傳檔案可讓現有的腳本和應用程式使用最少的修改。 上傳檔案和回復檔案會分別傳入要求和回應。 下表顯示要求標頭。

要求標頭 描述
BITS-Original-Request-URL 包含作業中指定的遠端名稱。

下表顯示回應標頭。

回應標頭 描述
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

處理伺服器應用程式錯誤

請參閱 處理伺服器應用程式錯誤