该GET响应的Content-Length如何计算?

art*_*twl 3 get http http-content-length

响应头是:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?RDpcTkVUXFRlc3RcTXZjQXBwbGljYXRpb25UZXN0XGhvbWVcR2V0VGVzdA==?=
X-Powered-By: ASP.NET
Date: Tue, 24 Sep 2013 02:06:35 GMT
Content-Length: 129
Run Code Online (Sandbox Code Playgroud)

响应是:

This is a get
Run Code Online (Sandbox Code Playgroud)

如图: 在此处输入图片说明

在此处输入图片说明

我想知道Content-Length:129的计算方式,谢谢!

Htt*_*ort 5

Content-Length标头包含响应主体的大小(即标头之后的数据),以字节为单位。

在上面的示例中,使用了gzip压缩,因此129个字节指示字符串“ This is a get”需要129个字节才能通过gzip压缩进行传输。尽管压缩的目的是减小有效载荷的大小,但对于非常小的内容主体或如果内容已被压缩(例如图像),压缩可能具有相反的效果;

http://www.httpwatch.com/httpgallery/compression/

这篇博客文章解释了如何在HTTP响应中处理内容长度:

http://www.httpwatch.com/httpgallery/chunked/