共用方式為


網路術語 (WinHTTP)

開發使用 Microsoft Windows HTTP 服務 (WinHTTP) 的應用程式時,請務必瞭解下列與一般網路相關的概念和術語,特別是 HTTP 通訊協定。

HTTP 交易

當您使用 HTTP 交易時,您要與網路上其他位置的另一部電腦交換資訊。 交換的資訊可以是包含文字或多媒體的檔案,也可以是資料庫查詢的結果。 透過網路交換的信息稱為 資源。 通常傳送資源的計算機是伺服器,而接收該資源的計算機是用戶端。 不過,用戶端也可以將數據張貼至伺服器。 有時候 HTTP 交易牽涉到仲介層伺服器。 仲介層伺服器會從其他伺服器收集數個資源、將資訊編譯成一個資源,並將該資源傳送至用戶端。

使用 HTTP 通訊協定取得資源的程式,需要用戶端與伺服器之間交換一系列訊息。 用戶端會傳送要求資源的訊息,以開始交易。 此訊息稱為 HTTP 要求,有時只是要求。 HTTP 要求包含下列元件。

  • 方法,統一資源標識碼(URI),通訊協定版本號碼
  • 實體主體

當伺服器收到要求時,它會將訊息傳回客戶端來回應。 伺服器傳送的訊息稱為 HTTP 回應。 HTTP 回應包含下列元件。

  • 通訊協定版本號碼、狀態代碼、狀態文字
  • 實體主體

回應表示無法處理要求,或提供要求的資訊。 視要求類型而定,這可以是資源的相關信息,例如其大小和類型,或可以是部分或所有資源本身。 包含部分或所有所要求資源的回應部分稱為「回應數據」或「實體主體」,而且在收到所有響應數據之前,回應才會完成。

如需 HTTP 交易和 HTTP 通訊協定的詳細資訊,請參閱 RFC 2616、超文本傳輸通訊協定 — HTTP/1.1。

Proxy 伺服器

雖然客戶端傳送的要求最終會由目標伺服器接收,但有時候交易會先通過 Proxy 伺服器。 Proxy 會攔截要求,甚至可以在將要求傳送至伺服器之前修改要求。 當伺服器回應時,回應也會通過 Proxy,再將它轉送至用戶端。 Proxy 可以修改此回應中的標頭。

藉由攔截和轉譯網路交易,Proxy 可以:

  • 藉由監視潛在的危險交易來保護用戶端。
  • 讓客戶端能夠使用用戶端軟體可能未實作的通訊協議進行通訊。
  • 作為專用網與公用網路之間的閘道。

WinHTTP API 包含 Proxy 組態工具,可讓您提供 WinHTTP 與攔截 HTTP 交易之任何 Proxy 伺服器的相關信息。 如需使用 Proxy 組態工具的詳細資訊,請參閱 ProxyCfg.exe、Proxy 組態工具

同步和異步模式

有兩種程序設計模型可使用 WinHTTP 透過網路取得資源,也就是同步和異步模型。 在同步模型中,函式或方法的呼叫不會在要求作業完成或發生錯誤之前完成。 例如,當您的應用程式以同步方式使用 WinHTTP 要求資源時,它不會繼續進行下一個步驟,直到收到要求的數據為止。

另一方面,異步模型可讓應用程式在等候擷取資源時執行其他工作。 如果呼叫另一個 WinHTTP 函式或方法,且先前的作業尚未完成,則函式會傳回錯誤。 以異步方式使用 WinHTTP 時,元件物件模型 (COM) 事件和回呼可用來通知應用程式 HTTP 作業中的進度。

認證

驗證是 HTTP Proxy 或 HTTP 伺服器在允許存取資源之前驗證使用者登入資訊的程式。 因特網上會使用各種驗證配置。 使用者的名稱和密碼通常會與授權清單進行比較,如果系統偵測到相符專案,則會將存取權授與使用者的許可權清單中所指定的範圍。

WinHTTP 函式同時支援 HTTP 工作階段的伺服器和 Proxy 驗證。 WinHTTP 支援下列驗證配置:基本、摘要(請參閱 RFC 2617)、NTLM 驗證、Negotiate/ Kerberos和 Microsoft Passport 1.4。 如需驗證的詳細資訊,以及在 Microsoft Visual C++ 應用程式中使用驗證的範例,請參閱 WinHTTP 中的驗證。

如需基本和 Passport 驗證的安全性考慮相關信息,請參閱 WinHTTP 安全性考慮