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 のバージョンを定義します。 |