Add x-ms- request headers in Shared Access Signatures URI
As SAS is defined as a URI that grants restricted access rights to Azure Storage resources. I think it will be helpful to add custom headers to the URI. For example, the request for Put Blob could be https://...&...&x-ms-blob-type=BlockBlob. In this way, we can set what we need in the URI and just focus on it.
Marco Borm commented
It is still a paint that it is impossible to pass the SAS Url to some simple client that does a HTTP PUT because the "x-ms-blob-type" is required and can't be included in the SAS itself.
Alexander Klimetschek commented
SAS URLs are useful to be self-contained, standard HTTP, so that a remote client is not required to know about storage provider specific semantics. The required `x-ms-blob-type` header is effectively the only one that breaks this principle.
Although there are several x-ms-* header arguments this item especially count for mandatory header arguments like 'x-ms-blob-type' during a PUT.