2013-03-14 6 views
0

Я создаю виджет фида Twitter для Wordpress, и одной из проблем, с которыми мне приходится иметь дело, является ограничение скорости Twitter (150 твитов в час на счет). Я заметил, что когда я получаю твиты, используя вызовы на стороне сервера (например, file_get_contents()), ограничение достигается очень быстро, особенно на общем хосте. Я попытался получить твиты, используя вызовы на стороне клиента с функциейjQuery, и ограничение скорости заняло намного больше времени.Ajax вызывает вызовы на стороне сервера

  • В чем причина этой разницы между клиентскими и вызовами на стороне сервера, когда дело доходит до пределов ставки Twitter?
  • Какой метод был бы предпочтительнее для этого случая?

Update
Я хотел бы отметить, что твиты кэшируются, чтобы избежать удара пределы скорости, но это не помогает, когда вызовы выполняются из общего хозяина.

+1

Звучит довольно прямолинейно: «Неавторизованные вызовы разрешены на 150 запросов в час. Неаутентифицированные вызовы измеряются против публичного IP-адреса сервера или устройства, выполняющего запрос». Поэтому, если вы хотите, чтобы более 150 часов использовали клиент. – shapeshifter

+0

Посмотрите, получилось ли я правильно - используя вызовы на стороне клиента, я получу 150 вызовов на пользователя/клиента? –

+0

ОП спрашивает * почему * есть разница между тем, как быстро они достигли предела скорости, используя разные методы. – pdoherty926

ответ

1

При использовании вызовов на стороне сервера все вызовы поступают с одного и того же IP-адреса; все пользователи используют одну и ту же 150 квот на тонну/час.

Когда вы используете вызовы на стороне клиента, они звонят из разных IP-адресов для каждого клиента. Каждый клиент получает 150 твитов в час, поэтому все объединенные клиенты могут получить гораздо больший объем.

Смежные вопросы