HTTP内容协商/压缩:将Base64与Accept-Encoding / Content-Encoding一起使用?

时间:2012-08-14 06:32:38

标签: http base64 content-negotiation

我想知道以下想法是否违反HTTP Content NegotiationHTTP Compression的精神和/或字母。

情况

HTTP客户端请求资源:

HTTP GET /image.jpeg HTTP/1.1
Accept: image/jpeg

HTTP Server返回此资源:

HTTP/1.1 200 OK
Content-Type: image/jpeg

理念

客户认为请求资源编码

是个好主意
HTTP GET /image.jpeg HTTP/1.1
Accept: image/jpeg
Accept-Encoding: base64

服务器尊重此请求并返回编码的资源:

HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Encoding: base64

问题

我对这个想法不太满意。使用Accept-EncodingContent-Encoding标头的HTTP压缩是关于压缩数据,而不是增加其大小,如Base64所做的那样。< / p>

使用base64作为这些标头的值是否违反了HTTP内容协商和HTTP内容压缩的精神和/或字母?

1 个答案:

答案 0 :(得分:7)

RFC 2616 section 3.5(强调我的):

  

内容编码主要是      用于允许文档压缩或以其他方式有用      转换而不会丢失其基础媒体类型的身份      并且不会丢失信息。

您的想法完全符合HTTP的“精神和文字”。