GET请求中数据包大小的来源是什么?

时间:2013-08-19 01:27:01

标签: http networking

我正在分析来自不同网站的HTTP网络流量。我注意到网站之间的GET数据包大小不同。

我认为URI长度决定了数据包大小,但不同的网站有不同的值。例如,对于一个网站,“GET /”的大小为339,而另一个网站的大小为390.

另外,我注意到一些URI文本较长的网站的GET数据包大小较小,反之亦然。

谁负责GET数据包的大小?它是浏览器,客户端,服务器还是谁?

由于

1 个答案:

答案 0 :(得分:0)

首先,您观察到的差异可能是由于不同的主机标头或客户端与服务器之间的cookie传递,尽管referrer可能是另一个变异来源。

给定的GET数据包具有以下格式。在以下示例的情况下,数据包大小为361字节。

GET / HTTP/1.1\r\n
Host: google.com\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)\r\n
Accept: */*\r\n
Accept-Language: en-us,en;q=0.5\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
\r\n
\r\n

第一行由URL决定;但是,所有后续行都是标题。客户端传递标头,以将预期响应的详细信息和当前请求传达给服务器。

此外,服务器的响应将是一个数据包。此数据包也将具有明确选择的标头,以将某些信息传达给另一方。