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.
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.