我想确定响应标头的大小。我假设我可以通过从使用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 - Content
,Size - %b
还是Size - Content
?另外,任何人都可以告诉我为什么%0
和Size
之间存在差异?
答案 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中可用数据的标题。