使用http压缩时的内容长度
客户端正在向http服务器发出范围请求0-1023。它更喜欢gzip压缩和 接受编码:gzip;q=1.0,同一性;q=0.5,*;q=0 在请求中 响应头中的内容长度是多少?它将是1024或压缩数据的大小使用http压缩时的内容长度,http,Http,客户端正在向http服务器发出范围请求0-1023。它更喜欢gzip压缩和 接受编码:gzip;q=1.0,同一性;q=0.5,*;q=0 在请求中 响应头中的内容长度是多少?它将是1024或压缩数据的大小 谢谢,这是1024或压缩大小中较小的一个 说: " [此答案的其余部分与所问的实际问题无关。我将其保留下来,因为有些人认为它很有用。] 关于内容长度,RFC 2616有以下说法(除其他外): 应用程序应使用此字段指示的传输长度 消息正文,除非第节中的规则禁止这样做 4.4 所以我们必须弄清楚
谢谢,这是1024或压缩大小中较小的一个 说: " [此答案的其余部分与所问的实际问题无关。我将其保留下来,因为有些人认为它很有用。] 关于内容长度,RFC 2616有以下说法(除其他外): 应用程序应使用此字段指示的传输长度 消息正文,除非第节中的规则禁止这样做 4.4 所以我们必须弄清楚传输长度是多少;(消息长度)说明了传输长度的两个方面: 消息的传输长度是消息正文的长度,如下所示: 它出现在消息中;也就是说,在任何传输编码被删除之后 已应用 如果存在内容长度标题字段(第14.13节),则其 以八位字节为单位的十进制值表示实体长度和长度 传输长度。如果发生以下情况,则不得发送内容长度标题字段 这两种长度不同 好的,我们知道在这种情况下,传输长度、实体长度和内容长度都有相同的值,并且都指“消息体在消息中显示的长度”,因此我们必须确定消息体是什么。关于消息体: HTTP消息的消息体(如果有)用于承载 与请求或响应关联的实体体。“ 那么什么是实体?对于这一点,你必须参考基本上所有的。(它还定义了实体长度。)最重要的是: 实体主体:=内容编码(内容类型(数据))
实体主体的长度(因此,我们根据4.4的内容长度值)是内容编码后的数据长度。实际内容长度取决于传输编码和数据:如果使用标识,则不应用压缩,内容长度为1024;如果使用gzip,实际内容长度取决于要压缩的数据。实际上,它将是1024,这是压缩数据的大小 错。我们讨论的是内容编码,而不是传输编码。这将是gzip压缩后内容的前1024字节。您的“错误”。是不正确的。我会接受“不完全”。我已经将剩余的线索添加到内容编码中。它仍然是不正确的。如果您使用内容编码:gzip请求1024字节的资源,您将得到1024字节(gzip)的资源。说得好——我今天没有仔细阅读这个问题,三年前可能不知道他所说的“范围请求”是什么意思。这意味着我们都错了。它将是1024或压缩大小中较小的一个。我发现这个答案很模糊。这是gzip数据的长度还是gzip之前的数据长度?手动gzip时(通过库等)请求头也是正确的