1

Azure Blob Storage に保存されているファイルへのアクセスを制御する ASP.NET Azure Web アプリケーション (Web ロール) を構築しています。GET 要求で、私の HttpHandler はユーザーを認証し、この特定のファイルとユーザーの Shared Access Signature を短時間 (たとえば 30 分) で作成します。クライアントは、HEAD を使用して更新されたメディア ファイルをチェックするメディア プレーヤーであり、Last-modified ヘッダーが異なる場合、GET 要求を行います。したがって、私は SAS URL を作成したくありませんが、HEAD 要求に応答して LAst-modified、Etag、および Content-length ヘッダーを返します。これは悪い習慣ですか?ファイルが最新の場合は、ファイルを再度ダウンロードする必要がないため、SAS URL を作成する必要はありません。

リクエストの例:

GET /testblob.zip
Host: myblobapp.azurewebsites.net
Authorization: Zm9v:YmFy

応答:

HTTP/1.1 303 See other
Location: https://myblobstorage.blob.core.windows.net/blobcontainer/testblob.zip?SHARED_ACCESS_SIGNATURE_DATA

何かご意見は?

4

1 に答える 1

0

クライアントが最初に HEAD リクエストを行うように強制する特定の理由はありますか? 代わりに、サービスを使用して認証し、SAS トークンを取得し、Azure Storage に対して If-Modified-Since ヘッダーを使用して GET 要求を行い、最後のダウンロード以降に変更された場合にのみ BLOB をダウンロードできます。Azure Storage Blob サービスがサポートする条件付きヘッダーの詳細については、「Blob Service 操作の条件付きヘッダーの指定」を参照してください。

于 2014-10-01T03:26:47.447 に答える