aboutsummaryrefslogtreecommitdiff
path: root/files/ru
diff options
context:
space:
mode:
authorСандро <warsan00@mail.ru>2021-10-18 13:33:45 +0500
committerGitHub <noreply@github.com>2021-10-18 11:33:45 +0300
commit9f8f535f3ed7bfe9f0bcd494830782fc9ec23c29 (patch)
tree9b75ced7dc9f794e993268f25464fd410b286043 /files/ru
parenta5244332483ce91b0be09cc7a6ef057a8d37884f (diff)
downloadtranslated-content-9f8f535f3ed7bfe9f0bcd494830782fc9ec23c29.tar.gz
translated-content-9f8f535f3ed7bfe9f0bcd494830782fc9ec23c29.tar.bz2
translated-content-9f8f535f3ed7bfe9f0bcd494830782fc9ec23c29.zip
(ru) Fix Push API page translation (#1358)
* Update index.html * Aligned with the English version - Move to Markdown - Fix translation errors * Update index.md Co-authored-by: Sasha Sushko <sushko@outlook.com> Co-authored-by: Alexey Pyltsyn <lex61rus@gmail.com>
Diffstat (limited to 'files/ru')
-rw-r--r--files/ru/web/api/push_api/index.html114
-rw-r--r--files/ru/web/api/push_api/index.md84
2 files changed, 84 insertions, 114 deletions
diff --git a/files/ru/web/api/push_api/index.html b/files/ru/web/api/push_api/index.html
deleted file mode 100644
index ce215777d0..0000000000
--- a/files/ru/web/api/push_api/index.html
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: Push API
-slug: Web/API/Push_API
-tags:
- - API
- - Ссылка
- - Уведомления
- - Экспериментальная
-translation_of: Web/API/Push_API
----
-<p>{{DefaultAPISidebar("Push API")}}{{SeeCompatTable}}</p>
-
-<p><strong>Push API</strong> даёт веб приложениям возможность получать сообщения отправленные с сервера, независимо от того, запущено ли веб приложение в фоне или даже загружено ли оно вообще пользователем. Это позволяет разработчикам посылать асинхронные сообщения и обновления пользователям которые подписались на них, как результат улучшается информированность пользователей о новом контенте</p>
-
-<div class="note">
-<p><strong>Примечание</strong>: Эта документация охватывает спецификацию W3C Push API ; если вы ищете документацию по запатентованной технологии Firefox OS , <a href="/en-US/docs/Web/API/Simple_Push_API">смотрите здесь</a>.</p>
-</div>
-
-<h2 id="Общие_сведения_об_использовании_push_уведомлений">Общие сведения об использовании push уведомлений</h2>
-
-<div class="warning">
-<p><span id="result_box" lang="ru"><span>При внедрении подписки PushManager, жизненно важно защищать запросы от CSRF/XSRF атак в вашем приложении.</span> </span><span lang="ru"><span> </span></span></p>
-
-<p><span lang="ru"><span>Дополнительную информацию см. В следующих статьях:</span></span></p>
-
-<ul>
- <li><a href="https://habr.com/post/318748/">Методы защиты от CSRF-атаки</a></li>
- <li><a href="https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet">Site Request Forgery (CSRF) Prevention Cheat Sheet</a></li>
- <li><a href="/ru/docs/https://blog.codinghorror.com/preventing-csrf-and-xsrf-attacks/">Preventing CSRF and XSRF Attacks</a></li>
-</ul>
-</div>
-
-<p>Для получения push уведомлений приложение должно иметь активный <a href="/en-US/docs/Web/API/ServiceWorker_API">service worker</a>. Когда service worker активен, оно может подписаться на push уведомления используя {{domxref("PushManager.subscribe()")}}.</p>
-
-<p>Полученный объект {{domxref("PushSubscription")}} включает в себя всю необходимую информацию, которая может потребоваться приложению чтобы отправить push уведомление: адрес и ключ шифрования, необходимые для отправки данных.</p>
-
-<p>Service worker будет запущен для того чтобы обрабатывать входящие push сообщения, которые будут доставлены в {{domxref("ServiceWorkerGlobalScope.onpush")}} обработчик события. Это позволит приложению реагировать на push сообщения, к примеру показывать нотификации через метод {{domxref("ServiceWorkerRegistration.showNotification()")}}.</p>
-
-<p>Каждая подписка уникальна по отношению к service worker. Адрес для подписки это уникальный <a href="http://www.w3.org/TR/capability-urls/">capability URL</a>: всё что нужно чтобы отослать сообщение вашему приложению это адрес. Однако это URL необходимо держать в секрете, иначе любое другое приложение сможет слать push уведомление к вашему приложению.</p>
-
-<p>Использование service worker для получения push уведомлений может привести к повышенному потреблению ресурсов, например это может влиять на расход батареи. Во всех браузерах это работает по разному - нет стандарта на этот счёт. К примеру Firefox позволяет лишь ограниченное число уведомлений которое может быть отправлено приложению, а Chrome не имеет таких ограничений, однако обязывает показывать уведомление пользователю каждый раз, чтобы пользователь мог решить хочет он или нет принимать их дальше.</p>
-
-<div class="note">
-<p><strong>Примечание: </strong><span id="result_box" lang="ru"><span>Начиная с Gecko 44, разрешённая квота push-</span></span>уведомлений<span lang="ru"><span> для каждого приложения не увеличивается, в случае если новое уведомление срабатывает когда другое все ещё должна отображаться в течение трёх секунд.</span> <span>Это обрабатывает случаи, когда получены несколько Push </span></span>уведомлений подряд<span lang="ru"><span> и не все генерируют видимое уведомление.</span></span></p>
-</div>
-
-<div class="note">
-<p><strong>Примечание</strong>: Так же Chrome обязывает регистрировать проект в <a href="https://developers.google.com/cloud-messaging/">Google Cloud Messaging</a> для отправки push сообщений, а также использовать присвоенный номер проекта и API ключ когда отправляются push уведомления. К тому же требуется наличие манифеста приложения с некоторыми параметрами для использования этого сервиса. Возможно эти ограничения будут убраны в будущем.</p>
-</div>
-
-<h2 id="Интерфейсы">Интерфейсы</h2>
-
-<dl>
- <dt>{{domxref("PushEvent")}}</dt>
- <dd>Представляет собой push действие отправленное в <a href="/en-US/docs/Web/API/ServiceWorkerGlobalScope">global scope</a> {{domxref("ServiceWorker")}}-а. Содержит информацию отправленную в {{domxref("PushSubscription")}}.</dd>
- <dt>{{domxref("PushManager")}}</dt>
- <dd>Предоставляет способ для получения уведомлений из сторонних серверов, а также из URL запросов для push уведомлений. Этот интерфейс заменил устаревшую функциональность интерфейса {{domxref("PushRegistrationManager")}}.</dd>
- <dt>{{domxref("PushMessageData")}}</dt>
- <dd>Предоставляет доступ к push данным отправленным сервером и включает методы для манипулирования полученными данными.</dd>
- <dt>{{domxref("PushSubscription")}}</dt>
- <dd>Предоставляет конечную точку URL подписки и позволяет отписаться от push сервиса.</dd>
-</dl>
-
-<h2 id="Служебный_работник_дополнения">Служебный работник дополнения</h2>
-
-<p>Следующие дополнения к <a href="/en-US/docs/Web/API/Service_Worker_API">Service Worker API</a> описанные в спецификации Push API, представляют собой первостепенные действия для использования Push сообщений, а также для обработки push событий.</p>
-
-<dl>
- <dt>{{domxref("ServiceWorkerRegistration.pushManager")}} {{readonlyinline}}</dt>
- <dd>Возвращает ссылку на интерфейс {{domxref("PushManager")}} для манипулирования push подписок включая подписывание, получение активной подписки и доступ к статусу push разрешения. Это входная точка к обмену push сообщениями.</dd>
- <dt>{{domxref("ServiceWorkerGlobalScope.onpush")}}</dt>
- <dd>Данный обработчик событий вызывается всякий раз когда происходит событие {{Event("push")}}; то есть всегда когда принимается push сообщение сервера.</dd>
- <dt>{{domxref("ServiceWorkerGlobalScope.onpushsubscriptionchange")}}</dt>
- <dd>Данный обработчик событий вызывается всякий раз когда происходит событие {{Event("pushsubscriptionchange")}}; например, когда push подписка стала недействительной или собирается быть недействительной (к примеру, когда push сервис устанавливает время истечения.)</dd>
-</dl>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Спецификация</th>
- <th scope="col">Статус</th>
- <th scope="col">Комментарий</th>
- </tr>
- <tr>
- <td>{{SpecName("Push API")}}</td>
- <td>{{Spec2("Push API")}}</td>
- <td>Initial definition</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Совместимость_браузера">Совместимость браузера</h2>
-
-<h3 id="PushEvent"><code>PushEvent</code></h3>
-
-<p>{{Compat("api.PushEvent")}}</p>
-
-<h3 id="PushMessageData"><code>PushMessageData</code></h3>
-
-<p>{{Compat("api.PushMessageData")}}</p>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/API/Push_API/Using_the_Push_API">Using the Push API</a></li>
- <li><a href="http://updates.html5rocks.com/2015/03/push-notificatons-on-the-open-web">Push Notifications on the Open Web</a>, Matt Gaunt</li>
- <li><a href="/en-US/docs/Web/API/Service_Worker_API">Service Worker API</a></li>
-</ul>
-
-<div id="gtx-trans" style="position: absolute; left: 46px; top: 3314.75px;">
-<div class="gtx-trans-icon"></div>
-</div>
diff --git a/files/ru/web/api/push_api/index.md b/files/ru/web/api/push_api/index.md
new file mode 100644
index 0000000000..025bf1a681
--- /dev/null
+++ b/files/ru/web/api/push_api/index.md
@@ -0,0 +1,84 @@
+---
+title: Push API
+slug: Web/API/Push_API
+tags:
+ - API
+ - Push
+ - Landing
+ - Сервис-воркеры
+ - Экспериментальная технология
+ - Уведомления
+ - Определение
+---
+{{ApiRef("Push API")}}
+
+**Push API** предоставляет веб-приложениям возможность принимать сообщения с сервера независимо от того, запущено веб-приложение прямо сейчас или нет. Что в свою очередь позволяет разработчикам оперативно уведомлять пользователей, которые разрешили присылать себе уведомления о новом контенте.
+
+## Об использовании Push API
+
+> **Обратите внимание:** При использовании PushManager-подписок жизненно важно защищать запросы от CSRF/XSRF-атак в вашем приложении. Подробнее читайте по ссылкам:
+>
+> - [Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html)
+> - [Preventing CSRF and XSRF Attacks](https://blog.codinghorror.com/preventing-csrf-and-xsrf-attacks/)
+
+Для получения сообщений от сервера у приложения должен быть активированный [сервис-воркер](/ru/docs/Web/API/Service_Worker_API). После активации у сервис-воркера появится возможность подписаться на канал для получения сообщений, используя {{domxref("PushManager.subscribe()")}}.
+
+В результате подписки будет получен объект {{domxref("PushSubscription")}} со всей необходимой информацией, которая может потребоваться приложению для обращения за сообщениями на сервер: URL-адрес и ключ шифрования.
+
+После подписки сервис-воркеру можно добавить обработчик {{domxref("ServiceWorkerGlobalScope.onpush")}} для получения сообщений от сервера. В качестве реакции на сообщение можно, например, обращаться к серверу за данными и показывать пользователю уведомление с помощью метода {{domxref("ServiceWorkerRegistration.showNotification()")}}.
+
+Для сервис-воркера каждая подписка уникальна, а её URL-адрес — уникальная [специальная ссылка](https://www.w3.org/TR/capability-urls/). Поскольку это всё, что нужно для обращения к серверу, данную ссылку нужно держать в секрете, иначе любое другое приложение сможет воспользоваться вашим сервером.
+
+Для получения push-сообщений сервис-воркеру требуются ресурсы, что может влиять, например, на расход батареи. Во всех браузерах эти проблемы решаются по-разному, какого-то единого стандарта на этот счёт нет. Например, браузер Firefox ограничивает количество сообщений, которое можно отправить приложению, однако сообщения с показом уведомления в этот лимит не попадают. В Chrome таких ограничений нет.
+
+## Интерфейсы
+
+- {{domxref("PushEvent")}}
+ - : Описывает действие, направленное в [глобальную область видимости](/en-US/docs/Web/API/ServiceWorkerGlobalScope) {{domxref("ServiceWorker", "сервис-воркера")}}. Включает информацию, переданную сервером {{domxref("PushSubscription", "подписчикам")}}.
+- {{domxref("PushManager")}}
+ - : Предоставляет возможность подписаться на сообщения от сторонних серверов и получить URL-адрес для отправки push-уведомлений.
+- {{domxref("PushMessageData")}}
+ - : Содержит данные, отправленные сервером, и методы для управления ими.
+- {{domxref("PushSubscription")}}
+ - : Предоставляет возможность получить URL-адрес подписки, а также содержит метод для отписки.
+- {{domxref("PushSubscriptionOptions")}}
+ - : Описывает параметры конкретной подписки.
+
+## Методы сервис-воркера для работы c Push API
+
+Спецификация Push API расширяет [возможности сервис-воркеров](/ru/docs/Web/API/Service_Worker_API) для работы с push-сообщениями: позволяет отслеживать и реагировать на такие сообщения, а также следить за изменениями в подписках.
+
+- {{domxref("ServiceWorkerRegistration.pushManager")}} {{readonlyinline}}
+ - : Позволяет обратиться к интерфейсу по управлению подписками {{domxref("PushManager")}}, в том числе для добавления подписки, получения информации о текущей подписке, а также позволяет узнать о возможности отправки сообщений. Работа с push-сообщениями начинается с этого свойства сервис-воркера.
+- {{domxref("ServiceWorkerGlobalScope.onpush")}}
+ - : Обработчик событий, срабатывает всякий раз, когда происходит событие {{Event("push")}}; то есть при получении push-сообщений от сервера.
+- {{domxref("ServiceWorkerGlobalScope.onpushsubscriptionchange")}}
+ - : Обработчик событий, срабатывает всякий раз, когда происходит событие {{Event("pushsubscriptionchange")}}; будет полезен в ситуациях, когда подписка была просрочена или вот-вот будет просрочена (при условии, что для подписки был указан срок действия).
+
+## Примеры
+
+На [сайте-инструкции по работе с сервис-воркерами](https://serviceworke.rs/) от Mozilla вы найдёте множество примеров использования **Push API**.
+
+## Спецификации
+
+| Спецификация |
+| ------------------------------------------- |
+| [Push API](https://w3c.github.io/push-api/) |
+
+## Поддержка браузерами
+
+### `PushEvent`
+
+{{Compat("api.PushEvent")}}
+
+### `PushMessageData`
+
+{{Compat("api.PushMessageData")}}
+
+## Смотрите также
+
+- [Sending VAPID identified WebPush Notifications via Mozilla's Push Service](https://blog.mozilla.org/services/2016/08/23/sending-vapid-identified-webpush-notifications-via-mozillas-push-service/)
+- [Web Push Notifications: Timely, Relevant, and Precise](https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/), Joseph Medley
+- [Service Worker API](/en-US/docs/Web/API/Service_Worker_API)
+
+{{DefaultAPISidebar("Push API")}}