【问题标题】:Ajax calls vs. server side callsAjax 调用与服务器端调用
【发布时间】:2013-03-14 13:30:14
【问题描述】:

我正在为 Wordpress 构建一个 twitter 提要小部件,我必须处理的问题之一是 Twitter 的速率限制(每个帐户每小时 150 条推文)。我注意到,当我使用服务器端调用(例如file_get_contents())获取推文时,很快就会达到限制,尤其是在共享主机上。我尝试使用带有 jQ​​uery 的 getJSON 函数的客户端调用来获取推文,但达到速率限制需要更长的时间。

  • 客户端和客户端之间存在这种差异的原因是什么? 关于 Twitter 速率限制的服务器端调用?
  • 哪种方法更适合这种情况?

更新
我应该注意到,推文被缓存以避免达到速率限制,但这在从共享主机进行调用时无济于事。

【问题讨论】:

  • 听起来很直接,“未经身份验证的呼叫允许每小时 150 个请求。未经身份验证的呼叫是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。”因此,如果您希望每小时超过 150 次,请使用客户端。
  • 看看我是否正确 - 使用客户端调用,每个用户/客户端将获得 150 个调用?
  • OP 询问为什么使用不同方法达到速率限制的速度存在差异。
  • 是的,并且....调用是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。

标签: php jquery twitter client-side server-side


【解决方案1】:

当您使用服务器端调用时,所有调用都来自同一个 IP;所有用户都共享相同的 150 tweat/小时配额。

当您使用客户端调用时,它们的调用来自每个客户端的不同 IP。每个客户端每小时获得 150 次推文,因此所有客户端加起来可以获得更大的音量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    相关资源
    最近更新 更多