结合样式表和脚本以减少 HTTP 请求现在已成为常识。我有两个问题:
- 它们真的有多贵?
- 什么时候请求太大而应该拆分?
这两个问题我在所有的在线阅读中都找不到答案,比如Yahoo! Best Practices其中多次指出 HTTP 请求很昂贵,但从未说明原因或方式。
提前致谢。
最佳答案
HTTP 请求需要建立 TCP/IP 连接(想想,3 次握手 handshaking)才能处理它自己的 HTTP 请求
这至少涉及向服务器发送 SYN 消息并返回 SYN/ACK(然后发送 ACK 以打开套接字)的延迟。
因此,假设客户端和服务器之间的延迟是统一的,并且是 50 毫秒,这会导致在发送 HTTP 请求之前有 100 毫秒的延迟。然后又过了 100 毫秒,它才开始返回实际请求(发送请求,然后服务器回复)。
当然,您还需要考虑到标准网络浏览器会限制它同时处理的并发 HTTP 请求的数量。如果您的请求必须等待,您就不会免费获得握手时间(可以这么说),因为您还需要等待另一个连接完成。服务器也发挥作用,具体取决于它们如何处理请求。
关于HTTP请求优化: What is the limit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1258043/