我想知道以下想法是否违背了HTTP内容协商和HTTP压缩的精神和/或文字。
A. 情况
HTTP 客户端请求资源:
HTTP GET /image.jpeg HTTP/1.1
Accept: image/jpeg
HTTP 服务器返回以下资源:
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
问题
我对这个想法不太满意。HTTP 压缩(使用 Accept-Encoding
和 Content-Encoding
标头)是关于压缩数据,而不是像 Base64 那样增加其大小。
使用 base64
作为这些标头的值是否违反了 HTTP 内容协商和 HTTP 内容压缩的精神和/或文字?
RFC 2616 第 3.5 节(强调我的):
内容编码主要是用于允许压缩文档或以其他方式有用在不丢失其基础媒体类型标识的情况下进行转换并且不会丢失信息。
你的想法完全符合HTTP的"精神和文字"。