HTTP 伺服器 API \(英文\)
HTTP 伺服器 API 技術的概觀。
若要開發 HTTP 伺服器 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 伺服器 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 定義 URL 群組、伺服器工作階段或要求佇列上 HTTP 伺服器 API 所設定的屬性。 |
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 中,如下所示。 |
函式
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 伺服器 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會傳回非零值,否則傳回零。 |
HttpCancelHttpRequest HttpCancelHttpRequest 函式會取消指定的 reqest。 |
HttpCloseRequestQueue 關閉 HttpCreateRequestQueue 所建立指定要求佇列的句柄。 |
HttpCloseServerSession 刪除伺服器會話識別碼所識別的伺服器會話。 |
HttpCloseUrlGroup 關閉 URL 群組識別碼所識別的 URL 群組。 |
HttpCreateHttpHandle 建立呼叫應用程式的 HTTP 要求佇列,並傳回其句柄。 |
HttpCreateRequestQueue 建立新的要求佇列,或開啟現有的要求佇列。 |
HttpCreateServerSession 為指定的版本建立伺服器會話。 |
HttpCreateUrlGroup 在指定的伺服器會話下建立 URL 群組。 |
HttpDeclarePush 宣告要用於 HTTP 伺服器推送的資源對子資源關聯性。 然後,如果基礎通訊協定、連線、用戶端和原則允許推送作業,HTTP.sys 會針對指定的資源執行 HTTP 2.0 伺服器推送。 |
HttpDelegateRequestEx 將來源要求佇列的要求委派給目標要求佇列。 |
HttpDeleteServiceConfiguration 從 HTTP 伺服器 API 組態存放區中刪除指定的數據,例如 IP 位址或 SSL 憑證,一次一筆記錄。 |
HttpFindUrlGroupId 擷取 URL 和要求佇列的 URL 群組識別碼。 |
HttpFlushResponseCache 從與指定要求佇列相關聯的 HTTP 伺服器 API 快取中移除所有具有網站部分符合指定 UrlPrefix 之名稱的回應片段。 |
HttpInitialize HttpInitialize 函式會初始化 HTTP Server API 驅動程式、啟動它、如果尚未啟動,並配置數據結構給呼叫端應用程式以支持回應佇列建立和其他作業。 |
HttpIsFeatureSupported 檢查是否支援特定功能。 |
HttpPrepareUrl 剖析、分析及正規化非正規化 Unicode 或 punycode URL,讓其他 HTTP 函式安全且有效。 |
HttpQueryRequestQueueProperty 查詢指定句柄所識別之要求佇列的屬性。 |
HttpQueryServerSessionProperty 查詢指定伺服器工作階段上的伺服器屬性。 |
HttpQueryServiceConfiguration 擷取一或多個 HTTP 伺服器 API 組態記錄。 |
HttpQueryUrlGroupProperty 查詢指定 URL 群組上的屬性。 |
HttpReadFragmentFromCache HttpReadFragmentFromCache 函式會從 HTTP 伺服器 API 快取擷取具有指定名稱的回應片段。 |
HttpReceiveClientCertificate HttpReceiveClientCertificate 函式是由伺服器應用程式用來擷取用戶端 SSL 憑證或通道系結令牌, (CBT) 。 |
HttpReceiveHttpRequest 從指定的要求佇列同步或異步擷取下一個可用的 HTTP 要求。 |
HttpReceiveRequestEntityBody 接收指定 HTTP 要求的其他實體主體數據。 |
HttpRemoveUrl 讓系統停止路由要求,該要求符合指定的 UrlPrefix 字串至指定的要求佇列。 |
HttpRemoveUrlFromUrlGroup 從 URL 群組識別碼所識別的群組中移除指定的 URL。 |
HttpSendHttpResponse 將 HTTP 回應傳送至指定的 HTTP 要求。 |
HttpSendResponseEntityBody 傳送與 HTTP 回應相關聯的實體主體數據。 |
HttpSetRequestProperty 在指定的要求上設定新的屬性或修改現有的屬性。 |
HttpSetRequestQueueProperty 在指定句柄所識別的要求佇列上設定新屬性或修改現有屬性。 |
HttpSetServerSessionProperty 設定新的伺服器會話屬性,或修改指定之伺服器會話上的現有屬性。 |
HttpSetServiceConfiguration 建立並設定 HTTP 伺服器 API 組態存放區的組態記錄。 |
HttpSetUrlGroupProperty 設定新的屬性或修改指定 URL 群組上的現有屬性。 |
HttpShutdownRequestQueue 停止指定要求佇列進程的佇列要求。 |
HttpTerminate 清除 HTTP 伺服器 API 用來處理應用程式呼叫的資源。 |
HttpUpdateServiceConfiguration 匯報 服務組態參數,指定 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 伺服器 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_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 應該查閱集中式證書存儲 (CCS) 存放區,以在埠收到傳輸層安全性 (TLS) 交握時尋找憑證。 |
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY 指定安全套接字層 (SSL) 組態,以在呼叫 HttpQueryServiceConfiguration 函式時查詢埠上的 SSL 集中式證書存儲 (CCS) 記錄。 |
HTTP_SERVICE_CONFIG_SSL_CCS_SET 表示 SSL 憑證記錄,指定 Http.sys 應查閱集中式證書存儲 (CCS) 存放區,以在埠收到傳輸層安全性 (TLS) 交握時尋找憑證。 |
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 伺服器 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 通訊協定版本。 |
HTTPAPI_VERSION 定義 HTTP 伺服器 API 的版本。 |