共用方式為


HTTP 伺服器 API

HTTP Server API 技術概觀。

若要開發 HTTP 伺服器 API,您需要下列標頭:

如需這項技術的程序設計指引,請參閱:

列舉項目

 
HTTP_503_RESPONSE_VERBOSITY

HTTP_503_RESPONSE_VERBOSITY列舉會定義 503、服務無法使用、錯誤回應的詳細層級。在要求佇列上設定或查詢 HttpServer503ResponseProperty 時,必須使用此結構。
HTTP_AUTH_STATUS

定義要求的驗證狀態。
HTTP_AUTHENTICATION_HARDENING_LEVELS

伺服器強化等級。
HTTP_CACHE_POLICY_TYPE

HTTP_CACHE_POLICY_TYPE列舉類型會定義可用的快取原則。
HTTP_DATA_CHUNK_TYPE

定義資料區塊的資料來源。
HTTP_DELEGATE_REQUEST_PROPERTY_ID

描述委派要求的內容資訊。
HTTP_ENABLED_STATE

定義要求佇列、伺服器工作階段或 URL 群組的狀態。
HTTP_FEATURE_ID

定義指定 HTTP 功能識別碼的常數。
HTTP_HEADER_ID

HTTP_HEADER_ID列舉類型會列出 HTTP 要求和回應的已知標頭,並將陣列索引與每個這類標頭產生關聯。
HTTP_LOG_DATA_TYPE

識別日誌資料的類型。
HTTP_LOGGING_ROLLOVER_TYPE

定義日誌檔變換類型。
HTTP_LOGGING_TYPE

定義要執行的記載類型。
HTTP_QOS_SETTING_TYPE

識別HTTP_QOS_SETTING_INFO結構中包含的 QOS 設定類型。
HTTP_REQUEST_AUTH_TYPE

HTTP_REQUEST_AUTH_TYPE列舉會定義 HTTP 伺服器 API 支援的驗證類型。此列舉用於HTTP_REQUEST_AUTH_INFO結構中。
HTTP_REQUEST_INFO_TYPE

HTTP_REQUEST_INFO_TYPE列舉會定義HTTP_REQUEST_INFO結構中包含的資訊類型。
HTTP_REQUEST_PROPERTY

定義 HTTP Server API 在要求上配置的內容。
HTTP_REQUEST_TIMING_TYPE

定義常數,以指定可能的要求時間,以 HTTP_REQUEST_TIMING_INFO傳回其資訊。
HTTP_RESPONSE_INFO_TYPE

HTTP_RESPONSE_INFO_TYPE列舉會定義HTTP_RESPONSE_INFO結構中包含的資訊類型。此列舉用於HTTP_RESPONSE_INFO結構。
HTTP_SERVER_PROPERTY

定義 HTTP 伺服器 API 在 URL 群組、伺服器階段作業或要求佇列上配置的內容。
HTTP_SERVICE_BINDING_TYPE

HTTP_SERVICE_BINDING_TYPE列舉類型會指定服務名稱的字串類型。
HTTP_SERVICE_CONFIG_CACHE_KEY

用於 HttpSetServiceConfiguration 和 HttpQueryServiceConfiguration 函式。
HTTP_SERVICE_CONFIG_ID

定義服務組態選項。
HTTP_SERVICE_CONFIG_QUERY_TYPE

HTTP_SERVICE_CONFIG_QUERY_TYPE列舉類型會定義要進行的各種查詢類型。 它用於HTTP_SERVICE_CONFIG_SSL_QUERY、HTTP_SERVICE_CONFIG_SSL_CCS_QUERY和HTTP_SERVICE_CONFIG_URLACL_QUERY結構。
HTTP_SERVICE_CONFIG_TIMEOUT_KEY

HTTP_SERVICE_CONFIG_TIMEOUT_KEY列舉會定義透過HTTP_SERVICE_CONFIG_TIMEOUT_SET結構查詢或設定的計時器類型。
HTTP_VERB

HTTP_VERB列舉類型會定義用來指定HTTP_REQUEST結構中已知標準 HTTP 動詞的值。 這些已知動詞中的大多數都記錄在 RFC 2616 和 RFC 2518 中,如下所示。

Functions

 
HTTP_EQUAL_VERSION

如果HTTP_VERSION結構等於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTP_GREATER_EQUAL_VERSION

如果HTTP_VERSION結構大於或等於指定的主要/次要版本組合,則HTTP_GREATER_EQUAL_VERSION巨集傳回非零值,否則傳回零。
HTTP_GREATER_VERSION

如果HTTP_VERSION結構大於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTP_IS_NULL_ID

判斷HTTP_OPAQUE_ID是否為 Null。
HTTP_LESS_EQUAL_VERSION

如果HTTP_VERSION結構小於或等於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTP_LESS_VERSION

如果HTTP_VERSION結構小於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTP_NOT_EQUAL_VERSION

如果HTTP_VERSION結構大於或小於指定的主要/次要版本組合,則傳回非零值,如果相等,則傳回零。
HTTP_SET_NULL_ID

HTTP_SET_NULL_ID巨集將HTTP_OPAQUE_ID設定為 NULL。
HTTP_SET_VERSION

將指定的HTTP_VERSION結構設定為指定的主要/次要版本組合。
HttpAddFragmentToCache

HttpAddFragmentToCache 函式會快取具有指定名稱的資料片段,以擷取該名稱,或更新以指定名稱快取的資料。
HttpAddUrl

註冊給定的 URL,以便將符合它的請求路由到指定的 HTTP Server API 請求隊列。
HttpAddUrlToUrlGroup

將指定的 URL 新增至 URL 群組識別碼所識別的 URL 群組。
HTTPAPI_EQUAL_VERSION

如果HTTPAPI_VERSION結構完全等於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTPAPI_GREATER_VERSION

如果HTTPAPI_VERSION結構大於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTPAPI_LESS_VERSION

如果HTTPAPI_VERSION結構小於指定的主要/次要版本組合,則傳回非零值,否則傳回零。
HTTPAPI_VERSION_GREATER_OR_EQUAL

如果HTTPAPI_VERSION結構大於或等於指定的主要/次要版本組合,HTTPAPI_VERSION_GREATER_OR_EQUAL會傳回非零值,否則會傳回零。
Http取消Http請求

HttpCancelHttpRequest 函數會取消指定的要求。
HttpCloseRequestQueue

關閉 HttpCreateRequestQueue 所建立之指定要求佇列的控制碼。
HttpCloseServerSession

刪除由伺服器工作階段 ID 所識別的伺服器工作階段。
HttpCloseUrl群組

關閉由 URL 群組識別碼所識別的 URL 群組。
HttpCreateHttpHandle

為呼叫應用程式建立 HTTP 要求佇列,並傳回控制碼。
HttpCreateRequestQueue

建立新的請求佇列或開啟現有的請求佇列。
HttpCreateServer會話

建立指定版本的伺服器工作階段。
HttpCreateUrl群組

在指定的伺服器工作階段下建立 URL 群組。
HttpDeclarePush

宣告資源與子資源的關係,以用於 HTTP 伺服器推送。 然後,如果基礎通訊協定、連線、用戶端和原則允許推送作業,則 HTTP.sys 會針對指定的資源執行 HTTP 2.0 伺服器推送。
HttpDelegateRequestEx

將要求從來源要求佇列委派至目標要求佇列。
HttpDeleteService配置

從 HTTP Server API 組態存放區中刪除指定的資料,例如 IP 位址或 SSL 憑證,一次刪除一筆記錄。
HttpFindUrlGroupId

擷取 URL 和要求佇列的 URL 群組 ID。
HttpFlush回應快取

從與指定要求佇列相關聯的 HTTP 伺服器 API 快取中移除名稱符合指定 UrlPrefix 的所有回應片段。
Http初始化

HttpInitialize 函式會初始化 HTTP 伺服器 API 驅動程式,啟動它 (如果尚未啟動),並配置呼叫應用程式的資料結構,以支援回應佇列建立和其他作業。
HttpIs功能支援

檢查是否支援特定功能。
HttpPrepareUrl

剖析、分析和規範化非正規化的 Unicode 或 punycode URL,使其在其他 HTTP 函數中使用是安全有效的。
HttpQueryRequestQueue屬性

查詢指定句柄所識別之要求佇列的屬性。
HttpQueryServerSession屬性

查詢指定伺服器工作階段上的伺服器內容。
HttpQueryServiceConfiguration

擷取一或多個 HTTP 伺服器 API 組態記錄。
HttpQueryUrlGroup屬性

查詢指定 URL 群組的屬性。
HttpReadFragmentFromCache

HttpReadFragmentFromCache 函式會從 HTTP 伺服器 API 快取擷取具有指定名稱的回應片段。
HttpReceiveClient憑證

伺服器應用程式會使用 HttpReceiveClientCertificate 函式來擷取用戶端 SSL 憑證或通道繫結權杖 (CBT)。
Http接收Http請求

從指定的要求佇列同步或非同步擷取下一個可用的 HTTP 要求。
HttpReceiveRequestEntityBody

接收指定 HTTP 要求的其他實體內文資料。
HttpRemoveUrl

導致系統停止將符合指定 UrlPrefix 字串的要求遞送至指定的要求佇列。
HttpRemoveUrlFromUrlGroup

從 URL 群組識別碼所識別的群組中移除指定的 URL。
HttpSendHttp回應

將 HTTP 回應傳送至指定的 HTTP 要求。
HttpSendResponseEntityBody

傳送與 HTTP 回應相關聯的實體內文資料。
HttpSetRequest屬性

設定新內容或修改指定要求的現有內容。
HttpSetRequestQueue屬性

設定新屬性或修改指定控制碼所識別之要求佇列上的現有屬性。
HttpSetServerSession屬性

設定新的伺服器工作階段內容,或修改指定伺服器工作階段上的現有內容。
HttpSetServiceConfiguration

建立並設定 HTTP Server API 組態存放區的組態記錄。
HttpSetUrlGroup屬性

設定新屬性或修改指定 URL 群組上的現有屬性。
HttpShutdownRequestQueue

停止將指定要求佇列處理程序的請求排入佇列。
Http終止

清除 HTTP 伺服器 API 用來處理應用程式呼叫的資源。
HttpUpdateService組態

以不可部分完成方式更新服務配置參數,該參數會在 HTTP Server API 配置儲存庫內的配置記錄中指定傳輸層安全 (TLS) 憑證。
HttpWaitForDemandStart

等待新要求到達,而新要求可由新的要求佇列處理程序提供。
HttpWaitForDisconnect

當與 HTTP 用戶端的連線因任何原因而中斷時,通知應用程式。
HttpWaitForDisconnectEx

此函式是 HttpWaitForDisconnect 的延伸模組。

結構體系

 
HTTP_BANDWIDTH_LIMIT_INFO

HTTP_BANDWIDTH_LIMIT_INFO結構用於設定或查詢頻寬節流限制。 在 URL 群組或伺服器會話上設定或查詢 HttpServerBandwidthProperty 時,必須使用此結構。
HTTP_BINDING_INFO

用來將 URL 群組與請求佇列建立關聯。
HTTP_BYTE_RANGE

HTTP_BYTE_RANGE 結構可用來指定快取回應片段、檔案或其他資料區塊內的位元組範圍。
HTTP_CACHE_POLICY

用來定義與快取回應片段相關聯的快取原則。
HTTP_CHANNEL_BIND_INFO

HTTP_CHANNEL_BIND_INFO。
HTTP_CONNECTION_LIMIT_INFO

用來設定或查詢 URL 群組未完成連線數目上限的限制。
HTTP_COOKED_URL

包含經過驗證的規範 UTF-16 Unicode 編碼的 URL 請求字串,以及指向該字串的指標和元素長度。
HTTP_DATA_CHUNK

代表記憶體、檔案或 HTTP Server API 回應片段快取中的個別資料區塊。
HTTP_DELEGATE_REQUEST_PROPERTY_INFO

描述委派要求時的其他屬性資訊。
HTTP_FLOWRATE_INFO

回應的傳輸速率。
HTTP_KNOWN_HEADER

包含來自 HTTP 要求或 HTTP 回應之已知標頭的標頭值。
HTTP_LISTEN_ENDPOINT_INFO

控制以 IP 為基礎的 URL 是否應該接聽特定 IP 位址或萬用字元。
HTTP_LOG_DATA

包含指定日誌資料類型的值。
HTTP_LOG_FIELDS_DATA

用於傳遞啟用 WC3 記錄時記錄的 HTTP 回應欄位。
HTTP_LOGGING_INFO

用來在 URL 群組或伺服器工作階段上啟用伺服器端記錄。
HTTP_MULTIPLE_KNOWN_HEADERS

指定需要多個標頭時包含在 HTTP 回應中的標頭。
HTTP_PROPERTY_FLAGS

由內容組態結構用來在設定內容組態時啟用或停用組態物件上的內容。
HTTP_QOS_SETTING_INFO

包含有關 QOS 設定的資訊。
HTTP_REQUEST_AUTH_INFO

包含要求的驗證狀態,以及接收程式可用來模擬已驗證用戶端的用戶端權杖控制碼。
HTTP_REQUEST_CHANNEL_BIND_STATUS

HTTP_REQUEST_CHANNEL_BIND_STATUS。
HTTP_REQUEST_HEADERS

包含隨 HTTP 請求傳送的標頭。
HTTP_REQUEST_INFO

使用請求的其他資訊來擴充HTTP_REQUEST結構。
HTTP_REQUEST_PROPERTY_SNI

用於檢查用戶端在開啟 TLS 連線時請求的網域。
HTTP_REQUEST_PROPERTY_STREAM_ERROR

HTTP_REQUEST_PROPERTY_STREAM_ERROR結構代表 HTTP/2 或 HTTP/3 串流錯誤碼。
HTTP_REQUEST_TIMING_INFO

包含每個要求處理階段所花費時間的相關資訊。
HTTP_REQUEST_V1

使用 HTTP_REQUEST 結構來傳回與特定要求相關聯的資料。
HTTP_REQUEST_V2

使用有關請求的詳細資訊來擴展HTTP_REQUEST_V1請求結構。
HTTP_RESPONSE_HEADERS

包含隨 HTTP 回應傳送的標頭。
HTTP_RESPONSE_INFO

使用回應的其他資訊來擴充HTTP_RESPONSE結構。
HTTP_RESPONSE_V1

包含與 HTTP 回應相關聯的資料。
HTTP_RESPONSE_V2

擴充 HTTP 1.0 版回應結構,並提供回應的詳細資訊。
HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS

HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS結構包含 URL 群組上基本驗證的資訊。此結構包含在HTTP_SERVER_AUTHENTICATION_INFO結構中。
HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS

包含 URL 群組摘要驗證的資訊。
HTTP_SERVER_AUTHENTICATION_INFO

用於在 URL 群組或伺服器工作階段上啟用伺服器端驗證。
HTTP_SERVICE_BINDING_A

HTTP_SERVICE_BINDING_A。
HTTP_SERVICE_BINDING_BASE

HTTP_SERVICE_BINDING_BASE。
HTTP_SERVICE_BINDING_W

HTTP_SERVICE_BINDING_W。
HTTP_SERVICE_CONFIG_CACHE_SET

用於 HttpSetServiceConfiguration 函式的 pConfigInformation 參數。
HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM

用來指定要新增至或刪除 HTTP 服務繫結的 IP 位址清單中的 IP 位址。
HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY

由 HttpQueryServiceConfiguration 用來傳回 HTTP 服務系結的網際網路通訊協定 (IP) 位址清單。
HTTP_SERVICE_CONFIG_SSL_CCS_KEY

用作識別SSL證書記錄的金鑰,該記錄指定 Http.sys 如果埠收到傳輸層安全(TLS)信號交換,則應查閱集中式證書存儲(CCS)存儲以查找證書。
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

指定「安全通訊端層 (SSL)」配置,以在您呼叫 HttpQueryServiceConfiguration 函數時查詢埠上的 SSL 集中式憑證儲存庫 (CCS) 記錄。
HTTP_SERVICE_CONFIG_SSL_CCS_SET

代表SSL憑證記錄,指定如果埠收到傳輸層安全(TLS)信號交換 Http.sys 則應查閱集中式證書存儲(CCS)存儲以查找證書。
HTTP_SERVICE_CONFIG_SSL_KEY

作為識別給定安全通訊端層 (SSL) 憑證記錄的金鑰。
HTTP_SERVICE_CONFIG_SSL_PARAM

定義 SSL 組態存放區中的記錄。
HTTP_SERVICE_CONFIG_SSL_QUERY

用來指定要在 SSL 組態存放區中查詢的特定記錄。
HTTP_SERVICE_CONFIG_SSL_SET

用於將新記錄新增至 SSL 存放區,或從中擷取現有記錄。
HTTP_SERVICE_CONFIG_SSL_SNI_KEY

作為在 SSL SNI 存放區中識別給定安全通訊端層 (SSL) 伺服器名稱指示 (SNI) 憑證記錄的金鑰。
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

用來指定要在 SSL SNI 存放區中查詢的特定安全通訊端層 (SSL) 伺服器名稱指示 (SNI) 憑證記錄。
HTTP_SERVICE_CONFIG_SSL_SNI_SET

用來將新的安全通訊端層 (SSL) 伺服器名稱指示 (SNI) 憑證記錄新增至 SSL SNI 儲存庫,或從中擷取現有記錄。
HTTP_SERVICE_CONFIG_TIMEOUT_SET

用來設定 HTTP Server API 範圍逾時值。
HTTP_SERVICE_CONFIG_URLACL_KEY

用來指定 URL 命名空間保留存放區中的特定保留記錄。
HTTP_SERVICE_CONFIG_URLACL_PARAM

用來指定與 URL 命名空間保留存放區中特定記錄相關聯的許可權。
HTTP_SERVICE_CONFIG_URLACL_QUERY

用來指定要在 URL 命名空間保留存放區中查詢的特定保留記錄。
HTTP_SERVICE_CONFIG_URLACL_SET

用於將新記錄新增至 URL 保留存放區,或從中擷取現有記錄。
HTTP_SSL_CLIENT_CERT_INFO

包含安全通訊端層 (SSL) 用戶端憑證的相關資料,可用來判斷憑證是否有效。
HTTP_SSL_INFO

包含使用安全通訊端層 (SSL) 的連線資料,透過 SSL 交握取得。
HTTP_STATE_INFO

用來啟用或停用伺服器工作階段或 URL 群組。
HTTP_TIMEOUT_LIMIT_INFO

定義應用程式特定的連線逾時限制。
HTTP_TRANSPORT_ADDRESS

指定用於特定 HTTP 連線的位址 (本機和遠端)。
HTTP_UNKNOWN_HEADER

包含 HTTP 要求或回應中標頭的名稱和值,其名稱未出現在列舉中。
HTTP_VERSION

定義要求需要或回應提供的 HTTP 通訊協定版本。
HTTP_WSK_API_TIMINGS

代表特定 API 呼叫所花費時間的統計資料。
HTTPAPI_VERSION

定義 HTTP Server API 的版本。