API:Etiquette/ru

Эта страница содержит рекомендации, которые следует соблюдать при использовании API.

Ограничение на запросы
Нет жёстко установленного ограничения на запросы чтения, но будьте учтивы и старайтесь не препятствовать работе сайта. Большинство системных администраторов оставляют за собой право заблокировать вас без предупреждения, если вы подвергаете угрозе стабильность их системы.

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


 * Используя символ вертикальной черты, когда это возможно, например, , вместо того, чтобы делать новый запрос для каждого заголовка.
 * Используя вместо выполнения запроса для каждого результата из другого запроса.

Используйте сжатие GZip при выполнении вызовов API, установив  для уменьшения использования полосы пропускания.

Обработка версий страниц парсером
Хотя с помощью параметра  можно запрашивать результаты из определённого номера версии, для серверов эта операция является ресурсоёмкой. Чтобы получить конкретную версию, используйте параметр. Например:

Параметр maxlag
Если ваша задача не интерактивна (то есть нет пользователя, ждущего результата), следует использовать параметр maxlag. Значение параметра  должно быть целым числом секунд. Например:

Это позволит избежать выполнения вашей задачи при высокой нагрузке на серверах. Более высокие значения означают более агрессивное поведение, более низкие значения — более сдержанное.

См. для более детальной информации.

Заголовок User-Agent
Рекомендуется задать описательный заголовок User Agent. Для этого используйте. Например, в PHP:

Не стоит просто копировать user-agent из популярного веб-браузера. Это гарантирует, что при возникновении проблемы отследить её источник будет легко.

Если вы вызываете API из JavaScript на основе браузера, вы можете не иметь возможности влиять на заголовок, зависящий от браузера. Чтобы обойти это, используйте заголовок.

См. API:Заглавная страница#Идентификация клиента и m:User-Agent policy для подробностей.

Форматы данных
All new API users. See for more details.

Производительность
Если вы пытаетесь понять, почему вы получаете результаты медленнее, чем вам бы хотелось, попробуйте обратиться к, чтобы получить помощь в рассматривании производительности в общем.

Если вы обнаруживаете, что чтение через API, а не напрямую из баз данных, сильно ухудшает производительность вашего клиента, рассмотрите возможность разместить его на Toolforge Викимедиа.

См. также

 * - Краткое руководство по началу работы.