API:Etiquette/ru

This page contains the best practices that should be followed when using the API.

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

Making your requests in series rather than in parallel, by waiting for one request to finish before sending a new request, should result in a safe request rate. It is also recommended that you ask for multiple items in one request by:


 * Using the pipe character whenever possible e.g , instead of making a new request for each title.
 * Using a instead of making a request for each result from another request.

Use GZip compression when making API calls by setting  to reduce bandwidth usage.

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

Используйте параметр maxlag
Если ваша задача не интерактивна (то есть нет пользователя, ждущего результата), следует использовать параметр maxlag. The value of the  parameter should be an integer number of seconds. For example:

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

See for more details.

Заголовок User-Agent
It is best practice to set a descriptive User Agent header. To do so, use. For example in PHP:

Не копируйте механически юзер-агент популярных веб-браузеров (если только ваш API-клиент — не приложение на JavaScript, работающее через соответствующий браузер с помощью Ajax и не способное в связи с этим изменять его юзер-агент). Это гарантирует, что при возникновении проблемы отследить её источник будет легко.

If you are calling the API from browser-based JavaScript, you may not be able to influence the  header, depending on the browser. To work around this, use the  header.

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

Data formats
All new API users. See for more details.

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

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