如何确定http响应头的大小?

时间:2013-12-03 04:25:50

标签: apache http-headers size google-chrome-devtools

我想确定响应标头的大小。我假设我可以通过从使用Chrome DevTools得出的组合大小中减去响应主体的大小来实现。

来自Chrome DevTools

  

大小是响应标头的组合大小(通常为几个   一百个字节)加上响应体,由服务器传递

.js文件的未压缩大小为375字节,由Content给出。 DevTools给出的合并size为701个字节。

此外,我从Apache access log获得以下信息,以记录相同.js文件的传输:

%b = 273 bytes (Size of response in bytes, excluding HTTP headers)
%O = 842 bytes (Bytes sent, including headers, cannot be zero)

我应该使用%0 - %b%0 - ContentSize - %b还是Size - Content?另外,任何人都可以告诉我为什么%0Size之间存在差异?

2 个答案:

答案 0 :(得分:12)

我不知道你需要什么工具,但是使用curl实用程序很容易计算shell,假设你有以下标题:

root@sup ~# curl -I  http://domain.com
HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Thu, 05 Dec 2013 19:40:40 GMT
Content-Type: text/html
Content-Length: 199
Last-Modified: Sun, 15 Sep 2013 17:06:37 GMT
Connection: keep-alive
Accept-Ranges: bytes

算一下:

root@sup ~# curl -s -w \%{size_header} -o /dev/null http://domain.com 
215

结果:215个字节。

答案 1 :(得分:0)

Apache中的%O 日志记录包含任何SSL开销,因此您在该图中实际拥有SSL字节+ header_bytes + compressed_content,而Chrome的 Size 似乎只有header_bytes + compressed_content。为了使其变得困难,Chrome的内容未压缩内容的大小。

根据你的数据,我在网络上说你有261个字节的标题+ 273个字节的压缩内容+308个字节的SSL字节,Chrome只告诉你内容的未压缩大小使得无法确定大小仅来自Chrome中可用数据的标题。