11

現在、Azure Blob Storage 内にファイルを保存しています。ファイルを要求すると、firebug に 304 のメッセージが表示されます。「HTTP 条件付きヘッダーを使用して指定された条件が満たされていません」

私はAzure Blobを見てきました:「HTTP条件付きヘッダーを使用して指定された条件が満たされていません」と同様の質問ですが、blob.openreadなどを使用してコンテンツを読んでいません...私はただ試していますブラウザでコンテンツを表示します。

Firefox でコントロールの更新 (ctrl と f5) を行うと、200 の応答が返されるため、正しく提供されます。返すファイルにキャッシュ コントロール (max-age=3600、パブリック) を設定しましたが、それでもこのエラー/通知が表示されます。

私の質問は、コンテンツをリクエストしたときに、この応答で戻ってくることを心配する必要がありますか?

あなたが持っているアドバイス/考えは大歓迎です

ありがとうスティーブ

4

1 に答える 1

12

ブラウザーが最後にコンテンツにアクセスしてから Blob Storage のコンテンツが変更されていない場合、これは正しい動作です。

HTTP ステータス コード 304 は「変更されていません」と定義されています ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.htmlを参照)。私が予想するのは、ブラウザが最後にコンテンツと共に受信した ETag を HTTP If-None-Match ヘッダーで Blob Storage に送信したことです。この ETag はストレージ内のコンテンツに関連付けられた ETag とまだ一致しているため、新しいバージョンを送信します。

ETag の詳細については、http: //en.wikipedia.org/wiki/HTTP_ETagをご覧ください。Fiddler を使用して、この動作を実際に確認できます。

FireFox Ctrl-F5 は明示的に更新を強制します。つまり、If-None-Match ヘッダーは送信されません。そのため、Blob Storage はイメージの新しいコピーをネットワーク経由で送信します。

于 2011-05-25T12:28:33.513 に答える