Windows Azure Blob存储使用指南
1. 操作成功反馈与ETag
当进行操作时,首先会收到一个2xx消息,表明操作成功。ETag头指定了服务器所看到的Blob的“版本”,在后续请求中,可以使用该ETag。最后,响应会包含一些标准的HTTP头。
2. MD5哈希
网络传输存在不确定性,即使有TCP、HTTP的握手和错误检查机制,数据包仍可能损坏。为防止数据损坏,可发送内容的哈希值到接收端。接收端计算接收到数据的哈希值,并与请求中的哈希值进行比较。若数据或哈希值在传输中损坏,检查将失败,发送方会收到通知。
在Windows Azure存储中,使用MD5进行哈希计算,有以下两种使用方式:
- 上传Blob时 :添加包含Blob的MD5哈希值的Content - MD5头。Blob服务器会计算接收到数据的MD5哈希值,若不匹配则返回错误(BadRequest)。
- 创建/覆盖Blob时 :服务器会发送接收到数据的MD5哈希值,客户端可验证该哈希值是否与数据的哈希值匹配。
虽然MD5哈希会对性能有一定影响,但现代CPU计算哈希值的速度很快,建议使用MD5来防止网络故障。
有人认为MD5“不安全”,因为研究表明可能产生两个哈希值相同的数据(“碰撞”)。但在Windows Azure中,使用MD5仅用于防止网络损坏,网络故障导致MD5碰撞的可能性极小。Windows Azure存储协议的安全性来自共享密钥和请求的HMAC - SHA256。
超级会员免费看
订阅专栏 解锁全文
445

被折叠的 条评论
为什么被折叠?



