HTTP Server 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 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 的版本。 |