質問

IISでホストされているASP.NETアプリケーションのパブリックキャッシュコントロールとプライベートキャッシュ制御の違いを示す例を説明してください。

私は読みました MSDN 違いは次のとおりです。

公衆: セットキャッシュコントロール:対応がクライアントがキャッシュ可能であることを指定する公開および共有(プロキシ)キャッシュ。

プライベート: デフォルト値。セットキャッシュコントロール:プライベートで、応答がクライアントでのみキャッシュ可能であり、共有(プロキシサーバー)キャッシュではなくキャッシュ可能であることを指定します。

各選択肢から長所と短所を完全に理解しているかどうかはわかりません。使用するかどうかの例は、素晴らしいことです。

たとえば、同じアプリケーションをホストする2つのWebサーバーがある場合はどうすればよいですか?私がプライベートまたはパブリックを選んだ場合、注意すべきことはありますか?

役に立ちましたか?

解決

唯一の違いは、プライベートでは、プロキシがそれらを通過するデータをキャッシュすることを許可していないことです。最終的には、送信しているページ/ファイルに含まれるデータにすべて要約されます。

たとえば、ISPには、あなたとインターネットの間に目に見えないプロキシがある可能性があります。つまり、必要な帯域幅の量とコストの削減を減らすためにWebページをキャッシュします。 Cache-Control:Privateを使用することにより、ページをキャッシュしてはならないことを指定しています(ただし、最終ユーザーにそうすることができます)。 Cache-Control:Publicを使用する場合、誰もがページをキャッシュすることは大丈夫だと言っているので、プロキシはコピーを保持します。

経験則として、それが何かなら みんな アクセスできます(たとえば、このページのロゴ)キャッシュ制御:パブリックが優れている可能性があります。接続されたユーザーに関連するものである場合(たとえば、このページのHTMLには私のユーザー名が含まれているため、他の人には役に立たない)キャッシュ制御:プライベートの方が優れています。それは他のユーザーから要求されることはありません。また、信頼していないサーバーに保管されたくないデータを保持している可能性もあります。

そして、もちろん、公開されていないものはすべてプライベートキャッシュを持つ必要があります。それ以外の場合、データは中央のプロキシサーバーに保存される可能性がありますが、アクセスできる人は誰でもアクセスできれば。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top