次の方法で共有


HTTP.sysがコンテンツをキャッシュしないインスタンス

この記事では、HTTP.sys ドライバーがコンテンツをキャッシュしないインスタンスについて説明します。

元の製品バージョン: インターネット インフォメーション サービス
元の KB 番号: 817445

HTTP.sysがキャッシュされない状況

HTTP.sys応答キャッシュは、要求ヘッダーに適切なフラグを持つ要求をキャッシュします。 このキャッシュは、要求ごとに無効になります。 ただし、次の条件のうち 1 つ以上が true の場合、 HTTP.sys は要求応答をキャッシュしません。

  • 要求は匿名の要求ではありません。

  • 要求には認証が必要です。 (たとえば、要求には Authorization: ヘッダーが含まれています)。

  • Web サイトはフッターを使用するように構成されています。

  • 動的圧縮が有効になり、応答に使用されます。

    Note

    静的圧縮は、 HTTP.sys キャッシュと共に使用できます。

  • 静的ファイルは汎用名前付け規則 (UNC) ファイルであり、 DoDirMonitoringForUnc レジストリ キーが有効になっていません。

    Note

    DoDirMonitoringForUnc レジストリ プロパティ (DWORD 値) を使用して、静的ファイル キャッシュを変更通知キャッシュに切り替えることができます。 これは次のように設定されます。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
    既定値は 0 であるか、有効になっていません。 変更通知に基づいて静的コンテンツのキャッシュを有効にするには、1 に設定できます。

  • 要求にクエリ文字列が含まれています。

  • キャッシュは無効になっています。 (つまり、 MD_VR_NO_CACHE メタベース プロパティは 1 です)。

    Note

    MD_VR_NO_CACHEメタベース プロパティの詳細については、製品ドキュメントを参照してください。 このドキュメントを表示するには、 DisableStaticFileCacheを参照してください。

  • 要求にはエンティティ本文があります。

  • URL に対して証明書マッピングが有効になっています。

  • Web サイトに対してカスタム ログが有効になっています。

  • 要求 HTTP バージョンが 1.1 または 1.0 ではありません。

  • 要求に Translate: f ヘッダーが含まれています。

  • 正確に100 continueを含まないExpect:ヘッダーが存在します。

  • 要求には、 If-Range: ヘッダーまたは Range: ヘッダーが含まれています。

    Note

    HTTP.sys は応答全体のみを処理します。 HTTP.sys は、範囲指定された応答の送信を試みません。

  • 応答は、複数の SendResponse 呼び出しと SendResponseEntityBody 呼び出しにまたがる。

    Note

    キャッシュ可能な応答は、単一のベクトル化された SendResponse 呼び出しでダウンする必要があります。

  • 応答の合計サイズが、応答ごとの最大サイズを超えています。 最大値は UriMaxUriBytes レジストリ キーによって制御され、既定値は 256 KB です。

  • 応答ヘッダーのサイズが、応答ごとの最大ヘッダー サイズを超えています。 既定値は 1,024 バイトです。

  • キャッシュは既にいっぱいです。 既定のサイズは、コンピューター内の物理メモリに比例します。

  • 応答の長さは 0 です。

  • キャッシュ対応ではないインターネット サーバー アプリケーション プログラム インターフェイス (ISAPI) フィルターがインストールされています。

    Note

    既定では、ISAPI フィルターはキャッシュ対応ではありません。 フィルターをキャッシュ対応にするには、 FilterEnableCache メタベース プロパティを設定する必要があります。 IIS の既定のインストール内のすべてのフィルターはキャッシュ対応です。 これには、FrontPage と ASP.NET が含まれます。
    FilterEnableCacheメタベース プロパティの詳細については、「Windows 10 の展開新機能」を参照してください

  • 静的ファイルは、既定のドキュメントとしてアクセスされます。 (たとえば、ルート ディレクトリにDefault.htmが存在します)。名前 (http://contoso.com/default.htm/) で特定のファイルにアクセスすると、 HTTP.syによってファイルがキャッシュされます。 ルート フォルダー (http://contoso.com/) を要求して Web サイトにアクセスすると、キャッシュされていない応答が返されます。

    Note

    [既定のドキュメント] リストに表示されている最初のページにアクセスできない場合、IIS は既定のドキュメントリストの 2 番目のページを提供しようとします。 この状況では、その静的ページはキャッシュから提供されません。