diff --git a/5-network/06-fetch-api/article.md b/5-network/06-fetch-api/article.md index 58080e4ed5..d5e2f7e15c 100644 --- a/5-network/06-fetch-api/article.md +++ b/5-network/06-fetch-api/article.md @@ -151,7 +151,7 @@ fetch('https://another.com/page', { ## cache -По умолчанию `fetch` делает запросы, используя стандартное HTTP-кеширование. То есть, учитывается заголовки `Expires`, `Cache-Control`, отправляется `If-Modified-Since` и так далее. Так же, как и обычные HTTP-запросы. +По умолчанию `fetch` делает запросы, используя стандартное HTTP-кеширование. То есть учитываются заголовки `Expires`, `Cache-Control`, отправляется `If-Modified-Since` и так далее. Так же, как и обычные HTTP-запросы. Настройка `cache` позволяет игнорировать HTTP-кеш или же настроить его использование: @@ -198,7 +198,7 @@ fetch('http://site.com/file', { Когда посетитель покидает нашу страницу - мы хотим сохранить собранные данные на нашем сервере. -Для этого мы можем использовать событие `window.onunload`: +Для этого мы можем использовать событие `unload` на объекте `window`: ```js run window.onunload = function() { @@ -217,7 +217,7 @@ window.onunload = function() { У неё есть ряд ограничений: - Мы не можем посылать мегабайты: лимит тела для запроса с `keepalive` - 64кб. - - Если мы собираем больше данных, можем отправлять их регулярно, "пакетами", тогда на момент последнего запроса в `onunload` их останется немного. - - Этот лимит распространяется на все запросы с `keepalive`. То есть, мы не можем его обойти, послав 100 запросов одновременно - каждый по 64Кбайт. -- Мы не сможем обработать ответ от сервера, если запрос сделан при `onunload`: в тот момент документ уже выгружен, его функции не сработают. - - Обычно сервер посылает пустой ответ на такие запросы, так что это не является проблемой. + - Если мы собираем больше данных, можем отправлять их регулярно, "пакетами", тогда на момент события `unload` их останется немного. + - Этот лимит распространяется на все запросы с `keepalive`. То есть мы не можем его обойти, послав 100 запросов одновременно - каждый по 64Кбайт. +- Мы не можем обработать ответ сервера, если документ выгружен. Поэтому в нашем примере `fetch` завершится успешно благодаря `keepalive`, но последующие функции не сработают. + - В большинстве случаев, например, при отправке статистики, это не проблема, поскольку сервер просто принимает данные и обычно отправляет пустой ответ на такие запросы.