我需要一个2D数组(如Json)从服务器发送到客户端。它的大小约为400X400,每个条目大约有4个字符的文本。这样就可以获得大约640KB的数据。
以下哪种极端方法更好?
我认为最佳方法可能介于中间。任何人都可以告诉我这个数据的最佳单一请求大小。
谢谢,
答案 0 :(得分:7)
在提出请求时,您始终必须处理一些开销(如DNS请求,打开连接并关闭它)。因此,提出一个大请求可能更明智。
如果有一个大请求,你可能会遇到更好的gzip / deflate压缩。
答案 1 :(得分:4)
取决于您希望实现的应用程序和效果。以下是两种情况:
如果你正在处理一个GUI,那么或许chunking是一个好主意,一个小块会更新视觉效果,给人类带来“速度”的幻觉。在这里,您希望按照gui更新要求逻辑分块数据。您可以应用相同的概念来确定任何其他伪实时场景的优先级。
另一方面,如果你只是转储这些数据,那么就不要使用块,因为100个6字节的请求总体上要比1 600字节的请求更耗时。
然而,一般而言,网络数据包传输(TCP)分块和传递比在应用程序传输层(HTTP)上提供的任何内容都更加优化。多个请求/块表示多个片段。
尝试使用应用层协议进行传输层优化通常是徒劳的。而且,恕我直言,它挫败了两者的目的: - )
如果您因任何原因有实时要求,那么您应该控制传输本身并在那里进行优化(但似乎并非如此)。
快乐编码
答案 2 :(得分:3)
绝对有1个请求,如果在服务器上启用gzip压缩,则不会发送任何接近640KB的内容
所有页面速度优化工具(例如yslow,google page speed等)建议减少加快页面加载时间的请求数量。
答案 3 :(得分:-3)
少量的HTTP请求会更好,因此请提出一个请求。