HTTP サーバー API

HTTP Server API テクノロジの概要。

HTTP Server 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 Server 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

URL グループ、サーバー セッション、または要求キューで HTTP Server 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構造体が指定したメジャー/マイナー バージョンの組み合わせと等しい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTP_GREATER_EQUAL_VERSION

HTTP_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせ以上の場合、HTTP_GREATER_EQUAL_VERSION マクロは 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTP_GREATER_VERSION

HTTP_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせより大きい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTP_IS_NULL_ID

HTTP_OPAQUE_IDが NULL かどうかを判断します。
HTTP_LESS_EQUAL_VERSION

HTTP_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせ以下の場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTP_LESS_VERSION

HTTP_VERSION構造体が指定されたメジャー/マイナー バージョンの組み合わせより小さい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTP_NOT_EQUAL_VERSION

HTTP_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせより大きいか小さい場合は 0 以外の値を返し、等しい場合は 0 を返します。
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 グループ ID で識別される URL グループに追加します。
HTTPAPI_EQUAL_VERSION

HTTPAPI_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせと正確に等しい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTPAPI_GREATER_VERSION

HTTPAPI_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせより大きい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTPAPI_LESS_VERSION

HTTPAPI_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせより小さい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HTTPAPI_VERSION_GREATER_OR_EQUAL

HTTPAPI_VERSION_GREATER_OR_EQUALは、HTTPAPI_VERSION構造体が指定したメジャー/マイナー バージョンの組み合わせ以上の場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
HttpCancelHttpRequest

HttpCancelHttpRequest 関数は、指定した reqest を取り消します。
HttpCloseRequestQueue

HttpCreateRequestQueue によって作成された指定された要求キューへのハンドルを閉じます。
HttpCloseServerSession

サーバー セッション ID で識別されたサーバー セッションを削除します。
HttpCloseUrlGroup

URL グループ ID で識別された URL グループを閉じます。
HttpCreateHttpHandle

呼び出し元アプリケーションの HTTP 要求キューを作成し、それにハンドルを返します。
HttpCreateRequestQueue

新しい要求キューを作成するか、既存の要求キューを開きます。
HttpCreateServerSession

指定したバージョンのサーバー セッションを作成します。
HttpCreateUrlGroup

指定したサーバー セッションの下に URL グループを作成します。
HttpDeclarePush

HTTP サーバー プッシュに使用するリソースとサブリソースのリレーションシップを宣言します。 HTTP.sys 基になるプロトコル、接続、クライアント、およびポリシーによってプッシュ操作が許可されている場合、特定のリソースに対して HTTP 2.0 サーバー プッシュを実行します。
HttpDelegateRequestEx

ソース要求キューからターゲット要求キューに要求を委任します。
HttpDeleteServiceConfiguration

指定したデータ (IP アドレスや SSL 証明書など) を HTTP Server API 構成ストアから一度に 1 レコードずつ削除します。
HttpFindUrlGroupId

URL と要求キューの URL グループ ID を取得します。
HttpFlushResponseCache

特定の要求キューに関連付けられている HTTP Server API キャッシュから、サイト部分が指定した UrlPrefix と一致する名前を持つすべての応答フラグメントを削除します。
HttpInitialize

HttpInitialize 関数は、HTTP Server API ドライバーを初期化し、まだ開始されていない場合は起動し、呼び出し元のアプリケーションに対してデータ構造を割り当てて、応答キューの作成やその他の操作をサポートします。
HttpIsFeatureSupported

特定の機能がサポートされているかどうかを確認します。
HttpPrepareUrl

正規化されていない Unicode または punycode URL を解析、分析、正規化して、他の HTTP 関数で使用しても安全かつ有効になるようにします。
HttpQueryRequestQueueProperty

指定したハンドルによって識別される要求キューのプロパティを照会します。
HttpQueryServerSessionProperty

指定したサーバー セッションのサーバー プロパティに対してクエリを実行します。
HttpQueryServiceConfiguration

1 つ以上の HTTP Server API 構成レコードを取得します。
HttpQueryUrlGroupProperty

指定した URL グループのプロパティに対してクエリを実行します。
HttpReadFragmentFromCache

HttpReadFragmentFromCache 関数は、指定された名前の応答フラグメントを HTTP Server API キャッシュから取得します。
HttpReceiveClientCertificate

HttpReceiveClientCertificate 関数は、クライアント SSL 証明書またはチャネル バインド トークン (CBT) を取得するためにサーバー アプリケーションによって使用されます。
HttpReceiveHttpRequest

指定した要求キューから、次に使用可能な HTTP 要求を同期的または非同期的に取得します。
HttpReceiveRequestEntityBody

指定した HTTP 要求の追加のエンティティ本文データを受け取ります。
HttpRemoveUrl

指定した UrlPrefix 文字列と一致するルーティング要求を、指定された要求キューにシステムが停止させます。
HttpRemoveUrlFromUrlGroup

URL グループ ID で識別されるグループから、指定した URL を削除します。
HttpSendHttpResponse

指定した HTTP 要求に HTTP 応答を送信します。
HttpSendResponseEntityBody

HTTP 応答に関連付けられているエンティティ本文データを送信します。
HttpSetRequestProperty

新しいプロパティを設定するか、指定した要求の既存のプロパティを変更します。
HttpSetRequestQueueProperty

新しいプロパティを設定するか、指定したハンドルによって識別される要求キューの既存のプロパティを変更します。
HttpSetServerSessionProperty

新しいサーバー セッション プロパティを設定するか、指定したサーバー セッションの既存のプロパティを変更します。
HttpSetServiceConfiguration

HTTP Server API 構成ストアの構成レコードを作成して設定します。
HttpSetUrlGroupProperty

新しいプロパティを設定するか、指定した URL グループの既存のプロパティを変更します。
HttpShutdownRequestQueue

指定した要求キュー プロセスのキュー要求を停止します。
HttpTerminate

アプリケーションによる呼び出しを処理するために HTTP Server 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 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_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

キーとして機能し、ポートがトランスポート層セキュリティ (TLS) ハンドシェイクを受け取った場合に、Http.sys が一元化された証明書ストア (CCS) ストアを参照して証明書を検索する必要があることを指定する SSL 証明書レコードを識別します。
HTTP_SERVICE_CONFIG_SSL_CCS_QUERY

HttpQueryServiceConfiguration 関数を呼び出すときに、ポート上の SSL 一元化証明書ストア (CCS) レコードに対してクエリを実行する Secure Sockets Layer (SSL) 構成を指定します。
HTTP_SERVICE_CONFIG_SSL_CCS_SET

ポートがトランスポート層セキュリティ (TLS) ハンドシェイクを受け取った場合に、Http.sys が一元化された証明書ストア (CCS) ストアを参照して証明書を検索することを指定する SSL 証明書レコードを表します。
HTTP_SERVICE_CONFIG_SSL_KEY

特定の Secure Sockets Layer (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

特定の Secure Sockets Layer (SSL) サーバー名表示 (SNI) 証明書レコードが SSL SNI ストアで識別されるキーとして機能します。
HTTP_SERVICE_CONFIG_SSL_SNI_QUERY

SSL SNI ストアでクエリを実行する特定の Secure Sockets Layer (SSL) サーバー名表示 (SNI) 証明書レコードを指定するために使用されます。
HTTP_SERVICE_CONFIG_SSL_SNI_SET

新しい Secure Sockets Layer (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

証明書が有効かどうかを判断するために使用できる Secure Sockets Layer (SSL) クライアント証明書に関するデータが含まれます。
HTTP_SSL_INFO

SSL ハンドシェイクによって取得された Secure Sockets Layer (SSL) を使用する接続のデータが含まれます。
HTTP_STATE_INFO

サーバー セッションまたは URL グループを有効または無効にするために使用されます。
HTTP_TIMEOUT_LIMIT_INFO

アプリケーション固有の接続タイムアウト制限を定義します。
HTTP_TRANSPORT_ADDRESS

特定の HTTP 接続に使用されるアドレス (ローカルとリモート) を指定します。
HTTP_UNKNOWN_HEADER

列挙に名前が表示されない HTTP 要求または応答のヘッダーの名前と値を格納します。
HTTP_VERSION

要求または応答で提供される HTTP プロトコルのバージョンを定義します。
HTTPAPI_VERSION

HTTP Server API のバージョンを定義します。