2011-05-04 41 views
3

目前在构建API的过程中,我想知道URL的长度是否对API的性能有任何影响?基于URL长度的API的性能

例如

具有K =代替API_KEY =在查询字符串,或者限制实际API_KEY到X字符,而不是32个字符(MD5散列例如)。

请记住,这个API将用于4-5个中等规模的网站

+1

你能解释一下你的意思吗?您是否在谈论解析URL所花费的时间? – Charles 2011-05-04 23:34:19

+4

不重要。 – KingCrunch 2011-05-04 23:34:37

+0

在服务器上加载实际请求的速度,但规模相当大 – Stoosh 2011-05-04 23:35:18

回答

2

有K =代替API_KEY =在查询字符串,或限制实际API_KEY到X字符,而不是32个字符(例如md5散列)。

速度差异会非常微小 - 六个字符与一个字符读取 - 这是完全无关紧要的。

请记住,虽然URLs don't have an RFC-spec length limit,由于IE问题,保持它们低于2000个字符是一般的做法。将两千个字符的查询字符串转换为可行的参数是无关紧要的,无论您使用何种编程语言。

如果你是认真担心URL解析的性能特点,我会打赌,你可能需要坐下来与一个代码分析器,并找出你的性能指标实际上是,因为你完全看错了地方。

+0

这是非常棒的信息,非常感谢。从带宽的角度来看呢? – Stoosh 2011-05-04 23:54:43

+1

@Stoosh,带宽可能是一个小问题,但我期望实际的API参数 - 而不是API密钥样板等 - 是一个更大的问题......并且完整的HTTP头文件是一个更大的问题。它会加起来。 (这种说法通常是关于具有较大价值的饼干。) – Charles 2011-05-05 00:08:37

+0

非常感谢您清理那些 – Stoosh 2011-05-05 00:13:35

2

它不会在服务器负载或速度上算很多,但可能在带宽上。 URL是发送到和接收API的HTTP消息的一部分,如果有很多,那么每个字节都会被计算出来,因为差异会被每个HTTP消息乘以。

但是queryinfo部分的大小只是它的一个非常小的方面 - 但是,它可能在你正在做的事情中扮演一个角色 - 我不能真正说出:)例如,如果带宽是瓶颈,那么你的优化想法可能会有所帮助(一点点)。

1

这将从来没有是你的瓶颈。

根本不用担心。