Http 为什么Content-MD5标头是base64编码的?
因此,Content-MD5 HTTP头被删除,因为它的实现不一致。但是看着,我看到了这个奇怪的细节:Http 为什么Content-MD5标头是base64编码的?,http,Http,因此,Content-MD5 HTTP头被删除,因为它的实现不一致。但是看着,我看到了这个奇怪的细节: Content-MD5 = "Content-MD5" ":" md5-digest md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864> 比这更好吗 Content-MD5: 15b29ffdce66e10527a65bc6d71ad94d 正如deceze在评论中所说,您应该以MD5哈希为基础,而不是
Content-MD5 = "Content-MD5" ":" md5-digest
md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864>
比这更好吗
Content-MD5: 15b29ffdce66e10527a65bc6d71ad94d
正如deceze在评论中所说,您应该以MD5哈希为基础,而不是MD5哈希的十六进制表示形式。这会导致页眉变短:
Content-MD5: FbKf/c5m4QUnplvG1xrZTQ==
我想这是64进制编码,而不是二进制哈希值的十六进制编码。非二进制→ 十六进制→ 以64为基数,但为二进制→ 基数64;它具有明显的尺寸优势。关于细节/差异-似乎AWS也在某些地方使用了它。@deceze哦,当然!编码一个16字节的比特串比编码一个32字节的十六进制字符串要短。
Content-MD5: FbKf/c5m4QUnplvG1xrZTQ==