HTTP请求优化:限制是什么?

时间:2009-08-11 01:21:08

标签: http optimization

现在,将样式表和脚本组合在一起以减少HTTP请求是常识。我有两个问题:

  1. 他们有多贵,真的吗?
  2. 什么时候请求太大,应该拆分?
  3. 在我所做的所有在线阅读中,我找不到这两个问题的答案,例如Yahoo! Best Practices,其中多次说明HTTP请求很昂贵,但从不引用为什么或如何。

    提前致谢。

3 个答案:

答案 0 :(得分:6)

HTTP请求需要进行TCP / IP连接(思考,3方握手握手)才能自行处理HTTP请求

这至少会延迟将SYN消息发送到服务器并恢复SYN / ACK(然后将ACK发送到OPEN套接字)。

因此,假设客户端和服务器之间的延迟是均匀的,并且是50ms,这导致在发送HTTP请求之前有100ms的延迟。然后再开始获取实际请求之前的另一个100毫秒(发送请求,然后服务器回复)。

当然,您还需要考虑标准Web浏览器同时限制它正在处理的并发HTTP请求的数量。如果你的请求必须等待,你就不会免费获得握手时间(可以这么说),因为你需要等待另一个连接完成。服务器也扮演着一个角色,具体取决于他们为请求提供服务的方式。

答案 1 :(得分:2)

  1. 每当提出请求时,它都会受到网络可靠性的严酷现实的影响。从同一位置快速连续发出的两个请求可能采用完全不同的路径,因此对于每个请求,您在性能方面添加了不可预测性的元素。单个合并请求可以帮助降低风险。 @Dan McG写了一篇关于TCP握手开销的声音。
  2. HTTP不关心请求 size,因为它在IP(Internet Protocol Suite)堆栈上充当应用层协议。这是为了担心TCP / IP 关于,出版商会关注的是保持文档/文件大小尽可能小,并且足够小以至于他们的应用程序足够高效。
  3. 希望这是有道理的。

答案 2 :(得分:1)

我对HTTP请求的成本没有答案,但减少客户端和服务器之间的往返总是一个好主意。如果您要传输固定数量的数据,最好在较少的请求中执行此操作。