How should proxies respond to the Storage Client's use of ETag/Last-Modified ?

Answered How should proxies respond to the Storage Client's use of ETag/Last-Modified ?

  • 2010년 10월 4일 월요일 오전 5:09
     
     

    I'm considering using Silverlight to directly access the Azure Storage backend and would like to know what should I expect from proxies that recognise the ETag/Last-Modified header?

    Is there a fairly common configuration or does it vary from vendor to vendor... implementation to implementation?

모든 응답

  • 2010년 10월 4일 월요일 오후 3:22
    답변자
     
     

    I'm considering using Silverlight to directly access the Azure Storage backend

    Depending on the intended use of your app you may want to consider the implications of exposing your storage account and key in Silverlight.

  • 2010년 10월 5일 화요일 오전 1:33
    중재자
     
     

    In addition, you can only add a cross domain policy file to blob storage. You cannot access queue/table from Silverlight directly due to the lack of this policy file. If you want to access blob storage from a Silverlight client directly, it is recommended to use SAS, or ristrict the client access to public containers only. This way you don't need to ship your account key with the client application.

    Regarding ETag, it is the same. If you need to update a blob, make sure to check ETag to avoid concurrency issues.


    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • 2010년 10월 5일 화요일 오후 3:15
     
     

    I'm considering using the SAS, but have been reading that proxies may behave strangely depending on the values of certain HTTP headers including the ETag/Last modified.

    I'm curious what real world testing has been done in this regard.

  • 2010년 10월 7일 목요일 오전 5:32
    중재자
     
     답변됨
    I'm not aware of any proxy issues that will modify HTTP headers like ETag. If you encounter such problems, it is likely there's a bug in the proxy. What's more, even if you access the REST service from Silverlight clients directly, the requests still have to go through a proxy. You have to work with storage from a service hosted somewhere else which is not affected by the proxy (such as in Windows Azure), and invoke the service from the Silverlight application. Then if your own service doesn't use HTTP headers, you won't have the proxy issue.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.