diff options
Diffstat (limited to 'files/ru')
88 files changed, 212 insertions, 212 deletions
diff --git a/files/ru/games/techniques/async_scripts/index.html b/files/ru/games/techniques/async_scripts/index.html index 2f50c87da4..483f8ceeb4 100644 --- a/files/ru/games/techniques/async_scripts/index.html +++ b/files/ru/games/techniques/async_scripts/index.html @@ -9,7 +9,7 @@ tags: translation_of: Games/Techniques/Async_scripts --- <div> -<p><font><font>Каждая средняя или большая игра должна компилировать </font><font>код </font></font><a href="https://developer.mozilla.org/en-US/docs/Games/Tools/asm.js"><font><font>asm.js</font></font></a><font><font> как часть асинхронного скрипта, чтобы дать браузеру максимальную гибкость для оптимизации процесса компиляции. </font><font>В Gecko асинхронная компиляция позволяет движку JavaScript компилировать asm.js из основного потока когда игра загружается, и кэшировать сгенерированный машинный код, так что игру не нужно компилировать при последующих загрузках (начиная с Firefox 28) , </font><font>Чтобы увидеть разницу, переключите </font></font><code>javascript.options.parallel_parsing</code><font><font>в </font></font><code>about:config</code><font><font>.</font></font></p> +<p><font><font>Каждая средняя или большая игра должна компилировать </font><font>код </font></font><a href="https://developer.mozilla.org/en-US/docs/Games/Tools/asm.js"><font><font>asm.js</font></font></a><font><font> как часть асинхронного скрипта, чтобы дать браузеру максимальную гибкость для оптимизации процесса компиляции. </font><font>В Gecko асинхронная компиляция позволяет движку JavaScript компилировать asm.js из основного потока когда игра загружается, и кешировать сгенерированный машинный код, так что игру не нужно компилировать при последующих загрузках (начиная с Firefox 28) , </font><font>Чтобы увидеть разницу, переключите </font></font><code>javascript.options.parallel_parsing</code><font><font>в </font></font><code>about:config</code><font><font>.</font></font></p> </div> <h2 id="Написание_асинхронного_скрипта"><font><font> Написание асинхронного скрипта</font></font></h2> diff --git a/files/ru/games/techniques/controls_gamepad_api/index.html b/files/ru/games/techniques/controls_gamepad_api/index.html index 2d4cc54bce..153a341c49 100644 --- a/files/ru/games/techniques/controls_gamepad_api/index.html +++ b/files/ru/games/techniques/controls_gamepad_api/index.html @@ -201,7 +201,7 @@ window.addEventListener("gamepaddisconnected", gamepadAPI.disconnect);</code> },</code> </pre> -<p>Существует два типа действий, которые следует учитывать для кнопки: одно нажатие и удержание. Логическая переменная <code>newPress </code>будет указывать, есть ли новое нажатие кнопки или нет. Затем мы проходим через массив нажатых кнопок — если данная кнопка совпадает с той, которую мы ищем, переменная <code>newPress </code>устанавливается в <code>true</code>. Чтобы проверить, является ли нажатие новым, так как игрок не держит клавишу, мы перебираем кэшированные состояния кнопок из предыдущего кадра игрового цикла. Если мы находим его там, это означает, что кнопка удерживается, поэтому нового нажатия нет. В конце концов возвращается переменная <code>newPress</code>. Функция <code>buttonPressed </code>используется в цикле обновления игры следующим образом:</p> +<p>Существует два типа действий, которые следует учитывать для кнопки: одно нажатие и удержание. Логическая переменная <code>newPress </code>будет указывать, есть ли новое нажатие кнопки или нет. Затем мы проходим через массив нажатых кнопок — если данная кнопка совпадает с той, которую мы ищем, переменная <code>newPress </code>устанавливается в <code>true</code>. Чтобы проверить, является ли нажатие новым, так как игрок не держит клавишу, мы перебираем кешированные состояния кнопок из предыдущего кадра игрового цикла. Если мы находим его там, это означает, что кнопка удерживается, поэтому нового нажатия нет. В конце концов возвращается переменная <code>newPress</code>. Функция <code>buttonPressed </code>используется в цикле обновления игры следующим образом:</p> <pre class="brush: js"><code>if(gamepadAPI.turbo) { if(gamepadAPI.buttonPressed('A','hold')) { diff --git a/files/ru/glossary/cache/index.html b/files/ru/glossary/cache/index.html index 872cdb76eb..6315c2d0d4 100644 --- a/files/ru/glossary/cache/index.html +++ b/files/ru/glossary/cache/index.html @@ -1,10 +1,10 @@ --- -title: Кэш +title: Кеш slug: Glossary/Cache translation_of: Glossary/Cache -original_slug: Словарь/Кэш +original_slug: Словарь/Кеш --- -<p><strong>Кэш </strong>(веб кэш или HTTP кэш) это компонент, который временно сохраняет HTTP ответы от сервера для того, чтобы их затем можно было использовать в последующих HTTP запросах, до тех пор пока он удовлетворяет некоторым условиям. </p> +<p><strong>Кеш </strong>(веб кеш или HTTP кеш) это компонент, который временно сохраняет HTTP ответы от сервера для того, чтобы их затем можно было использовать в последующих HTTP запросах, до тех пор пока он удовлетворяет некоторым условиям. </p> <h2 id="Learn_More">Learn More</h2> diff --git a/files/ru/glossary/cacheable/index.html b/files/ru/glossary/cacheable/index.html index 2bb6eed6a5..3746b80c14 100644 --- a/files/ru/glossary/cacheable/index.html +++ b/files/ru/glossary/cacheable/index.html @@ -1,5 +1,5 @@ --- -title: Кэшируемые методы +title: Кешируемые методы slug: Glossary/cacheable tags: - Glossary @@ -7,17 +7,17 @@ tags: translation_of: Glossary/cacheable original_slug: Словарь/cacheable --- -<p><strong>Кэшируемые</strong> ответы - это HTTP-ответы, которые могут быть закешированы, то есть сохранены для дальнейшего восстановления и использования позже, тем самым снижая число запросов к серверу. Не все HTTP-ответы могут быть закешированы. Вот несколько ограничений:</p> +<p><strong>Кешируемые</strong> ответы - это HTTP-ответы, которые могут быть закешированы, то есть сохранены для дальнейшего восстановления и использования позже, тем самым снижая число запросов к серверу. Не все HTTP-ответы могут быть закешированы. Вот несколько ограничений:</p> <ul> - <li>Метод, используемый в запросе, кэшируемый, если это {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}}. Ответ для {{HTTPMethod("POST")}} или {{HTTPMethod("PATCH")}} запросов может также быть закеширован, если указан признак "свежести" данных и установлен заголовок {{HTTPHeader("Content-Location")}}, но это редко реализуется. (Например, Firefox не поддерживает это согласно https://bugzilla.mozilla.org/show_bug.cgi?id=109553.) Другие методы, такие как {{HTTPMethod("PUT")}} и {{HTTPMethod("DELETE")}} не кэшируемые, и результат их выполнения не кэшируется.</li> - <li>Коды ответа, известные системе кэширования, которые рассматриваются как кэшируемые: {{HTTPStatus("200")}}, {{HTTPStatus("203")}}, {{HTTPStatus("204")}}, {{HTTPStatus("206")}}, {{HTTPStatus("300")}}, {{HTTPStatus("301")}}, {{HTTPStatus("404")}}, {{HTTPStatus("405")}}, {{HTTPStatus("410")}}, {{HTTPStatus("414")}}, {{HTTPStatus("501")}}.</li> - <li>Отсутствуют специальные заголовки в ответе, которые предотвращают кэширование: например, {{HTTPHeader("Cache-Control")}}.</li> + <li>Метод, используемый в запросе, кешируемый, если это {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}}. Ответ для {{HTTPMethod("POST")}} или {{HTTPMethod("PATCH")}} запросов может также быть закеширован, если указан признак "свежести" данных и установлен заголовок {{HTTPHeader("Content-Location")}}, но это редко реализуется. (Например, Firefox не поддерживает это согласно https://bugzilla.mozilla.org/show_bug.cgi?id=109553.) Другие методы, такие как {{HTTPMethod("PUT")}} и {{HTTPMethod("DELETE")}} не кешируемые, и результат их выполнения не кешируется.</li> + <li>Коды ответа, известные системе кеширования, которые рассматриваются как кешируемые: {{HTTPStatus("200")}}, {{HTTPStatus("203")}}, {{HTTPStatus("204")}}, {{HTTPStatus("206")}}, {{HTTPStatus("300")}}, {{HTTPStatus("301")}}, {{HTTPStatus("404")}}, {{HTTPStatus("405")}}, {{HTTPStatus("410")}}, {{HTTPStatus("414")}}, {{HTTPStatus("501")}}.</li> + <li>Отсутствуют специальные заголовки в ответе, которые предотвращают кеширование: например, {{HTTPHeader("Cache-Control")}}.</li> </ul> -<p>Обратите внимание, что некоторые некэшируемые запросы-ответы к определённым URI могут сделать недействительным (инвалидируют) предыдущие закешированные ответы на тех же URI. Например, {{HTTPMethod("PUT")}} к странице pageX.html инвалидируют все закешированные ответы {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запросов к этой странице.</p> +<p>Обратите внимание, что некоторые некешируемые запросы-ответы к определённым URI могут сделать недействительным (инвалидируют) предыдущие закешированные ответы на тех же URI. Например, {{HTTPMethod("PUT")}} к странице pageX.html инвалидируют все закешированные ответы {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запросов к этой странице.</p> -<p>Когда и метод запроса и статус ответа кэшированы, то ответ к запросу тоже может быть закеширован:</p> +<p>Когда и метод запроса и статус ответа кешированы, то ответ к запросу тоже может быть закеширован:</p> <pre>GET /pageX.html HTTP/1.1 (…) @@ -35,7 +35,7 @@ original_slug: Словарь/cacheable (…) </pre> -<p>Специальный заголовок {{HTTPHeader("Cache-Control")}} в ответе может предотвратить кэширование:</p> +<p>Специальный заголовок {{HTTPHeader("Cache-Control")}} в ответе может предотвратить кеширование:</p> <pre>GET /pageX.html HTTP/1.1 (…) @@ -49,12 +49,12 @@ Cache-Control: no-cache <h3 id="Основные">Основные</h3> <ul> - <li>Определение <a href="https://tools.ietf.org/html/rfc7231#section-4.2.3">кэшируемых методов</a> в спецификации HTTP.</li> + <li>Определение <a href="https://tools.ietf.org/html/rfc7231#section-4.2.3">кешируемых методов</a> в спецификации HTTP.</li> </ul> <h3 id="Технические">Технические</h3> <ul> - <li>Описание общих кэшируемых методов: {{HTTPMethod("GET")}}, {{HTTPMethod("HEAD")}}</li> - <li>Описание общих некэшируемых методов: {{HTTPMethod("PUT")}}, {{HTTPMethod("DELETE")}}, often {{HTTPMethod("POST")}}</li> + <li>Описание общих кешируемых методов: {{HTTPMethod("GET")}}, {{HTTPMethod("HEAD")}}</li> + <li>Описание общих некешируемых методов: {{HTTPMethod("PUT")}}, {{HTTPMethod("DELETE")}}, often {{HTTPMethod("POST")}}</li> </ul> diff --git a/files/ru/glossary/cdn/index.html b/files/ru/glossary/cdn/index.html index b3257cbc40..51984c66ac 100644 --- a/files/ru/glossary/cdn/index.html +++ b/files/ru/glossary/cdn/index.html @@ -18,5 +18,5 @@ original_slug: Словарь/CDN <ul> <li>Обслуживание статических ресурсов библиотек через CDN снижает нагрузку на запросы на наших собственных серверах.</li> <li>Большинство CDN имеют сервера по всему миру, поэтому сервера CDN могут быть географически ближе к вашим пользователям, чем ваши собственные сервера. Географическое расстояние пропорционально влияет на задержку.</li> - <li>CDN уже настроены с правильной конфигурацией кэша. Использование CDN сохраняет дальнейшую конфигурацию статических ресурсов на собственных серверах.</li> + <li>CDN уже настроены с правильной конфигурацией кеша. Использование CDN сохраняет дальнейшую конфигурацию статических ресурсов на собственных серверах.</li> </ul> diff --git a/files/ru/learn/common_questions/what_is_a_domain_name/index.html b/files/ru/learn/common_questions/what_is_a_domain_name/index.html index 2d77b02fcd..a624fc8e80 100644 --- a/files/ru/learn/common_questions/what_is_a_domain_name/index.html +++ b/files/ru/learn/common_questions/what_is_a_domain_name/index.html @@ -138,7 +138,7 @@ NOT FOUND <ol> <li>Напечатайте <code>mozilla.org</code> в адресной строке вашего браузера.</li> - <li>Ваш браузер спросит ваш компьютер, знает ли он уже, какому IP-адресу соответствует этот домен (используя локальный DNS-кэш). Если имя есть в кэше, оно транслируется в IP-адрес и браузер направляется к необходимому серверу. И всё.</li> + <li>Ваш браузер спросит ваш компьютер, знает ли он уже, какому IP-адресу соответствует этот домен (используя локальный DNS-кеш). Если имя есть в кеше, оно транслируется в IP-адрес и браузер направляется к необходимому серверу. И всё.</li> <li>Если же ваш компьютер не знает, какой IP-адрес соответствует доменному имени <code>mozilla.org</code>, он запрашивает DNS-сервер, чья задача - сообщить вашему компьютеру какой IP-адрес соответствует запрошенному доменному имени.</li> <li>Теперь ваш компьютер знает соответствие и может взаимодействовать с сервером.</li> </ol> diff --git a/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html b/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html index 5cbf27d355..cbe268140c 100644 --- a/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html +++ b/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html @@ -24,15 +24,15 @@ original_slug: Web/Guide/HTML/Tips_for_authoring_fast-loading_HTML_pages <p>Уменьшение количества файлов, на которые есть ссылки на веб-странице, уменьшает количество HTTP-соединений, необходимых для загрузки страницы, тем самым сокращая время отправки этих запросов и получения их ответов.</p> -<p>В зависимости от настроек кэша браузера он может отправить запрос с заголовком <code>If-Modified-Since</code> для каждого ссылочного файла, спрашивая, был ли файл изменён с момента последней загрузки. Слишком много времени, затрачиваемое на запрос времени последнего изменения указанных файлов, может задержать первоначальное отображение веб-страницы, так как браузер должен проверить время изменения каждого из этих файлов перед отображением страницы.</p> +<p>В зависимости от настроек кеша браузера он может отправить запрос с заголовком <code>If-Modified-Since</code> для каждого ссылочного файла, спрашивая, был ли файл изменён с момента последней загрузки. Слишком много времени, затрачиваемое на запрос времени последнего изменения указанных файлов, может задержать первоначальное отображение веб-страницы, так как браузер должен проверить время изменения каждого из этих файлов перед отображением страницы.</p> -<p>Если вы часто используете фоновые изображения в своём CSS, вы можете уменьшить количество запросов на поиск HTTP, объединив изображения в одно, называемое спрайтом изображения. Затем вы просто применяете одно и то же изображение каждый раз, когда вам это нужно для фона, и соответственно корректируете координаты x / y. Этот метод лучше всего работает с элементами, которые будут иметь ограниченные размеры, и не будет работать для каждого использования фонового изображения. Тем не менее, меньшее количество HTTP-запросов и кэширование одного изображения может помочь сократить время загрузки страницы.</p> +<p>Если вы часто используете фоновые изображения в своём CSS, вы можете уменьшить количество запросов на поиск HTTP, объединив изображения в одно, называемое спрайтом изображения. Затем вы просто применяете одно и то же изображение каждый раз, когда вам это нужно для фона, и соответственно корректируете координаты x / y. Этот метод лучше всего работает с элементами, которые будут иметь ограниченные размеры, и не будет работать для каждого использования фонового изображения. Тем не менее, меньшее количество HTTP-запросов и кеширование одного изображения может помочь сократить время загрузки страницы.</p> <h3 id="Используйте_сеть_доставки_(и_дистрибуции)_содержимого_(Content_Delivery_Network_(CDN))"><strong>Используйте сеть доставки (и дистрибуции) содержимого (</strong>Content Delivery Network (CDN)<strong>)</strong></h3> <p>Для целей этой статьи CDN - это средство уменьшения физического расстояния между вашим сервером и вашим посетителем. По мере увеличения расстояния между вашим сервером и посетителем время загрузки будет увеличиваться. Предположим, ваш сервер веб-сайта находится в Соединённых Штатах и имеет посетителя из Индии; время загрузки страницы будет намного выше для индийского посетителя по сравнению с посетителем из США.</p> -<p>CDN - это географически распределённая сеть серверов, которые работают вместе, чтобы сократить расстояние между пользователем и вашим сайтом. CDN хранят кэшированные версии вашего веб-сайта и предоставляют их посетителям через ближайший к пользователю сетевой узел, тем самым снижая задержку</p> +<p>CDN - это географически распределённая сеть серверов, которые работают вместе, чтобы сократить расстояние между пользователем и вашим сайтом. CDN хранят кешированные версии вашего веб-сайта и предоставляют их посетителям через ближайший к пользователю сетевой узел, тем самым снижая задержку</p> <p>Дальнейшее чтение:</p> @@ -46,13 +46,13 @@ original_slug: Web/Guide/HTML/Tips_for_authoring_fast-loading_HTML_pages <p>Это не всегда может быть практичным; однако вы всегда должны позаботиться об использовании только минимально необходимого количества разных доменов на своих страницах.</p> -<h3 id="Cache_reused_content" name="Cache_reused_content">Кэшируйте повторно использованный контент</h3> +<h3 id="Cache_reused_content" name="Cache_reused_content">Кешируйте повторно использованный контент</h3> -<p>Убедитесь, что любой контент, который может быть кэширован, кэширован и имеет подходящее время истечения.</p> +<p>Убедитесь, что любой контент, который может быть кеширован, кеширован и имеет подходящее время истечения.</p> -<p>В частности, обратите внимание на заголовок <code>Last-Modified</code>. Это позволяет эффективно кэшировать страницы; с помощью этого заголовка агенту пользователя передаётся информация о файле, который он хочет загрузить, например, когда он был последний раз изменён. Большинство веб-серверов автоматически добавляют заголовок <code>Last-Modified</code> к статическим страницам (напр. <code>.html</code>, <code>.css</code>), на основе даты последнего изменения, хранящейся в файловой системе. С динамическими страницами (напр. <code>.php</code>, <code>.aspx</code>), это, конечно, не может быть сделано, и заголовок не отправляется.</p> +<p>В частности, обратите внимание на заголовок <code>Last-Modified</code>. Это позволяет эффективно кешировать страницы; с помощью этого заголовка агенту пользователя передаётся информация о файле, который он хочет загрузить, например, когда он был последний раз изменён. Большинство веб-серверов автоматически добавляют заголовок <code>Last-Modified</code> к статическим страницам (напр. <code>.html</code>, <code>.css</code>), на основе даты последнего изменения, хранящейся в файловой системе. С динамическими страницами (напр. <code>.php</code>, <code>.aspx</code>), это, конечно, не может быть сделано, и заголовок не отправляется.</p> -<p>Так, в частности, для страниц, которые генерируются динамически, небольшое исследование по этой теме полезно. Это может быть несколько сложным, но это сэкономит много запросов страниц на страницах, которые обычно не могут быть кэшированы.</p> +<p>Так, в частности, для страниц, которые генерируются динамически, небольшое исследование по этой теме полезно. Это может быть несколько сложным, но это сэкономит много запросов страниц на страницах, которые обычно не могут быть кешированы.</p> <p>Больше информации:</p> diff --git a/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html b/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html index 280493b6bd..a63873660e 100644 --- a/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html +++ b/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html @@ -714,7 +714,7 @@ Promise.all([mp4Blob, webmBlob]).then(function(values) { <p>Внутри обработчика <code>install</code> мы используем метод {{domxref("ExtendableEvent.waitUntil()")}}, доступном в объекте события, чтобы сигнализировать, что работа продолжается, и браузер не должен завершать установку, пока все задачи внутри блока не будут выполнены.</p> -<p>Здесь мы видим Cache API в действии. Мы используем метод {{domxref("CacheStorage.open()")}} для открытия нового объекта кэша, в котором ответы могут быть сохранены (похоже на объект хранилища IndexedDB). Обещание выполнится с объектом {{domxref("Cache")}}, представляющим собой кэш <code>video-store</code> . Затем мы используем метод {{domxref("Cache.addAll()")}} для получения ресурсов и добавления ответов в кэш.</p> +<p>Здесь мы видим Cache API в действии. Мы используем метод {{domxref("CacheStorage.open()")}} для открытия нового объекта кеша, в котором ответы могут быть сохранены (похоже на объект хранилища IndexedDB). Обещание выполнится с объектом {{domxref("Cache")}}, представляющим собой кеш <code>video-store</code> . Затем мы используем метод {{domxref("Cache.addAll()")}} для получения ресурсов и добавления ответов в кеш.</p> <pre class="brush: js notranslate">self.addEventListener('install', function(e) { e.waitUntil( @@ -733,13 +733,13 @@ Promise.all([mp4Blob, webmBlob]).then(function(values) { <h4 id="Отвечаем_на_последующие_запросы">Отвечаем на последующие запросы</h4> -<p>Когда сервис-воркер зарегистрирован и установлен на странице HTML и сопутствующие ресурсы добавлены в кэш, все практически готово. Нужно сделать ещё одну вещь - написать код для ответа на дальнейшие сетевые запросы.</p> +<p>Когда сервис-воркер зарегистрирован и установлен на странице HTML и сопутствующие ресурсы добавлены в кеш, все практически готово. Нужно сделать ещё одну вещь - написать код для ответа на дальнейшие сетевые запросы.</p> <p>Это то, что делает вторая часть кода файла <code>sw.js</code>. Мы добавили ещё один обработчик к сервис-воркеру в глобальной области видимости, который запускает функцию-обработчик при событии <code>fetch</code>. Это происходит всякий раз, когда браузер делает запрос ресурса в директорию, где зарегистрирован сервис-воркер.</p> <p>Внутри обработчика, мы сначала выводим в консоль URL запрашиваемого ресурса. Затем отдаём особый ответ на запрос, используя метод {{domxref("FetchEvent.respondWith()")}}.</p> -<p>Внутри блока мы используем {{domxref("CacheStorage.match()")}} чтобы проверить, можно ли найти соответствующий запрос (т.е. совпадение по URL) в кэше. Обещание возвращает найденный ответ или <code>undefined</code>, если ничего не нашлось.</p> +<p>Внутри блока мы используем {{domxref("CacheStorage.match()")}} чтобы проверить, можно ли найти соответствующий запрос (т.е. совпадение по URL) в кеше. Обещание возвращает найденный ответ или <code>undefined</code>, если ничего не нашлось.</p> <p>Если совпадение нашлось, то просто возвращаем его как особый ответ. В противном случае, используем <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch()</a> для запроса ресурса из сети.</p> @@ -764,7 +764,7 @@ Promise.all([mp4Blob, webmBlob]).then(function(values) { <li>перейдите в инструменты разработчика, выберите <em>Application > Service Workers</em>, нажмите галочку <em>Offline</em>, если используете Chrome.</li> </ul> -<p>Если обновите страницу с примером снова, вы увидите, что все работает как обычно. Все данные хранятся в офлайн хранилище — ресурсы страницы в кэше, а видео в базе данных IndexedDB.</p> +<p>Если обновите страницу с примером снова, вы увидите, что все работает как обычно. Все данные хранятся в офлайн хранилище — ресурсы страницы в кеше, а видео в базе данных IndexedDB.</p> <h2 id="Итого">Итого</h2> diff --git a/files/ru/learn/server-side/apache_configuration_htaccess/index.html b/files/ru/learn/server-side/apache_configuration_htaccess/index.html index d4b3ecee56..8e3e8c34df 100644 --- a/files/ru/learn/server-side/apache_configuration_htaccess/index.html +++ b/files/ru/learn/server-side/apache_configuration_htaccess/index.html @@ -33,6 +33,6 @@ ErrorDocument 500 /serverr.html # Перенаправит пользоват <p>Для дополнительной информации читайте статью <a href="http://techstream.org/Web-Development/HTACCESS/Error-Documents">Redirect your Traffic for Error Handling</a>.</p> -<p><strong>Кэширование: </strong>файл <span style="line-height: 1.572;">.htaccess может управлять кэшированием данных веб-браузером пользователя. Это ускорит загрузку страниц и сократит количество передаваемой информации между сервером и клиентом.</span></p> +<p><strong>Кеширование: </strong>файл <span style="line-height: 1.572;">.htaccess может управлять кешированием данных веб-браузером пользователя. Это ускорит загрузку страниц и сократит количество передаваемой информации между сервером и клиентом.</span></p> <p><strong>MIME типы</strong>: смотрите статью <a href="/en-US/docs/Properly_Configuring_Server_MIME_Types" title="Properly_Configuring_Server_MIME_Types">correct MIME types</a> для большей информации.</p> diff --git a/files/ru/learn/server-side/django/deployment/index.html b/files/ru/learn/server-side/django/deployment/index.html index 1a4227c25d..d5856754f6 100644 --- a/files/ru/learn/server-side/django/deployment/index.html +++ b/files/ru/learn/server-side/django/deployment/index.html @@ -192,7 +192,7 @@ with open('/etc/secret_key.txt') as f: <p>Heroku запускает сайты Django внутри одного, или более, изолированных друг от друга "<a href="https://devcenter.heroku.com/articles/dynos">Dynos</a>", которые являются виртуальными Unix-контейнерами, предоставляющими необходимое окружение для вашего приложения. Данные dynos полностью изолированы и имеют <em>эфемерную</em> файловую систему ("короткоживущая" файловая система, которая полностью очищается и обновляется каждый раз, когда dyno перезапускается). Единственной сущностью, которую предоставляет dynos по умолчанию, является приложение по <a href="https://devcenter.heroku.com/articles/config-vars">конфигурации переменных</a>. Heroku внутри себя применяет балансировщик загрузки для распределения веб-трафика среди всех "веб"-dynos. Поскольку dynos изолированы, Heroku может масштабировать приложение горизонтально, просто добавляя больше dynos (хотя, конечно, у вас может появиться необходимость расширить базу данных для обработки дополнительных соединений).</p> -<p>Файловая система эфемерна, поэтому вы не можете напрямую установить необходимые для вашего приложения сервисы (то есть, базы данных, очереди, системы кэширования, хранения, сервисы электронной почты и так далее). Взамен этого, Heroku предоставляет сервисы, доступные как независимые "дополнения" ("add-ons") либо от самой Heroku, или от сторонних разработчиков. В тот момент когда ваше приложение запускается в системе, dynos получает доступ к сервисам, используя информацию, содержащуюся в переменных настройки вашего приложения.</p> +<p>Файловая система эфемерна, поэтому вы не можете напрямую установить необходимые для вашего приложения сервисы (то есть, базы данных, очереди, системы кеширования, хранения, сервисы электронной почты и так далее). Взамен этого, Heroku предоставляет сервисы, доступные как независимые "дополнения" ("add-ons") либо от самой Heroku, или от сторонних разработчиков. В тот момент когда ваше приложение запускается в системе, dynos получает доступ к сервисам, используя информацию, содержащуюся в переменных настройки вашего приложения.</p> <p>Для того, чтобы выполнить ваше приложение Heroku необходимо иметь возможность установить соответствующее окружение и зависимости, а также понимать как его (приложение) запустить. В случае приложений Django мы предоставляем соответствующую информацию в нескольких текстовых файлах:</p> diff --git a/files/ru/learn/server-side/django/introduction/index.html b/files/ru/learn/server-side/django/introduction/index.html index 5bb12b1323..2d3fe384c6 100644 --- a/files/ru/learn/server-side/django/introduction/index.html +++ b/files/ru/learn/server-side/django/introduction/index.html @@ -47,7 +47,7 @@ original_slug: Learn/Server-side/Django/Введение <dd><em>Хэш пароля </em>—<em> это значение фиксированной длины, созданное путём обработки пароля через <a href="https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F">криптографическую хэш-функцию</a>. Django может проверить правильность введённого пароля, пропустив его через хэш-функцию и сравнив вывод с сохранённым значением хэша. Благодаря «одностороннему» характеру функции, даже если сохранённое хэш-значение скомпрометировано, злоумышленнику будет сложно определить исходный пароль.</em></dd> <dd>Django, по умолчанию, обеспечивает защиту от многих уязвимостей, включая SQL-инъекцию, межсайтовый скриптинг, подделку межсайтовых запросов и кликджекинг (см. <a href="https://wiki.developer.mozilla.org/ru/docs/Learn/Server-side/First_steps/%D0%92%D0%B5%D0%B1_%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C">Website security</a> для получения дополнительной информации об этих атаках).</dd> <dt>Масштабируемым</dt> - <dd>Django использует компонентную “<a href="https://en.wikipedia.org/wiki/Shared_nothing_architecture">shared-nothing</a>” архитектуру (каждая её часть независима от других и, следовательно, может быть заменена или изменена, если это необходимо). Чёткое разделение частей означает, что Django может масштабироваться при увеличении трафика, путём добавления оборудования на любом уровне: серверы кэширования, серверы баз данных или серверы приложений. Одни из самых загруженных сайтов успешно масштабировали Django (например, Instagram и Disqus, если назвать только два из них).</dd> + <dd>Django использует компонентную “<a href="https://en.wikipedia.org/wiki/Shared_nothing_architecture">shared-nothing</a>” архитектуру (каждая её часть независима от других и, следовательно, может быть заменена или изменена, если это необходимо). Чёткое разделение частей означает, что Django может масштабироваться при увеличении трафика, путём добавления оборудования на любом уровне: серверы кеширования, серверы баз данных или серверы приложений. Одни из самых загруженных сайтов успешно масштабировали Django (например, Instagram и Disqus, если назвать только два из них).</dd> <dt>Удобным в сопровождении</dt> <dd>Код Django написан с использованием принципов и шаблонов проектирования, которые поощряют создание поддерживаемого и повторно используемого кода. В частности, в нём используется принцип «Don't Repeat Yourself» (DRY, «не повторяйся»), поэтому нет ненужного дублирования, что сокращает объём кода. Django также способствует группированию связанных функциональных возможностей в повторно используемые «приложения» и, на более низком уровне, группирует связанный код в модули (в соответствии с шаблоном <a href="https://developer.mozilla.org/en-US/docs/Glossary/MVC">Model View Controller (MVC)</a>).</dd> <dt>Переносным</dt> @@ -58,7 +58,7 @@ original_slug: Learn/Server-side/Django/Введение <p>Django был разработан в период с 2003 по 2005 год командой, которая занималась созданием и обслуживанием газетных веб-сайтов. После создания нескольких сайтов, команда начала повторно использовать множество общего кода и шаблонов проектирования. Этот общий код эволюционировал в веб-фреймворк, который превратился в проект "Django" с открытым исходным кодом в июле 2005 года.</p> -<p>Django продолжает расти и улучшаться с момента его первого релиза (1.0) в сентябре 2008 года до недавно выпущенной версии 3.1 (2020). В каждой версии добавлены новые функциональные возможности и исправлены ошибки, начиная от поддержки новых типов баз данных, шаблонизаторов и кэширования, до добавления «общих» функций просмотра и классов (уменьшающих объём кода, который разработчики должны писать для ряда программных задач).</p> +<p>Django продолжает расти и улучшаться с момента его первого релиза (1.0) в сентябре 2008 года до недавно выпущенной версии 3.1 (2020). В каждой версии добавлены новые функциональные возможности и исправлены ошибки, начиная от поддержки новых типов баз данных, шаблонизаторов и кеширования, до добавления «общих» функций просмотра и классов (уменьшающих объём кода, который разработчики должны писать для ряда программных задач).</p> <div class="note"> <p><strong>Заметка</strong>: Ознакомьтесь с <a href="https://docs.djangoproject.com/en/3.1/releases/">примечаниями к версии</a> на сайте <span style="line-height: 1.5;">Django, чтобы увидеть что изменилось в последних версиях и как много работы было проделано, чтобы улучшить Django.</span></p> @@ -244,7 +244,7 @@ def index(request): <ul> <li><strong>Формы</strong>: HTML-формы используются для сбора пользовательских данных для обработки на сервере. Django упрощает создание, проверку и обработку формы.</li> <li><strong>Аутентификация пользователя и разрешения</strong>: Django включает надёжную систему аутентификации и авторизации пользователей, которая была построена с учётом безопасности.</li> - <li><strong>Кэширование:</strong> <span id="result_box" lang="ru"><span>Создание динамического </span></span><span lang="ru"><span>контента намного более интенсивно (и медленнее), чем обслуживание статического содержимого.</span> <span>Django обеспечивает гибкое кэширование, чтобы вы могли хранить всю или часть отображаемой страницы, для того, чтобы она не вызывалась повторно, за исключением случаев, когда это необходимо.</span></span></li> + <li><strong>Кеширование:</strong> <span id="result_box" lang="ru"><span>Создание динамического </span></span><span lang="ru"><span>контента намного более интенсивно (и медленнее), чем обслуживание статического содержимого.</span> <span>Django обеспечивает гибкое кеширование, чтобы вы могли хранить всю или часть отображаемой страницы, для того, чтобы она не вызывалась повторно, за исключением случаев, когда это необходимо.</span></span></li> <li><strong>Админ-панель: </strong>Административная панель в Django включена по умолчанию при создании приложения с использованием основного каркаса. Это упрощает управление админкой администраторам сайта для создания, редактирования и просмотра любых данных на вашем сайте.</li> <li><strong>Сериализация данных (преобразование в последовательную форму)</strong>: Django упрощает сериализацию и обслуживание ваших данных в таких форматах как XML или JSON. Это может быть полезно при создании веб-сервисов (веб-сайтов, которые исключительно служат для использования данных другими приложениями или сайтами и сами ничего не отображают) или при создании веб-сайта, на котором клиентский код обрабатывает весь рендеринг данных.</li> </ul> diff --git a/files/ru/learn/server-side/django/sessions/index.html b/files/ru/learn/server-side/django/sessions/index.html index c18053c836..8197cebbdc 100644 --- a/files/ru/learn/server-side/django/sessions/index.html +++ b/files/ru/learn/server-side/django/sessions/index.html @@ -48,7 +48,7 @@ original_slug: Learn/Server-side/Django/Сессии <p>Сессии являются механизмом, который использует Django (да и весь остальной "Интернет") для отслеживания "состояния" между сайтом и каким-либо браузером. Сессии позволяют вам хранить произвольные данные браузера и получать их в тот момент, когда между данным браузером и сайтом устанавливается соединение. Данные получаются и сохраняются в сессии при помощи соответствующего "ключа".</p> -<p>Django использует куки (cookie), которые содержат специальный <em>идентификатор сессии,</em> который выделяет среди остальных, каждый браузер и соответствующую сессию. Реальные <em>данные</em> сессии, по умолчанию, хранятся в базе данных сайта (это более безопасно, чем сохранять данные в куки, где они могут быть уязвимы для злоумышленников). Однако, у вас есть возможность настроить Django так, чтобы сохранять данные сессий в других местах (кэше, файлах, "безопасных" куки). Но всё же хранение по умолчанию является хорошей и безопасной возможностью.</p> +<p>Django использует куки (cookie), которые содержат специальный <em>идентификатор сессии,</em> который выделяет среди остальных, каждый браузер и соответствующую сессию. Реальные <em>данные</em> сессии, по умолчанию, хранятся в базе данных сайта (это более безопасно, чем сохранять данные в куки, где они могут быть уязвимы для злоумышленников). Однако, у вас есть возможность настроить Django так, чтобы сохранять данные сессий в других местах (кеше, файлах, "безопасных" куки). Но всё же хранение по умолчанию является хорошей и безопасной возможностью.</p> <h2 id="Подключение_сессий">Подключение сессий</h2> diff --git a/files/ru/learn/server-side/first_steps/web_frameworks/index.html b/files/ru/learn/server-side/first_steps/web_frameworks/index.html index 25b9ec408e..5a40c6e981 100644 --- a/files/ru/learn/server-side/first_steps/web_frameworks/index.html +++ b/files/ru/learn/server-side/first_steps/web_frameworks/index.html @@ -182,8 +182,8 @@ def youngest(request): </ul> </li> <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Производительность фреймворка / языка программирования:</strong> Обычно «скорость» не является самым значимым критерием при выборе, потому что даже относительно медленные среды выполнения, такие как Python, более чем «достаточно хороши» для сайтов среднего размера, работающих на умеренном оборудовании.</span> <span title="">Ожидаемым плюсам скорости другого языка, например</span> <span title="">C++ или JavaScript, могут быть противопоставлены минусы в виде затрат на его изучение и обслуживание. </span></span></li> - <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Поддержка кэширования:</strong> По мере того, как ваш сайт становится более успешным, вы можете столкнуться с тем, что он больше не справляется с количеством запросов, которые получает, когда пользователи им пользуются.</span> <span title="">На этом этапе вы можете рассмотреть возможность добавления поддержки кеширования.</span> <span title="">Кэширование — это оптимизация, при которой вы сохраняете весь веб-ответ или его часть так, чтобы его не нужно было пересчитывать при последующих запросах.</span> <span title="">Возврат кэшированного ответа гораздо быстрее, чем его вычисление.</span> <span title="">Кэширование может быть реализовано в вашем коде или на сервере (см. <a href="https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8">обратный прокси</a>).</span> <span title="">Веб-фреймворки будут иметь разные уровни поддержки для определения того, какой контент можно кэшировать.</span></span></li> - <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Масштабируемость.</strong> Как только ваш веб-сайт станет фантастически успешным, вы исчерпаете преимущества кэширования и даже достигнете пределов <em>вертикального масштабирования</em> (запуска веб-приложения на более мощном оборудовании).</span> <span title="">На этом этапе вам может потребоваться <em>масштабировать горизонтально</em> (разделить нагрузку, распределяя ваш сайт между несколькими веб-серверами и базами данных) или масштабировать «географически», потому что некоторые из ваших клиентов находятся далеко от вашего сервера.</span> <span title="">Веб-фреймворк, который вы выберете, может существенно повлиять на то, насколько легко масштабировать ваш сайт.</span></span></li> + <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Поддержка кеширования:</strong> По мере того, как ваш сайт становится более успешным, вы можете столкнуться с тем, что он больше не справляется с количеством запросов, которые получает, когда пользователи им пользуются.</span> <span title="">На этом этапе вы можете рассмотреть возможность добавления поддержки кеширования.</span> <span title="">Кеширование — это оптимизация, при которой вы сохраняете весь веб-ответ или его часть так, чтобы его не нужно было пересчитывать при последующих запросах.</span> <span title="">Возврат кешированного ответа гораздо быстрее, чем его вычисление.</span> <span title="">Кеширование может быть реализовано в вашем коде или на сервере (см. <a href="https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8">обратный прокси</a>).</span> <span title="">Веб-фреймворки будут иметь разные уровни поддержки для определения того, какой контент можно кешировать.</span></span></li> + <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Масштабируемость.</strong> Как только ваш веб-сайт станет фантастически успешным, вы исчерпаете преимущества кеширования и даже достигнете пределов <em>вертикального масштабирования</em> (запуска веб-приложения на более мощном оборудовании).</span> <span title="">На этом этапе вам может потребоваться <em>масштабировать горизонтально</em> (разделить нагрузку, распределяя ваш сайт между несколькими веб-серверами и базами данных) или масштабировать «географически», потому что некоторые из ваших клиентов находятся далеко от вашего сервера.</span> <span title="">Веб-фреймворк, который вы выберете, может существенно повлиять на то, насколько легко масштабировать ваш сайт.</span></span></li> <li><span class="tlid-translation translation" lang="ru"><span title=""><strong>Веб-безопасность.</strong> Некоторые веб-фреймворки предоставляют лучшую поддержку для обработки распространённых веб-атак.</span> <span title="">Например, Django очищает весь пользовательский ввод от HTML-шаблонов, чтобы введённый пользователем JavaScript не мог быть запущен.</span> <span title="">Другие платформы предоставляют аналогичную защиту, но она не всегда включена по умолчанию.</span></span></li> </ul> diff --git a/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html b/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html index e2e0d88104..a2c6d73d02 100644 --- a/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html +++ b/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html @@ -168,7 +168,7 @@ original_slug: MDN/Contribute/Creating_and_editing_pages <h2 id="Обновление_содержимого_страницы">Обновление содержимого страницы</h2> -<p>MDN поддерживает KumaScript макросы и интеграцию контента с других страниц, иногда кэширования страниц может быть затруднено по соображениям производительности. Страницы строятся из своих исходных мест, и их сборка может кэшироваться для дальнейших запросов. С этого момента макросы (шаблоны) или интеграции (используют макрос <code>Page</code>) не будут реагировать на дальнейшие изменения самих макросов, их выходных данных или контента интегрированных материалов.</p> +<p>MDN поддерживает KumaScript макросы и интеграцию контента с других страниц, иногда кеширования страниц может быть затруднено по соображениям производительности. Страницы строятся из своих исходных мест, и их сборка может кешироваться для дальнейших запросов. С этого момента макросы (шаблоны) или интеграции (используют макрос <code>Page</code>) не будут реагировать на дальнейшие изменения самих макросов, их выходных данных или контента интегрированных материалов.</p> <ul> <li>Чтобы вручную обновить страницу перезагрузите свой браузер. MDN заметит эту перестройку страницы и обновит выходные данные макроса и интегрированный контент на странице.</li> diff --git a/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html b/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html index 69b8a2c05b..026d0e81c0 100644 --- a/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html +++ b/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html @@ -21,7 +21,7 @@ translation_of: Mozilla/Developer_guide/Inner_and_outer_windows <p><img alt="window-strip.png" class="default internal" src="/@api/deki/files/4736/=window-strip.png"></p> -<p>По мере навигации пользователя документы добавляются в обратный кэш (часто называемый <strong>bfcache</strong>). По сути, это внутренние окна. Они отображаются во внешнем окне, которое содержится в "физическом" окне браузера.</p> +<p>По мере навигации пользователя документы добавляются в обратный кеш (часто называемый <strong>bfcache</strong>). По сути, это внутренние окна. Они отображаются во внешнем окне, которое содержится в "физическом" окне браузера.</p> <p>Но вот в чем трюк: внутреннее окно, по сути, претендует на внешнее окно. Если отображаемый в данный момент документ спросит "в каком я окне?", то в качестве ответа он получит внешнее окно. Это позволяет документу взаимодействовать с "физическим" окном, а внешнее окно может отслеживать все документы (внутренние окна), которые в нем содержатся. Другими словами, {{ domxref(" window") }} всегда возвращает внешнее окно.</p> diff --git a/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html b/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html index 0b4f4da4bd..17af7dbccd 100644 --- a/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html +++ b/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html @@ -1,5 +1,5 @@ --- -title: Использование кэширования в Firefox 1.5 +title: Использование кеширования в Firefox 1.5 slug: Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching translation_of: Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching original_slug: Using_Firefox_1.5_caching @@ -8,9 +8,9 @@ original_slug: Using_Firefox_1.5_caching <h3 id="Introduction" name="Introduction">Введение</h3> -<p><a href="/en/Firefox_1.5_for_developers" title="en/Firefox_1.5_for_developers">Firefox 1.5</a> использует кэширование целых Web-страниц, включая их JavaScript-состояния, в рамках сессии браузера. Переходы по посещённым страницам вперёд-назад не требуют загрузки страниц, а JavaScript-состояния сохраняются. Эта функция, обозначаемая иногда как <strong>bfcache</strong> (Back-Forward Cache), делает навигацию по страницам очень быстрой. Такое кэшированное состояние сохраняется, пока пользователь не закроет браузер.</p> +<p><a href="/en/Firefox_1.5_for_developers" title="en/Firefox_1.5_for_developers">Firefox 1.5</a> использует кеширование целых Web-страниц, включая их JavaScript-состояния, в рамках сессии браузера. Переходы по посещённым страницам вперёд-назад не требуют загрузки страниц, а JavaScript-состояния сохраняются. Эта функция, обозначаемая иногда как <strong>bfcache</strong> (Back-Forward Cache), делает навигацию по страницам очень быстрой. Такое кешированное состояние сохраняется, пока пользователь не закроет браузер.</p> -<p>Есть случаи, в которых Firefox не кэширует страницы. Вот некоторые обычные программные причины того, что страница не кэширована:</p> +<p>Есть случаи, в которых Firefox не кеширует страницы. Вот некоторые обычные программные причины того, что страница не кеширована:</p> <ul> <li>страница использует обработчик <code>unload</code> или <code>beforeunload</code>;</li> @@ -24,14 +24,14 @@ original_slug: Using_Firefox_1.5_caching </li> <li>страница не полностью загрузилась, когда пользователь ушёл с неё, или имеет прерванные сетевые запросы по другим причинам (например, <code>XMLHttpRequest</code>));</li> <li>страница имеет работающие IndexedDB-транзакции;</li> - <li>страница верхнего уровня содержит фреймы (например, {{ HTMLElement("iframe") }}), которые не кэшируются по одной из перечисленных здесь причин;</li> + <li>страница верхнего уровня содержит фреймы (например, {{ HTMLElement("iframe") }}), которые не кешируются по одной из перечисленных здесь причин;</li> <li>страница находится в фрейме и пользователь загружает новую страницу в этот фрейм (в этом случае, когда пользователь уходит со с этой страницы, последнее загруженное в фреймы содержимое есть то, что закешировано).</li> </ul> -<p>Эта новая функция кэширования меняет поведение загрузки страницы, так что Web-авторы могут захотеть:</p> +<p>Эта новая функция кеширования меняет поведение загрузки страницы, так что Web-авторы могут захотеть:</p> <ul> - <li>узнать, когда на страницу происходит переход (когда она загружается из пользовательского кэша);</li> + <li>узнать, когда на страницу происходит переход (когда она загружается из пользовательского кеша);</li> <li>определить поведение страницы, когда пользователь уходит со страницы (позволяя всё же странице быть закешированной).</li> </ul> @@ -39,7 +39,7 @@ original_slug: Using_Firefox_1.5_caching <h3 id="New_browser_events" name="New_browser_events">Новые события браузера</h3> -<p>Если вы используете эти новые события, ваши страницы продолжат правильно отображаться в других браузерах (мы протестировали старые версии Firefox, Internet Explorer, Opera и Safari), а при загрузке в Firefox 1.5 добавится новая функциональность кэширования.</p> +<p>Если вы используете эти новые события, ваши страницы продолжат правильно отображаться в других браузерах (мы протестировали старые версии Firefox, Internet Explorer, Opera и Safari), а при загрузке в Firefox 1.5 добавится новая функциональность кеширования.</p> <p>Примечание: по состоянию на октябрь 2009 года разработческие версии Safari добавили поддержку этих новых событий (см. <a class="link-https" href="https://bugs.webkit.org/show_bug.cgi?id=28758" title="https://bugs.webkit.org/show_bug.cgi?id=28758">webkit-баг</a>).</p> @@ -51,17 +51,17 @@ original_slug: Using_Firefox_1.5_caching <li>Как только страница загрузилась, срабатывает обработчик <code>onload</code>.</li> </ol> -<p>Некоторые страницы включают четвёртый шаг. Если страница использует обработчик <code>unload</code> или <code>beforeunload</code> handler, он срабатывает прежде чем пользователь уходит со страницы. Если присутствует обработчик <code>unload</code>, эта страница не будет кэширована.</p> +<p>Некоторые страницы включают четвёртый шаг. Если страница использует обработчик <code>unload</code> или <code>beforeunload</code> handler, он срабатывает прежде чем пользователь уходит со страницы. Если присутствует обработчик <code>unload</code>, эта страница не будет кеширована.</p> -<p>Когда пользователь переходит на кэшированную страницу, инлайновые скрипты и обработчик <code>onload</code> не запускаются (шаги 2 и 3), так как в большинстве случаев эффекты этих скриптов были сохранены.</p> +<p>Когда пользователь переходит на кешированную страницу, инлайновые скрипты и обработчик <code>onload</code> не запускаются (шаги 2 и 3), так как в большинстве случаев эффекты этих скриптов были сохранены.</p> -<p>Если страница содержит скрипты или иное поведение, запускаемое в течение загрузки, которое вы хотите продолжить выполнять каждый раз, когда пользователь заходит на страницу, или если вы хотите знать, когда пользователь заходит на кэшированную страницу, используйте новое событие <code>pageshow</code>.</p> +<p>Если страница содержит скрипты или иное поведение, запускаемое в течение загрузки, которое вы хотите продолжить выполнять каждый раз, когда пользователь заходит на страницу, или если вы хотите знать, когда пользователь заходит на кешированную страницу, используйте новое событие <code>pageshow</code>.</p> -<p>Если у вас есть поведение, запускаемое, когда пользователь уходит со страницы, но вы хотите воспользоваться новой функциональностью кэширования, и поэтому не хотите использовать обработчик unload, используйте новое событие <code>pagehide</code>.</p> +<p>Если у вас есть поведение, запускаемое, когда пользователь уходит со страницы, но вы хотите воспользоваться новой функциональностью кеширования, и поэтому не хотите использовать обработчик unload, используйте новое событие <code>pagehide</code>.</p> <h4 id="pageshow_event" name="pageshow_event">Событие pageshow</h4> -<p>Это событие работает так же, как событие <code>load</code>, но срабатывает каждый раз при загрузке страницы (в то время как событие <code>load</code> в Firefox 1.5 не срабатывает, когда страница загружается из кэша). При первой загрузке страницы событие <code>pageshow</code> срабатывает сразу после события <code>load</code>. Событие <code>pageshow</code> использует булевское свойство <code>persisted</code>, которое выставляется в <code>false</code> при начальной загрузке. Оно выставляется в <code>true</code>, если это не начальная загрузка (то есть когда страница уже кэширована).</p> +<p>Это событие работает так же, как событие <code>load</code>, но срабатывает каждый раз при загрузке страницы (в то время как событие <code>load</code> в Firefox 1.5 не срабатывает, когда страница загружается из кеша). При первой загрузке страницы событие <code>pageshow</code> срабатывает сразу после события <code>load</code>. Событие <code>pageshow</code> использует булевское свойство <code>persisted</code>, которое выставляется в <code>false</code> при начальной загрузке. Оно выставляется в <code>true</code>, если это не начальная загрузка (то есть когда страница уже кеширована).</p> <p>Выполняйте любой JavaScript-код, который должен отработать при каждой загрузке страницы, при срабатывании событий <code>pageshow</code>.</p> @@ -69,19 +69,19 @@ original_slug: Using_Firefox_1.5_caching <h4 id="pagehide_event" name="pagehide_event">Событие pagehide</h4> -<p>Если вы хотите определить поведение, которое происходит, когда пользователь уходит со страницы, но не хотите использовать событие <code>unload</code> (что воспрепятствовало бы кэшированию страницы), вы можете использовать новое событие <code>pagehide</code>. Как и <code>pageshow</code>, событие <code>pagehide</code> использует булевское свойство <code>persisted</code>. Оно выставляется в <code>false</code>, если страница не кэширована в браузере, а в <code>true</code>,— если кэширована. Когда это свойство выставлено в <code>false</code>, обработчик <code>unload</code>, если он есть, вызывается сразу после события <code>pagehide</code>.</p> +<p>Если вы хотите определить поведение, которое происходит, когда пользователь уходит со страницы, но не хотите использовать событие <code>unload</code> (что воспрепятствовало бы кешированию страницы), вы можете использовать новое событие <code>pagehide</code>. Как и <code>pageshow</code>, событие <code>pagehide</code> использует булевское свойство <code>persisted</code>. Оно выставляется в <code>false</code>, если страница не кеширована в браузере, а в <code>true</code>,— если кеширована. Когда это свойство выставлено в <code>false</code>, обработчик <code>unload</code>, если он есть, вызывается сразу после события <code>pagehide</code>.</p> -<p>Firefox 1.5 пытается имитировать события загрузки в том же порядке, в каком они срабатывают при начальной загрузке страницы. Фреймы обрабатываются таким же образом, что и документ верхнего уровня. Если страница содержит фреймы, то при загрузке кэшированной страницы:</p> +<p>Firefox 1.5 пытается имитировать события загрузки в том же порядке, в каком они срабатывают при начальной загрузке страницы. Фреймы обрабатываются таким же образом, что и документ верхнего уровня. Если страница содержит фреймы, то при загрузке кешированной страницы:</p> <ul> <li>События <code>pageshow</code> из каждого фрейма срабатывают перед событием <code>pageshow</code> в главном документе.</li> - <li>Когда пользователь уходит с кэшированной страницы, событие <code>pagehide</code> из каждого фрейма срабатывает перед событием <code>pagehide</code> в главном документе.</li> + <li>Когда пользователь уходит с кешированной страницы, событие <code>pagehide</code> из каждого фрейма срабатывает перед событием <code>pagehide</code> в главном документе.</li> <li>Для навигации, происходящей внутри отдельного фрейма, события срабатывают только в затронутом фрейме.</li> </ul> -<h4 id="pagehide_event" name="pagehide_event">Кэширование страницы несмотря на обработчики <code>unload</code> и <code>beforeunload</code></h4> +<h4 id="pagehide_event" name="pagehide_event">Кеширование страницы несмотря на обработчики <code>unload</code> и <code>beforeunload</code></h4> -<p>Если вы хотите использовать события <code>unload</code> или <code>beforeunload</code>, сохранив кэширование страницы, вы можете просто удалить эти события в обработчике события и восстановить их в обработчике <code>pageshow</code>, если возвращаетесь на эту страницу:</p> +<p>Если вы хотите использовать события <code>unload</code> или <code>beforeunload</code>, сохранив кеширование страницы, вы можете просто удалить эти события в обработчике события и восстановить их в обработчике <code>pageshow</code>, если возвращаетесь на эту страницу:</p> <pre>window.addEventListener('pageshow', PageShowHandler, false); window.addEventListener('unload', UnloadHandler, false); @@ -108,7 +108,7 @@ function UnloadHandler() { </ul> <ul> - <li>В Firefox 1.5 при загрузке страницы из кэша срабатывает только событие <code>pageshow</code>. Так как<code> persisted</code> установлено в <code>true</code>, вызывается только JavaScript-код в функции <code>onPageShow</code>.</li> + <li>В Firefox 1.5 при загрузке страницы из кеша срабатывает только событие <code>pageshow</code>. Так как<code> persisted</code> установлено в <code>true</code>, вызывается только JavaScript-код в функции <code>onPageShow</code>.</li> </ul> <p>В этом примере:</p> @@ -173,7 +173,7 @@ function loadOnlyFirst() { </html> </pre> -<p>Напротив, если приведённая выше страница не обрабатывает событие <code>pageshow</code> и выполняет все вычисления в обработчике события <code>load</code> (если код написан так, как показано в примере ниже), как положение курсора, так и дата/время в Firefox 1.5 будут кэшированы, когда пользователь уйдёт со страницы. Когда пользователь вернётся на страницу, отобразятся кешированные дата/время.</p> +<p>Напротив, если приведённая выше страница не обрабатывает событие <code>pageshow</code> и выполняет все вычисления в обработчике события <code>load</code> (если код написан так, как показано в примере ниже), как положение курсора, так и дата/время в Firefox 1.5 будут кешированы, когда пользователь уйдёт со страницы. Когда пользователь вернётся на страницу, отобразятся кешированные дата/время.</p> <pre><script> function onLoad() { diff --git a/files/ru/orphaned/web/manifest/serviceworker/index.html b/files/ru/orphaned/web/manifest/serviceworker/index.html index 8c1fe50334..642a7cc0d3 100644 --- a/files/ru/orphaned/web/manifest/serviceworker/index.html +++ b/files/ru/orphaned/web/manifest/serviceworker/index.html @@ -77,7 +77,7 @@ original_slug: Web/Manifest/serviceworker <tr> <td><code>update_via_cache</code></td> <td> - <p>Нужно ли обходить кэш пользовательского агента при получении рабочего сервиса.</p> + <p>Нужно ли обходить кеш пользовательского агента при получении рабочего сервиса.</p> </td> </tr> </tbody> diff --git a/files/ru/tools/network_monitor/index.html b/files/ru/tools/network_monitor/index.html index 3d3db1dc5a..9a923e0ca1 100644 --- a/files/ru/tools/network_monitor/index.html +++ b/files/ru/tools/network_monitor/index.html @@ -95,7 +95,7 @@ translation_of: Tools/Network_Monitor <li><img alt="" src="https://mdn.mozillademos.org/files/10941/200.png" style="height: 17px; width: 17px;"> зелёный круг - для успеха (коды 2XX)</li> <li><img alt="" src="https://mdn.mozillademos.org/files/10945/300.png" style="height: 17px; width: 17px;"> оранжевый треугольник - для перенаправления (3XX)</li> <li><img alt="" src="https://mdn.mozillademos.org/files/10943/4-500.png" style="height: 17px; width: 17px;"> красный квадрат - для ошибок (4XX и 5XX)</li> - <li><img alt="" src="https://mdn.mozillademos.org/files/10947/cached.png" style="height: 17px; width: 17px;"> серая окружность - для ответов, которые получены из кэша браузера.</li> + <li><img alt="" src="https://mdn.mozillademos.org/files/10947/cached.png" style="height: 17px; width: 17px;"> серая окружность - для ответов, которые получены из кеша браузера.</li> </ul> Точный код отображён сразу после значка.</li> <li><strong>Метод (</strong><strong>Method</strong><strong>)</strong>: <a href="/ru/docs/Web/HTTP/Methods">HTTP-метод</a> запроса.</li> @@ -114,7 +114,7 @@ translation_of: Tools/Network_Monitor <li><strong>Тип (</strong><strong>Type</strong><strong>)</strong>: <code>Content-type</code> ответа.</li> <li><strong>Куки</strong> (<strong>Cookies</strong>): Количество куки, связанных с запросом. (По умолчанию скрытая колонка. Новая в Firefox 55)</li> <li><strong>Set-Cookies</strong>: Количество куки, связанных с ответом. (По умолчанию скрытая колонка. Новая в Firefox 55)</li> - <li><strong>Передано</strong> <strong>(Transferred)</strong>: число байт, которые фактически были переданы для загрузки ресурса. Это число будет меньше, чем <strong>Размер</strong>, если ресурс был упакован. Начиная с Firefox 47, если ресурс был получен из кэша <a href="/ru/docs/Web/API/Service_Worker_API">service worker</a>, то в этой ячейке будет отображено "service worker". Если значение получено из кэша браузера - то "кэшировано".</li> + <li><strong>Передано</strong> <strong>(Transferred)</strong>: число байт, которые фактически были переданы для загрузки ресурса. Это число будет меньше, чем <strong>Размер</strong>, если ресурс был упакован. Начиная с Firefox 47, если ресурс был получен из кеша <a href="/ru/docs/Web/API/Service_Worker_API">service worker</a>, то в этой ячейке будет отображено "service worker". Если значение получено из кеша браузера - то "кешировано".</li> <li><strong>Размер</strong> <strong>(Size)</strong>: размер переданного ресурса.</li> </ul> @@ -304,7 +304,7 @@ translation_of: Tools/Network_Monitor </tr> <tr> <td><code>is</code></td> - <td><code>is:cached</code> и <code>is:from-cache</code> показывают только ресурсы, пришедшие из кэша.<br> + <td><code>is:cached</code> и <code>is:from-cache</code> показывают только ресурсы, пришедшие из кеша.<br> <code>is:running</code> показывает только ресурсы, передаваемые в настоящее время.</td> <td><code>is:cached</code><br> <code>-is:running</code></td> @@ -525,7 +525,7 @@ translation_of: Tools/Network_Monitor </tr> <tr> <td>Получение (Receiving)</td> - <td>Время на чтение полного ответа с сервера (или из кэша).</td> + <td>Время на чтение полного ответа с сервера (или из кеша).</td> </tr> </tbody> </table> @@ -577,7 +577,7 @@ translation_of: Tools/Network_Monitor <p>(Кроме того, если у вас только что открытый Сетевой монитор, и список запросов ещё пуст, то у вас будут "Часы" в главном окне.)</p> -<p>Сетевой монитор загрузит сайт дважды: первый раз с пустым кэшем браузера, а второй - с заполненным. Это имитирует вход пользователя на сайт впервые и последующие посещения. Он показывает результаты обоих запусков бок о бок горизонтально, либо вертикально, если окно браузера сжатое:</p> +<p>Сетевой монитор загрузит сайт дважды: первый раз с пустым кешем браузера, а второй - с заполненным. Это имитирует вход пользователя на сайт впервые и последующие посещения. Он показывает результаты обоих запусков бок о бок горизонтально, либо вертикально, если окно браузера сжатое:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/12864/nm-performance.png" style="display: block; height: 1028px; margin-left: auto; margin-right: auto; width: 691px;"></p> diff --git a/files/ru/tools/storage_inspector/index.html b/files/ru/tools/storage_inspector/index.html index afa2417aaf..1dea4ac3a2 100644 --- a/files/ru/tools/storage_inspector/index.html +++ b/files/ru/tools/storage_inspector/index.html @@ -10,7 +10,7 @@ translation_of: Tools/Storage_Inspector <p>Инспектор хранилища позволяет проверить различные типы хранилищ, которые веб-страница может использовать. В настоящее время он может быть использован для проверки следующих типов хранения:</p> <ul> - <li>Кэш хранилищ (новое в Firefox 47) - любых DOM кэшей созданных с помощью <a href="/en-US/docs/Web/API/Cache">Cache API</a>.</li> + <li>Кеш хранилищ (новое в Firefox 47) - любых DOM кешей созданных с помощью <a href="/en-US/docs/Web/API/Cache">Cache API</a>.</li> <li><em>Cookies - </em>Всех <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie">cookies</a>, созданных для страниц или элементов iframe внутри страниц.<br> Cookies, созданных как часть ответа для сетевых вызовов лишь на время работы ресурса.</li> <li><em>Local Storage</em> - Всех <a href="/en-US/docs/Web/API/Window/localStorage">local storage</a> элементов страниц или элементов iframe внутри страниц.</li> diff --git a/files/ru/tools/tools_toolbox/index.html b/files/ru/tools/tools_toolbox/index.html index 024d412795..70f95a20b8 100644 --- a/files/ru/tools/tools_toolbox/index.html +++ b/files/ru/tools/tools_toolbox/index.html @@ -159,7 +159,7 @@ translation_of: Tools/Tools_Toolbox <h3 id="Расширенные_настройки">Расширенные настройки</h3> <ul> - <li><em>Отключить кэш</em>: позволяет отключить кэш браузера, чтобы определить скорость загрузки всех данных из сети. Начиная с Firefox 33 и новее эта настройка сохраняемая. Это означает, что если Вы отключите кэш, закроете инструменты разработчика и откроете снова, то обнаружите, что кэш все ещё отключён. Тем не менее кэширование автоматически будет включено когда инструменты разработчика закрыты.</li> + <li><em>Отключить кеш</em>: позволяет отключить кеш браузера, чтобы определить скорость загрузки всех данных из сети. Начиная с Firefox 33 и новее эта настройка сохраняемая. Это означает, что если Вы отключите кеш, закроете инструменты разработчика и откроете снова, то обнаружите, что кеш все ещё отключён. Тем не менее кеширование автоматически будет включено когда инструменты разработчика закрыты.</li> <li><em>Отключить JavaScript</em>: позволяет выключить JavaScript (требуется перезагрузить страницу)</li> <li><em>Enable Service Workers over HTTP:</em> enable Service Worker registrations from insecure websites</li> <li><em>Включить отладку chrome и дополнений</em>: позволяет инструментам разработчика получить доступ к контексту самого браузера, а не только веб контента</li> diff --git a/files/ru/web/api/cachestorage/match/index.html b/files/ru/web/api/cachestorage/match/index.html index 15f417399b..1d50f0856d 100644 --- a/files/ru/web/api/cachestorage/match/index.html +++ b/files/ru/web/api/cachestorage/match/index.html @@ -37,7 +37,7 @@ translation_of: Web/API/CacheStorage/match <li><code>ignoreSearch</code>: {{domxref("Boolean")}} свойство. Определяет, следует ли игнорировать параметры запроса в строке url или нет. Например, если установлено <code>true</code>, параметры <code>?value=bar</code> запроса <code>http://foo.com/?value=bar</code> будут проигнорированы во время сопоставления. Значением по умолчанию является <code>false</code>.</li> <li><code>ignoreMethod</code>: {{domxref("Boolean")}} свойство. Когда установлено <code>true</code>, предотвращает проверку <code>http</code> метода запроса {{domxref("Request")}} (обычно разрешены только <code>GET</code> и <code>HEAD</code>.) По умолчанию установлено <code>false</code>.</li> <li><code>ignoreVary</code>: {{domxref("Boolean")}} свойство, определяющее, следует ли выполнять проверку заголовка <code>VARY.</code> Если установлено <code>true</code>, совпадения будут найдены, независимо от того, имеет ли {{domxref("Response")}} заголовок <code>VARY</code> или нет. По умолчанию установлено <code>false</code>.</li> - <li><code>cacheName</code>: Строка {{domxref("DOMString")}} - имя кэша для поиска.</li> + <li><code>cacheName</code>: Строка {{domxref("DOMString")}} - имя кеша для поиска.</li> </ul> </dd> </dl> @@ -52,7 +52,7 @@ translation_of: Web/API/CacheStorage/match <ol> <li>Проверяем, совпадения для запроса в {{domxref("CacheStorage")}} используя {{domxref("CacheStorage.match","CacheStorage.match()")}}. Если совпадение найдено, возвращаем response.</li> - <li>Если нет, открываем <code>v1</code> объект кэша, используя метод <code>open()</code>, добавляем изначальный запрос в кэш используя {{domxref("Cache.put","Cache.put()")}} и возвращаем клонированный объект запроса, используя <code>return response.clone()</code>. Это необходимо, потому что метод <code>put()</code> сохраняет в кэш тело запроса, изменяя, таким образом, изначальный запрос.</li> + <li>Если нет, открываем <code>v1</code> объект кеша, используя метод <code>open()</code>, добавляем изначальный запрос в кеш используя {{domxref("Cache.put","Cache.put()")}} и возвращаем клонированный объект запроса, используя <code>return response.clone()</code>. Это необходимо, потому что метод <code>put()</code> сохраняет в кеш тело запроса, изменяя, таким образом, изначальный запрос.</li> <li>Если произошла какая-либо ошибка (например, из-за проблем с сетью), возвращаем резервный ответ.</li> </ol> diff --git a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html index 83ef78542a..490a2af650 100644 --- a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html +++ b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html @@ -517,7 +517,7 @@ function roundedRect(ctx,x,y,width,height,radius){ <h2 id="Path2D_объекты">Path2D объекты</h2> -<p>Как мы видели в последнем примере, есть серия путей и команд для рисования объектов на вашем холсте. Чтобы упростить код и повысить производительность, объект {{domxref("Path2D")}}, доступный в последних версиях браузеров, позволяет вам кэшировать или записывать эти команды рисования. Вы можете быстро запускать свои пути.<br> +<p>Как мы видели в последнем примере, есть серия путей и команд для рисования объектов на вашем холсте. Чтобы упростить код и повысить производительность, объект {{domxref("Path2D")}}, доступный в последних версиях браузеров, позволяет вам кешировать или записывать эти команды рисования. Вы можете быстро запускать свои пути.<br> Давайте посмотрим, как мы можем построить объект <code>Path2D</code> :</p> <dl> diff --git a/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html b/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html index 74b0c60df0..f2e52fe8d4 100644 --- a/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html +++ b/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html @@ -44,7 +44,7 @@ myCanvas.getContext('2d').drawImage(myCanvas.offScreenCanvas, 0, 0); <h3 id="Не_масштабируйте_изображения_в_drawImage">Не масштабируйте изображения в <code>drawImage</code></h3> -<p>При загрузке кэшируйте изображения разных размеров на offscreen canvas, а не постоянно масштабируйте их в {{domxref("CanvasRenderingContext2D.drawImage", "drawImage()")}}.</p> +<p>При загрузке кешируйте изображения разных размеров на offscreen canvas, а не постоянно масштабируйте их в {{domxref("CanvasRenderingContext2D.drawImage", "drawImage()")}}.</p> <h3 id="Используйте_несколько_слоёв_canvas_для_сложных_сцен">Используйте несколько слоёв canvas для сложных сцен</h3> diff --git a/files/ru/web/api/console/index.html b/files/ru/web/api/console/index.html index 2ce6130800..492da3d118 100644 --- a/files/ru/web/api/console/index.html +++ b/files/ru/web/api/console/index.html @@ -237,7 +237,7 @@ function foo() { <ul> <li>По крайней мере в Firefox, если страница определяет свой объект <code>console</code>, то этот объект переопределяет объект <code>console</code>, встроенный в Firefox.</li> - <li>До {{Gecko("12.0")}}, методы объекта <code>console</code> работали только, если открыта панель "Веб-консоль" (Web Console). Начиная с {{Gecko("12.0")}}, вывод кэшируется до тех пор, пока панель Веб-консоль не откроется, и сразу отобразится в ней.</li> + <li>До {{Gecko("12.0")}}, методы объекта <code>console</code> работали только, если открыта панель "Веб-консоль" (Web Console). Начиная с {{Gecko("12.0")}}, вывод кешируется до тех пор, пока панель Веб-консоль не откроется, и сразу отобразится в ней.</li> <li>Стоит отметить, что встроенный в Firefox объект <code>console</code> совместим с таким же объектом, предоставляемым плагином <a class="external" href="http://getfirebug.com/" title="http://getfirebug.com/">Firebug</a>.</li> </ul> diff --git a/files/ru/web/api/document/write/index.html b/files/ru/web/api/document/write/index.html index 8d9e74c6a1..4964fc8fab 100644 --- a/files/ru/web/api/document/write/index.html +++ b/files/ru/web/api/document/write/index.html @@ -62,7 +62,7 @@ translation_of: Web/API/Document/write <div class="note"><strong>Замечание:</strong> В Edge вызов <code>document.write в </code>iframe более одного раза приводит к ошибке SCRIPT70: Доступ запрещён.</div> -<div class="note"><strong>Замечание:</strong> Начиная с версии 55, Chrome не исполняет элементы <code><script></code> вставленные посредством <code>document.write()</code> в случае отсутствия кэша HTTP для пользователей 2G подключения.</div> +<div class="note"><strong>Замечание:</strong> Начиная с версии 55, Chrome не исполняет элементы <code><script></code> вставленные посредством <code>document.write()</code> в случае отсутствия кеша HTTP для пользователей 2G подключения.</div> <h2 id="Спецификации"><font color="#ffffff" face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="background-color: #333333; font-size: 24px;">Спецификации</span></font></h2> diff --git a/files/ru/web/api/extendableevent/waituntil/index.html b/files/ru/web/api/extendableevent/waituntil/index.html index 0940ef1c50..771a71bed1 100644 --- a/files/ru/web/api/extendableevent/waituntil/index.html +++ b/files/ru/web/api/extendableevent/waituntil/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/ExtendableEvent/waitUntil <p><span class="seoSummary">Метод <code><strong>ExtendableEvent.waitUntil()</strong></code> сообщает диспетчеру событий, что выполняется действие. Также этот метод может быть использован, для того чтобы определить было ли то действие успешным. В рамках service workers, <code>waitUntil()</code> сообщает браузеру, что действие продолжается пока обещание не завершится (<em>promise settles</em>) и браузер не должен прерывать service worker если он хочет, чтобы это действие завершилось.</span></p> -<p>События <code>install</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> чтобы задержать service worker в {{domxref("ServiceWorkerRegistration.installing", "installing")}} фазе пока не завершатся задачи. Если обещание переданное в <code>waitUntil()</code> отклоняется, установка считается неудачной и устанавливаемый service worker отбрасывается. В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кэши на которые он зависит успешно не заполнены.</p> +<p>События <code>install</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> чтобы задержать service worker в {{domxref("ServiceWorkerRegistration.installing", "installing")}} фазе пока не завершатся задачи. Если обещание переданное в <code>waitUntil()</code> отклоняется, установка считается неудачной и устанавливаемый service worker отбрасывается. В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кеши на которые он зависит успешно не заполнены.</p> <p>События <code>activate</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> для размещения в буфере функциональных событий таких как <code>fetch</code> и <code>push</code> пока обещание переданное в <code>waitUntil()</code> не завершится успешно. Это даёт service worker время, чтобы обновить схемы базы данных и удалить устаревшие {{domxref("Cache", "caches")}}, таким образом другие события могут полагаться на полностью обновлённое состояние.</p> diff --git a/files/ru/web/api/file_and_directory_entries_api/introduction/index.html b/files/ru/web/api/file_and_directory_entries_api/introduction/index.html index bd5a67aa08..c1f0e10a2f 100644 --- a/files/ru/web/api/file_and_directory_entries_api/introduction/index.html +++ b/files/ru/web/api/file_and_directory_entries_api/introduction/index.html @@ -62,7 +62,7 @@ original_slug: Web/API/File_and_Directory_Entries_API/Введение <li>Приложение осуществляет предварительную фоновую загрузку ресурсов, благодаря чему у пользователя нет необходимости ожидать их загрузки для начала следующего уровня.</li> </ul> </li> - <li>Аудио- или фоторедактор с возможностью автономной работы или локальным кэшем. + <li>Аудио- или фоторедактор с возможностью автономной работы или локальным кешем. <ul> <li>Приложение может редактировать файлы без полной их перезаписи (например, ID3/EXIF теги).</li> </ul> diff --git a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html index c8d5463e7b..58ee18af30 100644 --- a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html +++ b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html @@ -60,7 +60,7 @@ original_slug: Web/API/Geolocation/Using_geolocation/Using_the_Geolocation_API <p>{{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}} и {{domxref("Geolocation.watchPosition()","watchPosition()")}} принимают колбэк-функцию при успехе, необязательную колбэк-функцию при ошибке и необязательный объект <code><a href="/ru/docs/Web/API/PositionOptions">PositionOptions</a></code>.</p> -<p>Этот объект позволяет вам включить возможность определения позиции с высокой точностью, указать максимальное время кэширования значения позиции (при повторных запросах, пока время не вышло, вам будет возвращается кэшированное значение; после браузер будет запрашивать актуальные данные), а также указать значение, устанавливающее интервал — как часто браузер должен пытаться получить данные о местоположении, прежде чем выйдет время.</p> +<p>Этот объект позволяет вам включить возможность определения позиции с высокой точностью, указать максимальное время кеширования значения позиции (при повторных запросах, пока время не вышло, вам будет возвращается кешированное значение; после браузер будет запрашивать актуальные данные), а также указать значение, устанавливающее интервал — как часто браузер должен пытаться получить данные о местоположении, прежде чем выйдет время.</p> <p>Вызов {{domxref("Geolocation.watchPosition()","watchPosition")}} может выглядит следующим образом:</p> diff --git a/files/ru/web/api/htmlaudioelement/index.html b/files/ru/web/api/htmlaudioelement/index.html index 639d1d85bd..4b869039aa 100644 --- a/files/ru/web/api/htmlaudioelement/index.html +++ b/files/ru/web/api/htmlaudioelement/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/HTMLAudioElement <h4 id="Описание">Описание</h4> -<p>Конструктор audio элемента. Свойство <code>preload</code> по умолчанию задано как <code>auto</code>, а <code>src</code> равно значению аргумента <em>URLString.</em> Перед воспроизведением, браузер асинхронно загружает объект в кэш и впоследствии берёт данные оттуда.</p> +<p>Конструктор audio элемента. Свойство <code>preload</code> по умолчанию задано как <code>auto</code>, а <code>src</code> равно значению аргумента <em>URLString.</em> Перед воспроизведением, браузер асинхронно загружает объект в кеш и впоследствии берёт данные оттуда.</p> <p>Параметры</p> diff --git a/files/ru/web/api/htmlcanvaselement/index.html b/files/ru/web/api/htmlcanvaselement/index.html index ddc54d776e..314baeb20c 100644 --- a/files/ru/web/api/htmlcanvaselement/index.html +++ b/files/ru/web/api/htmlcanvaselement/index.html @@ -44,7 +44,7 @@ translation_of: Web/API/HTMLCanvasElement <dt>{{domxref("HTMLCanvasElement.toDataURL()")}}</dt> <dd>Возвращает data-URL, который содержит представление картинки в формате. указанном в параметре <code>type</code> (по умолчанию <code>png</code>). Возвращаемая картинка имеет разрешение 96dpi.</dd> <dt>{{domxref("HTMLCanvasElement.toBlob()")}}</dt> - <dd>Создаёт объект {{domxref("Blob")}}, представляющий картинку, которая содержится в холсте. Этот файл может быть кэширован на диске или сохранён в памяти на усмотрение user agent.</dd> + <dd>Создаёт объект {{domxref("Blob")}}, представляющий картинку, которая содержится в холсте. Этот файл может быть кеширован на диске или сохранён в памяти на усмотрение user agent.</dd> <dt>{{domxref("HTMLCanvasElement.transferControlToOffscreen()")}} {{experimental_inline}}</dt> <dd>Передаёт управление объекту {{domxref("OffscreenCanvas")}}, либо в main thread либо в worker.</dd> <dt>{{domxref("HTMLCanvasElement.mozGetAsFile()")}} {{non-standard_inline}} {{deprecated_inline}}</dt> diff --git a/files/ru/web/api/htmlmediaelement/index.html b/files/ru/web/api/htmlmediaelement/index.html index 9223858223..1624801d49 100644 --- a/files/ru/web/api/htmlmediaelement/index.html +++ b/files/ru/web/api/htmlmediaelement/index.html @@ -181,7 +181,7 @@ translation_of: Web/API/HTMLMediaElement <dl> <dt>{{domxref("HTMLMediaElement.mozLoadFrom()")}} {{non-standard_inline}} {{deprecated_inline}}</dt> - <dd>Этот метод, доступный только в реализации Mozilla, загружает данные из другого медиа-элемента. Это работает аналогично load () за исключением того, что вместо обычного алгоритма выбора ресурса для источника просто устанавливается значение currentSrc другого элемента. Это оптимизировано, так что этот элемент получает доступ ко всем кэшированным и буферизованным данным другого элемента; фактически эти два элемента совместно используют загруженные данные, поэтому данные, загруженные любым из этих элементов, доступны обоим.</dd> + <dd>Этот метод, доступный только в реализации Mozilla, загружает данные из другого медиа-элемента. Это работает аналогично load () за исключением того, что вместо обычного алгоритма выбора ресурса для источника просто устанавливается значение currentSrc другого элемента. Это оптимизировано, так что этот элемент получает доступ ко всем кешированным и буферизованным данным другого элемента; фактически эти два элемента совместно используют загруженные данные, поэтому данные, загруженные любым из этих элементов, доступны обоим.</dd> </dl> <h2 id="События">События </h2> diff --git a/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html b/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html index e81311aaae..bc4b6c0373 100644 --- a/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html +++ b/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html @@ -21,7 +21,7 @@ translation_of: Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criter <ul> <li><a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a></li> - <li><a href="http://asmjs.org/">asm.js</a> кэширование</li> + <li><a href="http://asmjs.org/">asm.js</a> кеширование</li> <li><a href="/en-US/docs/Web/API/Cache">Cache API</a></li> <li>Cookies</li> </ul> diff --git a/files/ru/web/api/location/index.html b/files/ru/web/api/location/index.html index 0183c895fd..2b9583e5d6 100644 --- a/files/ru/web/api/location/index.html +++ b/files/ru/web/api/location/index.html @@ -51,7 +51,7 @@ translation_of: Web/API/Location <dt>{{domxref("Location.assign()")}}</dt> <dd>Загружает ресурс по URL, указанному в качестве параметра.</dd> <dt>{{domxref("Location.reload()")}}</dt> - <dd>Перезагружает ресурс по текущему URL. Единственный опциональный параметр {{domxref("Boolean")}} при значении <code>true</code> указывает, что страница должна быть заново загружена с сервера, при значении <code>false</code> страница может быть загружена из кэша.</dd> + <dd>Перезагружает ресурс по текущему URL. Единственный опциональный параметр {{domxref("Boolean")}} при значении <code>true</code> указывает, что страница должна быть заново загружена с сервера, при значении <code>false</code> страница может быть загружена из кеша.</dd> <dt>{{domxref("Location.replace()")}}</dt> <dd>Заменяет текущий ресурс на новый по URL, указанному в качестве параметра. Отличие от <code>assign()</code> в том, что при использовании <code>replace()</code> текущая страница не будет сохранена в {{domxref("History")}}, и пользователь не сможет использовать кнопку <em>назад</em>, чтобы вернуться к ней.</dd> <dt>{{domxref("Location.toString()")}}</dt> diff --git a/files/ru/web/api/positionoptions/index.html b/files/ru/web/api/positionoptions/index.html index e9d175035c..6d8f238aea 100644 --- a/files/ru/web/api/positionoptions/index.html +++ b/files/ru/web/api/positionoptions/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/PositionOptions <dt>{{domxref("PositionOptions.timeout")}}</dt> <dd>Положительное число в миллисекундах, устанавливающее время, за которое устройство должно вернуть результат. По умолчанию это значение <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a></code>, что значит, <code>getCurrentPosition()</code> будет работать до тех пор пока не определит положение устройства.</dd> <dt>{{domxref("PositionOptions.maximumAge")}}</dt> - <dd>Положительное число указывающее максимально возможное время для кэширования результатов поиска положения устройства. Если установить <code>0</code>, это будет означать, что устройство не будет кэшировать позицию и будет всегда возвращать результат нового поиска. Если установить <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a>,</code> устройство всегда будет возвращать результат первого поиска. По умолчанию: 0.</dd> + <dd>Положительное число указывающее максимально возможное время для кеширования результатов поиска положения устройства. Если установить <code>0</code>, это будет означать, что устройство не будет кешировать позицию и будет всегда возвращать результат нового поиска. Если установить <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a>,</code> устройство всегда будет возвращать результат первого поиска. По умолчанию: 0.</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/request/index.html b/files/ru/web/api/request/index.html index a17540856e..a401b2cbe1 100644 --- a/files/ru/web/api/request/index.html +++ b/files/ru/web/api/request/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/Request <dl> <dt>{{domxref("Request.cache")}} {{readonlyInline}}</dt> - <dd>Содержит кэшированное состояние запроса (напр., <code>default</code>, <code>reload</code>, <code>no-cache</code>).</dd> + <dd>Содержит кешированное состояние запроса (напр., <code>default</code>, <code>reload</code>, <code>no-cache</code>).</dd> <dt>{{domxref("Request.context")}} {{readonlyInline}} {{deprecated_inline()}}</dt> <dd>Содержит контекст запроса (напр., <code>audio</code>, <code>image</code>, <code>iframe</code>, и т.д..)</dd> <dt>{{domxref("Request.credentials")}} {{readonlyInline}}</dt> diff --git a/files/ru/web/api/storage/index.html b/files/ru/web/api/storage/index.html index 662d4c1057..5775e8d61c 100644 --- a/files/ru/web/api/storage/index.html +++ b/files/ru/web/api/storage/index.html @@ -156,7 +156,7 @@ function setStyles() { <p>Все браузеры имеют различную вместимость для localStorage и sessionStorage. Вот <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное сравнение всех storage для различных браузеров</a>.</p> <div class="note"> -<p><strong>Важно: </strong>Начиная с iOS 5.1, Safari Mobile хранит данные localStorage в папке кэша, которая является объектом для периодических чисток по желанию OS, в основном из-за нехватки памяти.</p> +<p><strong>Важно: </strong>Начиная с iOS 5.1, Safari Mobile хранит данные localStorage в папке кеша, которая является объектом для периодических чисток по желанию OS, в основном из-за нехватки памяти.</p> </div> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/storage/key/index.html b/files/ru/web/api/storage/key/index.html index 7accb735a9..ace4277c9b 100644 --- a/files/ru/web/api/storage/key/index.html +++ b/files/ru/web/api/storage/key/index.html @@ -120,7 +120,7 @@ translation_of: Web/API/Storage/key <p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь вы найдёте <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p> <div class="note"> -<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть случайно очищена по требованию OS, обычно это происходит, когда мало доступного места.</p> +<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кешем, которая может быть случайно очищена по требованию OS, обычно это происходит, когда мало доступного места.</p> </div> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/storage/length/index.html b/files/ru/web/api/storage/length/index.html index 98f6ea61aa..35f32cf73c 100644 --- a/files/ru/web/api/storage/length/index.html +++ b/files/ru/web/api/storage/length/index.html @@ -114,7 +114,7 @@ translation_of: Web/API/Storage/length <p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p> <div class="note"> -<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p> +<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кешем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p> </div> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/storage/setitem/index.html b/files/ru/web/api/storage/setitem/index.html index 75eb11453e..796a7e2871 100644 --- a/files/ru/web/api/storage/setitem/index.html +++ b/files/ru/web/api/storage/setitem/index.html @@ -122,7 +122,7 @@ translation_of: Web/API/Storage/setItem <p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p> <div class="note"> -<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p> +<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кешем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p> </div> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/window/beforeunload_event/index.html b/files/ru/web/api/window/beforeunload_event/index.html index 757ea14c3b..77bed9514b 100644 --- a/files/ru/web/api/window/beforeunload_event/index.html +++ b/files/ru/web/api/window/beforeunload_event/index.html @@ -43,7 +43,7 @@ translation_of: Web/API/Window/beforeunload_event <p>Для борьбы с нежелательными всплывающими окнами браузеры могут не отображать подсказки, созданные в обработчиках событий <strong>beforeunload</strong>, за исключением случаев, когда страница была обработана или даже не отображается вообще.</p> -<p>Прикрепление обработчика событий к <code>window</code> или <code>document</code> <code>beforeunload</code> событие не позволяет браузерам использовать кэш навигации по страницам в памяти, наподобие <a href="/en-US/docs/Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching">Firefox's Back-Forward cache</a> or <a href="https://webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/">WebKit's Page Cache</a>.</p> +<p>Прикрепление обработчика событий к <code>window</code> или <code>document</code> <code>beforeunload</code> событие не позволяет браузерам использовать кеш навигации по страницам в памяти, наподобие <a href="/en-US/docs/Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching">Firefox's Back-Forward cache</a> or <a href="https://webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/">WebKit's Page Cache</a>.</p> <p>В спецификации HTML указано, что вызовы {{domxref("window.alert()")}}, {{domxref("window.confirm()")}}, и {{domxref("window.prompt()")}} методы могут быть проигнорированы во время этого события. Посмотреть <a href="https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#user-prompts" lang="ru">HTML specification</a> для более подробной информации.</p> diff --git a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html index cffef51d3e..dc4a7e7f7e 100644 --- a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html @@ -43,7 +43,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/fetch <li><code>body</code>: Тело запроса, которое может быть: {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, или {{domxref("USVString")}} объектами. Обратите внимание, что <code>GET</code> или <code>HEAD</code> запрос не может иметь тела.</li> <li><code>mode</code>: Режим, например, <code>cors</code>, <code>no-cors</code> или <code>same-origin</code>.</li> <li><code>credentials</code>: Полномочия: <code>omit</code>, <code>same-origin</code> или <code>include</code>. Для автоматической отправки куки для текущего домена, эта опция должна быть указана. Начиная с Chrome 50, это свойство также принимает экземпляр класса {{domxref("FederatedCredential")}} или {{domxref("PasswordCredential")}}.</li> - <li><code>cache</code>: Режим кэширования запроса <code>default</code>, <code>no-store</code>, <code>reload</code>, <code>no-cache</code>, <code>force-cache</code> или <code>only-if-cached</code>.</li> + <li><code>cache</code>: Режим кеширования запроса <code>default</code>, <code>no-store</code>, <code>reload</code>, <code>no-cache</code>, <code>force-cache</code> или <code>only-if-cached</code>.</li> <li><code>redirect</code>: Режим редиректа: <code>follow</code> (автоматически переадресовывать), <code>error</code> (прерывать перенаправление ошибкой) или <code>manual</code> (управлять перенаправлениями вручную). В Chrome по дефолту стоит <code>follow</code> (ранее, в Chrome 47, стояло <code>manual</code>).</li> <li><code>referrer</code>: {{domxref("USVString")}}, определяющая <code>no-referrer</code>, <code>client</code> или a URL. Дефолтное значение - <code>client</code>.</li> <li><code>referrerPolicy</code>: Определяет значение HTTP заголовка реферера. Может быть: <code>no-referrer</code>, <code>no-referrer-when-downgrade</code>, <code>origin</code>, <code>origin-when-cross-origin</code>, <code>unsafe-url</code>.</li> diff --git a/files/ru/web/guide/ajax/getting_started/index.html b/files/ru/web/guide/ajax/getting_started/index.html index 31d0dd8881..5794fb1ebe 100644 --- a/files/ru/web/guide/ajax/getting_started/index.html +++ b/files/ru/web/guide/ajax/getting_started/index.html @@ -189,7 +189,7 @@ httpRequest.send(null); <p><strong>Замечание</strong>: Строка <code>httpRequest.overrideMimeType('text/xml');</code> вызовет ошибки в консоли JavaScript в Firefox 1.5 или более позднем, как описано в <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=311724" rel="freelink">https://bugzilla.mozilla.org/show_bug.cgi?id=311724</a>, если страница вызванная с помощью XMLHttpRequest не является правильным XML (например, если это обычный текст). На самом деле это корректное поведение.</p> -<p><strong>Замечание 2</strong>: Если вы посылаете запрос не на статический XML-файл, а на серверный скрипт, возвращающий XML, то нужно установить некоторые заголовки ответа, если вы планируете сделать вашу страницу работоспособной в Internet Explorer помимо Mozilla. Если вы не установите заголовок <code>Content-Type: application/xml</code>, IE будет сообщать об ошибке JavaScript, 'Object Expected', после строки, где вы пытаетесь получить доступ к XML элементу. Если вы не установите заголовок <code>Cache-Control: no-cache</code> броузер будет кэшировать ответ и никогда не будет повторно отправлять запрос, что сделает отладку весьма «забавной».</p> +<p><strong>Замечание 2</strong>: Если вы посылаете запрос не на статический XML-файл, а на серверный скрипт, возвращающий XML, то нужно установить некоторые заголовки ответа, если вы планируете сделать вашу страницу работоспособной в Internet Explorer помимо Mozilla. Если вы не установите заголовок <code>Content-Type: application/xml</code>, IE будет сообщать об ошибке JavaScript, 'Object Expected', после строки, где вы пытаетесь получить доступ к XML элементу. Если вы не установите заголовок <code>Cache-Control: no-cache</code> броузер будет кешировать ответ и никогда не будет повторно отправлять запрос, что сделает отладку весьма «забавной».</p> <p><strong>Замечание 3</strong>: Если переменная <code>httpRequest</code> используется глобально, то конкурирующие функции, вызывающие <code>makeRequest()</code> могут конкурировать друг с другом, вызывая состязания. Объявление переменной <code>httpRequest</code> локально в функции и передача её в <code>alertContent()</code> предотвращает состязания.</p> diff --git a/files/ru/web/html/element/html/index.html b/files/ru/web/html/element/html/index.html index 2787e89b66..fb41d15d76 100644 --- a/files/ru/web/html/element/html/index.html +++ b/files/ru/web/html/element/html/index.html @@ -51,7 +51,7 @@ translation_of: Web/HTML/Element/html <dl> <dt>{{htmlattrdef("manifest")}} {{obsolete_inline}}</dt> - <dd>Определяет {{glossary("URI")}} файла манифеста, указывающего ресурсы, которые должны быть сохранены в локальном кэше. Смотрите <a href="/en-US/docs/Web/HTML/Using_the_application_cache">Использование кэша приложений</a>.</dd> + <dd>Определяет {{glossary("URI")}} файла манифеста, указывающего ресурсы, которые должны быть сохранены в локальном кеше. Смотрите <a href="/en-US/docs/Web/HTML/Using_the_application_cache">Использование кеша приложений</a>.</dd> <dt>{{htmlattrdef("version")}} {{obsolete_inline}}</dt> <dd>Определяет версию HTML DTD (Document Type Definition, больше известное как {{glossary("Doctype")}}), которая управляет текущим документом. Этот атрибут не нужен, потому что он является избыточным, так как есть информация, указываемая в объявлении типа документа.</dd> <dt>{{htmlattrdef("xmlns")}}</dt> diff --git a/files/ru/web/html/element/meta/index.html b/files/ru/web/html/element/meta/index.html index e5cef07fa3..60762dde36 100644 --- a/files/ru/web/html/element/meta/index.html +++ b/files/ru/web/html/element/meta/index.html @@ -218,7 +218,7 @@ translation_of: Web/HTML/Element/meta </tr> <tr> <td><code>noarchive</code></td> - <td>Запрещает поисковой системе кэшировать содержимое страницы.</td> + <td>Запрещает поисковой системе кешировать содержимое страницы.</td> <td><a class="external" href="https://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=79812">Google</a>, <a class="external" href="https://help.yahoo.com/l/us/yahoo/search/indexing/basics-10.html;_ylt=Aszma_Ly8TfhL7mn_LGWn5RYqCN4">Yahoo</a>, <a class="external" href="https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240">Bing</a></td> </tr> <tr> diff --git a/files/ru/web/html/element/video/index.html b/files/ru/web/html/element/video/index.html index 9fb3ff9fb7..d51576efcd 100644 --- a/files/ru/web/html/element/video/index.html +++ b/files/ru/web/html/element/video/index.html @@ -45,7 +45,7 @@ translation_of: Web/HTML/Element/video <dt>{{htmlattrdef("autoplay")}}</dt> <dd><span id="result_box" lang="ru"><span class="hps">Логический</span> <span class="hps">атрибут</span><span>;</span> <span class="hps">если указан,</span> то <span class="hps">видео</span> <span class="hps">начнёт воспроизводится </span></span><span lang="ru"><span class="hps">автоматически</span><span class="hps">, как только</span> <span class="hps">это будет возможно сделать без</span> <span class="hps">остановки</span><span>, чтобы закончить</span> <span class="hps">загрузку данных</span><span>.</span></span></dd> <dt>{{htmlattrdef("autobuffer")}} {{Non-standard_inline}} {{obsolete_inline}}</dt> - <dd>Логический атрибут; если указано, видео автоматически начнёт буферизацию, даже если оно не настроено на автоматический запуск. Используйте этот атрибут только тогда, когда очень вероятно, что пользователь будет смотреть видео. Видео буферизуется до тех пор, пока не заполнится кэш мультимедиа. + <dd>Логический атрибут; если указано, видео автоматически начнёт буферизацию, даже если оно не настроено на автоматический запуск. Используйте этот атрибут только тогда, когда очень вероятно, что пользователь будет смотреть видео. Видео буферизуется до тех пор, пока не заполнится кеш мультимедиа. <div class="note"><strong>Примечание:</strong> несмотря на то, что в ранних версиях HTML5 атрибут <code>autobuffer</code> присутствовал, в последующих выпусках он был удалён. Также он был удалён из Gecko 2.0 и других браузеров, а в некоторых никогда не реализовывался. Спецификация определяет новый перечислимый атрибут <code>preload</code>, вместо <code>autobuffer</code> с другим синтаксисом. {{bug(548523)}}</div> </dd> <dt>{{htmlattrdef("buffered")}}</dt> diff --git a/files/ru/web/html/preloading_content/index.html b/files/ru/web/html/preloading_content/index.html index 01cfa703ff..8b408d815c 100644 --- a/files/ru/web/html/preloading_content/index.html +++ b/files/ru/web/html/preloading_content/index.html @@ -51,7 +51,7 @@ translation_of: Web/HTML/Preloading_content <ul> <li>Точнее расставить приоритеты при загрузке ресурсов.</li> - <li>Сохранить в кэше затребованный ресурс для его повторного использования в случае необходимости.</li> + <li>Сохранить в кеше затребованный ресурс для его повторного использования в случае необходимости.</li> <li>Применять корректную <a href="/ru/docs/Web/HTTP/CSP">политику безопасности содержимого (content security policy)</a> для ресурсов.</li> <li>Правильно устанавливать заголовки {{HTTPHeader("Accept")}} для выбранного запроса.</li> </ul> diff --git a/files/ru/web/html/using_the_application_cache/index.html b/files/ru/web/html/using_the_application_cache/index.html index 89a4a71d52..81d90fffbc 100644 --- a/files/ru/web/html/using_the_application_cache/index.html +++ b/files/ru/web/html/using_the_application_cache/index.html @@ -1,67 +1,67 @@ --- -title: Использование кэширования приложений +title: Использование кеширования приложений slug: Web/HTML/Using_the_application_cache translation_of: Web/HTML/Using_the_application_cache -original_slug: Web/HTML/Использование_кэширования_приложений +original_slug: Web/HTML/Использование_кеширования_приложений --- <h2 id="Введение">Введение</h2> -<p><a href="/en-US/docs/HTML/HTML5" title="HTML/HTML5">HTML5</a> предоставляет механизм <em>кэширования приложения</em>, позволяющий веб-приложениям работать в автономном режиме. Разработчики теперь могут использовать интерфейс <strong>Кэша приложения</strong> (<em>AppCache</em>), сообщая браузеру, какие из ресурсов браузеру следует закешировать и сделать доступными в режиме оффлайн. Закодированные приложения загружаются и работают корректно, даже если пользователь обновляет страницу в тот момент, когда он отключён от сети.</p> -<p>Использование механизма кэширования даёт следующие преимущества:</p> +<p><a href="/en-US/docs/HTML/HTML5" title="HTML/HTML5">HTML5</a> предоставляет механизм <em>кеширования приложения</em>, позволяющий веб-приложениям работать в автономном режиме. Разработчики теперь могут использовать интерфейс <strong>Кеша приложения</strong> (<em>AppCache</em>), сообщая браузеру, какие из ресурсов браузеру следует закешировать и сделать доступными в режиме оффлайн. Закодированные приложения загружаются и работают корректно, даже если пользователь обновляет страницу в тот момент, когда он отключён от сети.</p> +<p>Использование механизма кеширования даёт следующие преимущества:</p> <ul> <li>Просмотр страниц в автономном режиме: пользователи могут переходить по сайту даже в режиме оффлайн.</li> <li>Скорость: закешированные ресурсы хранятся на устройстве пользователя и, следовательно, загружаются быстрее.</li> <li>Уменьшение нагрузки на сервер: браузер загружает с сервера только те ресурсы, которые были изменены.</li> </ul> -<h2 id="Как_работает_кэш_приложения">Как работает кэш приложения</h2> -<h3 id="Включение_механизма_кэширования">Включение механизма кэширования</h3> -<p>Для включения механизма кэширования приложения вам необходимо включить атрибут {{htmlattrxref("manifest", "html")}} в элемент {{HTMLElement("html")}} на странице вашего приложения, как показано примере ниже:</p> +<h2 id="Как_работает_кеш_приложения">Как работает кеш приложения</h2> +<h3 id="Включение_механизма_кеширования">Включение механизма кеширования</h3> +<p>Для включения механизма кеширования приложения вам необходимо включить атрибут {{htmlattrxref("manifest", "html")}} в элемент {{HTMLElement("html")}} на странице вашего приложения, как показано примере ниже:</p> <div style="overflow: hidden;"> <pre class="brush: html"><html manifest="example.appcache"> ... </html> </pre> </div> -<p>Атрибут <code>manifest</code> ссылается на файл <strong>манифеста кэша</strong>, который является текстовым файлом и содержит список ресурсов (файлов), которые браузеру следует закешировать для вашего приложения.</p> -<p>Вам следует включить атрибут <code>manifest</code> в каждую страницу вашего приложения, внутри которой вы хотели бы осуществлять кэширование. Браузер не закеширует страницы, не содержащие атрибута <code>manifest</code>, пока такие страницы не будут явно указаны в файле манифеста. Вам не обязательно перечислять все страницы, которые вы хотите закешировать, в файле манифеста, т.к. браузер неявно добавляет в кэш приложения каждую посещаемую пользователем страницу, где есть атрибут <code>manifest</code>.</p> -<p>Некоторые браузеры (например, Firefox) показывают панель уведомлений , когда пользователь загружает использующее кэш приложение в первый раз. Панель уведомлений может показывать примерно такое сообщение::</p> +<p>Атрибут <code>manifest</code> ссылается на файл <strong>манифеста кеша</strong>, который является текстовым файлом и содержит список ресурсов (файлов), которые браузеру следует закешировать для вашего приложения.</p> +<p>Вам следует включить атрибут <code>manifest</code> в каждую страницу вашего приложения, внутри которой вы хотели бы осуществлять кеширование. Браузер не закеширует страницы, не содержащие атрибута <code>manifest</code>, пока такие страницы не будут явно указаны в файле манифеста. Вам не обязательно перечислять все страницы, которые вы хотите закешировать, в файле манифеста, т.к. браузер неявно добавляет в кеш приложения каждую посещаемую пользователем страницу, где есть атрибут <code>manifest</code>.</p> +<p>Некоторые браузеры (например, Firefox) показывают панель уведомлений , когда пользователь загружает использующее кеш приложение в первый раз. Панель уведомлений может показывать примерно такое сообщение::</p> <p style="margin-left: 40px;">Этот веб-сайт (<code>www.example.com</code>) запрашивает у вас разрешение на хранение данных для автономной работы на вашем компьютере. [Разрешить] [Никогда для этого сайта] [Не сейчас]</p> <p>Термин "оффлайн(-доступные) приложения" иногда относится конкретно к приложениям, которым пользователь разрешил использовать возможности работы оффлайн.</p> <h3 id="Загрузка_документов">Загрузка документов</h3> -<p>Использование кэша приложений изменяет обычный процесс загрузки документа:</p> +<p>Использование кеша приложений изменяет обычный процесс загрузки документа:</p> <ul> - <li>Если существует кэш приложения, браузер загружает документ и связанные с ним ресурсы напрямую из кэша без использования сети. Это ускоряет загрузку документа.</li> - <li>Затем браузер проверяет, был ли изменён манифест кэша на стороне сервера.</li> - <li>Если манифест кэша изменён, браузер загружает новую версию манифеста и перечисленных в нём ресурсов. Данные действия происходят в фоновом режиме и почти не влияют на производительность.</li> + <li>Если существует кеш приложения, браузер загружает документ и связанные с ним ресурсы напрямую из кеша без использования сети. Это ускоряет загрузку документа.</li> + <li>Затем браузер проверяет, был ли изменён манифест кеша на стороне сервера.</li> + <li>Если манифест кеша изменён, браузер загружает новую версию манифеста и перечисленных в нём ресурсов. Данные действия происходят в фоновом режиме и почти не влияют на производительность.</li> </ul> -<p>Ниже приведено более подробное описание процесса загрузки документов и обновления кэша приложения:</p> +<p>Ниже приведено более подробное описание процесса загрузки документов и обновления кеша приложения:</p> <ol> - <li>Когда браузер посещает страницу со включённым атрибутом <code>manifest</code> и кэша приложения не существует, браузер загружает документ, а затем получает все пункты файла манифеста, создавая тем самым первую версию кэша приложения.</li> - <li>Последующие посещения данной страницы приводят к загрузке документа и других ресурсов, указанных в файле манифеста, уже из кэша приложения (не с сервера). К тому же браузер также посылает событие <code>checking</code> объекту <code><a href="/en-US/docs/DOM/window.applicationCache" title="DOM/window.applicationCache">window.applicationCache</a></code> и получает файл манифеста в соответствии с правилами кэширования HTTP.</li> + <li>Когда браузер посещает страницу со включённым атрибутом <code>manifest</code> и кеша приложения не существует, браузер загружает документ, а затем получает все пункты файла манифеста, создавая тем самым первую версию кеша приложения.</li> + <li>Последующие посещения данной страницы приводят к загрузке документа и других ресурсов, указанных в файле манифеста, уже из кеша приложения (не с сервера). К тому же браузер также посылает событие <code>checking</code> объекту <code><a href="/en-US/docs/DOM/window.applicationCache" title="DOM/window.applicationCache">window.applicationCache</a></code> и получает файл манифеста в соответствии с правилами кеширования HTTP.</li> <li>Если текущая закешированная копия манифеста совпадает со скачанной, браузер посылает событие <code>noupdate</code> объекту <code>applicationCache</code>, завершая процесс обновления. Обратите внимание, если вы изменили закешированные ресурсы на стороне сервера, вам также необходимо изменить и файл манифеста, тем самым давая браузеру знать, какие из ресурсов нужно получить повторно.</li> - <li>Если файл манифеста изменился, то все перечисленные в нём файлы, так же, как и добавленные в кэш с помощью вызова <code><a href="/en-US/docs/nsIDOMOfflineResourceList#add.28.29" title="nsIDOMOfflineResourceList#add.28.29">applicationCache.add()</a></code>, попадают во временный кэш с учётом правил кэширования HTTP. Во время обновления каждого файла в этом временном кэше браузер посылает событие <code>progress</code> объекту <code>applicationCache</code>. Если происходит ошибка, браузер посылает событие <code>error</code>, а обновление прекращается.</li> - <li>Как только успешно получены все файлы, они автоматически отправляются в настоящий оффлайн-кэш, а объекту <code>applicationCache</code> посылается событие <code>cached</code>. Поскольку документ уже был загружен в браузер из кэша, обновлённый документ не перерисуется, пока страница не будет перезагружена (неважно как, вручную или программно).</li> + <li>Если файл манифеста изменился, то все перечисленные в нём файлы, так же, как и добавленные в кеш с помощью вызова <code><a href="/en-US/docs/nsIDOMOfflineResourceList#add.28.29" title="nsIDOMOfflineResourceList#add.28.29">applicationCache.add()</a></code>, попадают во временный кеш с учётом правил кеширования HTTP. Во время обновления каждого файла в этом временном кеше браузер посылает событие <code>progress</code> объекту <code>applicationCache</code>. Если происходит ошибка, браузер посылает событие <code>error</code>, а обновление прекращается.</li> + <li>Как только успешно получены все файлы, они автоматически отправляются в настоящий оффлайн-кеш, а объекту <code>applicationCache</code> посылается событие <code>cached</code>. Поскольку документ уже был загружен в браузер из кеша, обновлённый документ не перерисуется, пока страница не будет перезагружена (неважно как, вручную или программно).</li> </ol> -<h2 id="Место_хранения_и_очистка_оффлайн-кэша">Место хранения и очистка оффлайн-кэша</h2> -<p>В Chrome оффлайн-кэш можно очистить, выбрав «Очистить историю...» в настройках или перейдя на адрес <a title="chrome://appcache-internals/">chrome://appcache-internals/</a>. У Safari также есть похожий пункт «Очистить кэш» в настройках, но для этого также может понадобиться перезапуск браузера.</p> -<p>Firefox хранит данные оффлайн-кэша отдельно от профиля — по соседству с обычным дисковым кэшем:</p> +<h2 id="Место_хранения_и_очистка_оффлайн-кеша">Место хранения и очистка оффлайн-кеша</h2> +<p>В Chrome оффлайн-кеш можно очистить, выбрав «Очистить историю...» в настройках или перейдя на адрес <a title="chrome://appcache-internals/">chrome://appcache-internals/</a>. У Safari также есть похожий пункт «Очистить кеш» в настройках, но для этого также может понадобиться перезапуск браузера.</p> +<p>Firefox хранит данные оффлайн-кеша отдельно от профиля — по соседству с обычным дисковым кешем:</p> <ul> <li>В Windows Vista/7: <code>C:\Users\<пользователь>\AppData\<strong>Local</strong>\Mozilla\Firefox\Profiles\<соль>.<имя профиля>\OfflineCache</code></li> <li>В Mac/Linux: <code>/Users/<<code>пользователь</code>>/Library/Caches/Firefox/Profiles/<<code>соль</code>>.<<code>имя профиля</code>>/OfflineCache</code></li> </ul> -<p>Текущее состояние оффлайн-кэша в Firefox можно посмотреть на странице <code>about:cache</code> (в разделе «Offline cache device»). Оффлайн-кэш можно очистить по отдельности для каждого сайта, используя кнопку «Удалить...» в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое.</p> -<p>До Firefox 11 кэш нельзя было очистить ни кнопкой Инструменты -> Удалить недавнюю историю, ни Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое -> Очистить сейчас. Сейчас эта проблема устранена.</p> -<p>В Linux настройки оффлайн-кэша можно найти в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое и данные пользователя</p> +<p>Текущее состояние оффлайн-кеша в Firefox можно посмотреть на странице <code>about:cache</code> (в разделе «Offline cache device»). Оффлайн-кеш можно очистить по отдельности для каждого сайта, используя кнопку «Удалить...» в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое.</p> +<p>До Firefox 11 кеш нельзя было очистить ни кнопкой Инструменты -> Удалить недавнюю историю, ни Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое -> Очистить сейчас. Сейчас эта проблема устранена.</p> +<p>В Linux настройки оффлайн-кеша можно найти в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое и данные пользователя</p> <p>См. также <a href="/en-US/docs/DOM/Storage#Storage_location_and_clearing_the_data" title="DOM/Storage#Storage location and clearing the data">очистка данных хранилища DOM</a>.</p> -<p>Также кэши приложения могут устареть. Если с сервера удалить файл манифеста, браузер удалит все кэши, которые были в нём указаны, и пошлёт событие <code>obsoleted</code> объекту <code>applicationCache</code>, что установит состояние кэша в <code>OBSOLETE</code>.</p> -<h2 id="Файл_манифеста_кэша">Файл манифеста кэша</h2> -<h3 id="Ссылки_на_файл_манифеста_кэша">Ссылки на файл манифеста кэша</h3> -<p><code>Атрибут manifest</code> может содержать как относительный путь, так и абсолютный URL (который должен соответствовать принципу единого источника) к файлу манифеста. Файл манифеста кэша может иметь любое расширение, но его MIME- тип должен быть <code>text/cache-manifest</code>.</p> +<p>Также кеши приложения могут устареть. Если с сервера удалить файл манифеста, браузер удалит все кеши, которые были в нём указаны, и пошлёт событие <code>obsoleted</code> объекту <code>applicationCache</code>, что установит состояние кеша в <code>OBSOLETE</code>.</p> +<h2 id="Файл_манифеста_кеша">Файл манифеста кеша</h2> +<h3 id="Ссылки_на_файл_манифеста_кеша">Ссылки на файл манифеста кеша</h3> +<p><code>Атрибут manifest</code> может содержать как относительный путь, так и абсолютный URL (который должен соответствовать принципу единого источника) к файлу манифеста. Файл манифеста кеша может иметь любое расширение, но его MIME- тип должен быть <code>text/cache-manifest</code>.</p> <div class="note"> <strong>Примечание: </strong>На серверах Apache MIME-тип файлов манифеста (.appcache) можно настроить, добавив строчку <code>AddType text/cache-manifest .appcache</code> в файл .htaccess в корневой директории или же директории приложения.</div> -<h3 id="Пункты_манифеста_кэша">Пункты манифеста кэша</h3> -<p>Манифест кэша представляет собой обычный текстовый файл, содержащий список ресурсов, которые браузеру следует закешировать для обеспечения автономного доступа. Ресурсы идентифицируются по URI. Объекты, перечисленные в манифесте кэша должны иметь те же протокол, хост и порт, что и сам манифест.</p> -<h3 id="Пример_1_простой_файл_манифеста_кэша">Пример 1: простой файл манифеста кэша</h3> -<p>Ниже приведено содержимое простого файла манифеста кэша для воображаемого веб-сайта <span class="nowiki">www.example.com</span>.</p> +<h3 id="Пункты_манифеста_кеша">Пункты манифеста кеша</h3> +<p>Манифест кеша представляет собой обычный текстовый файл, содержащий список ресурсов, которые браузеру следует закешировать для обеспечения автономного доступа. Ресурсы идентифицируются по URI. Объекты, перечисленные в манифесте кеша должны иметь те же протокол, хост и порт, что и сам манифест.</p> +<h3 id="Пример_1_простой_файл_манифеста_кеша">Пример 1: простой файл манифеста кеша</h3> +<p>Ниже приведено содержимое простого файла манифеста кеша для воображаемого веб-сайта <span class="nowiki">www.example.com</span>.</p> <pre>CACHE MANIFEST # v1 - 2011-08-13 # Это комментарий. @@ -69,10 +69,10 @@ original_slug: Web/HTML/Использование_кэширования_при <span class="nowiki">http://www.example.com/header.png</span> <span class="nowiki">http://www.example.com/blah/blah</span> </pre> -<p>Манифест кэша может включать три секции (<code>CACHE</code>, <code>NETWORK</code> и <code>FALLBACK</code>, которые будут рассмотрены далее). В приведённом примере нет заголовков секций, поэтому предполагается, что все строчки находятся в явной секции <code>CACHE</code>, подразумевая, что все указанные в них ресурсы браузеру следует сохранить в кэше приложения. Ресурсы могут быть указаны с использованием как абсолютных, так и относительных URL (например, <code>index.html</code>).</p> -<p>Для наличия в кэше комментария «v1» есть веские основания. Браузер обновляет кэш приложения, только если изменён файл манифеста, хотя бы один байт в нём. Если вы изменяете закешированный ресурс на стороне сервера, (например, при обновлении содержимого картинки <code>header.png</code>), вы также должны изменить содержимое файла манифеста, тем самым сообщая браузеру, что нужно обновить кэш. Вы можете изменять файл манифеста так, как вам угодно, но лучшие практики рекомендуют использовать изменение номера пересмотра.</p> +<p>Манифест кеша может включать три секции (<code>CACHE</code>, <code>NETWORK</code> и <code>FALLBACK</code>, которые будут рассмотрены далее). В приведённом примере нет заголовков секций, поэтому предполагается, что все строчки находятся в явной секции <code>CACHE</code>, подразумевая, что все указанные в них ресурсы браузеру следует сохранить в кеше приложения. Ресурсы могут быть указаны с использованием как абсолютных, так и относительных URL (например, <code>index.html</code>).</p> +<p>Для наличия в кеше комментария «v1» есть веские основания. Браузер обновляет кеш приложения, только если изменён файл манифеста, хотя бы один байт в нём. Если вы изменяете закешированный ресурс на стороне сервера, (например, при обновлении содержимого картинки <code>header.png</code>), вы также должны изменить содержимое файла манифеста, тем самым сообщая браузеру, что нужно обновить кеш. Вы можете изменять файл манифеста так, как вам угодно, но лучшие практики рекомендуют использовать изменение номера пересмотра.</p> <div class="warning"> - <strong>Важное замечание:</strong> Не указывайте в манифесте ссылку на него самого, в противном случае будет невозможно сообщить браузеру о том, что кэш обновился.</div> + <strong>Важное замечание:</strong> Не указывайте в манифесте ссылку на него самого, в противном случае будет невозможно сообщить браузеру о том, что кеш обновился.</div> <h3 id="Sections_in_a_cache_manifest_file_CACHE_NETWORK_and_FALLBACK">Sections in a cache manifest file: <code>CACHE</code>, <code>NETWORK</code>, and <code>FALLBACK</code></h3> <p>A manifest can have three distinct sections: <code>CACHE</code>, <code>NETWORK</code>, and <code>FALLBACK</code>.</p> <dl> diff --git a/files/ru/web/http/caching/index.html b/files/ru/web/http/caching/index.html index d292181c07..a359321564 100644 --- a/files/ru/web/http/caching/index.html +++ b/files/ru/web/http/caching/index.html @@ -4,10 +4,10 @@ slug: Web/HTTP/Caching tags: - HTTP - Кеширование - - Кэширование + - Кеширование - Руководство translation_of: Web/HTTP/Caching -original_slug: Web/HTTP/Кэширование +original_slug: Web/HTTP/Кеширование --- <div>{{HTTPSidebar}}</div> diff --git a/files/ru/web/http/content_negotiation/index.html b/files/ru/web/http/content_negotiation/index.html index 4c36d7e82b..6ed9112f1d 100644 --- a/files/ru/web/http/content_negotiation/index.html +++ b/files/ru/web/http/content_negotiation/index.html @@ -30,7 +30,7 @@ translation_of: Web/HTTP/Content_negotiation <p><img alt="" src="https://mdn.mozillademos.org/files/13791/HTTPNegoServer.png" style="height: 380px; width: 767px;"></p> -<p>Стандарт HTTP/1.1 определяет список стандартных заголовков которые используются в этом механизме согласования – ({{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}). Хотя, строго говоря, {{HTTPHeader("User-Agent")}} не находится в этом списке, в некоторых случаях он используется, чтобы послать определённое представление запрошенного ресурса, несмотря на то, что это и не является хорошей практикой. Сервер использует заголовок {{HTTPHeader("Vary")}} чтобы обозначить, какие заголовки он использовал для согласования (точнее, ассоциированные с ними заголовки ответа), чтобы <a href="/en-US/docs/Web/HTTP/Caching">кэширование</a> работало оптимально.</p> +<p>Стандарт HTTP/1.1 определяет список стандартных заголовков которые используются в этом механизме согласования – ({{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}). Хотя, строго говоря, {{HTTPHeader("User-Agent")}} не находится в этом списке, в некоторых случаях он используется, чтобы послать определённое представление запрошенного ресурса, несмотря на то, что это и не является хорошей практикой. Сервер использует заголовок {{HTTPHeader("Vary")}} чтобы обозначить, какие заголовки он использовал для согласования (точнее, ассоциированные с ними заголовки ответа), чтобы <a href="/en-US/docs/Web/HTTP/Caching">кеширование</a> работало оптимально.</p> <p>В дополнение к этим, есть предложение добавить больше заголовков в список доступным, так называемые Подсказки Клиента (Client Hints). Они будут предоставлять информацию о типе устройства на котором они используются (например, будет это настольный компьютер или мобильное устройство).</p> diff --git a/files/ru/web/http/cors/index.html b/files/ru/web/http/cors/index.html index c7ec4d9028..36fb6b47f4 100644 --- a/files/ru/web/http/cors/index.html +++ b/files/ru/web/http/cors/index.html @@ -296,7 +296,7 @@ Access-Control-Max-Age: 86400</pre> <p>Сервер также отправляет <code>Access-Control-Allow-Headers</code> со значением "<code>X-PINGOTHER, Content-Type</code>", подтверждая, что это разрешённые заголовки, которые будут использоваться с фактическим запросом. Как и <code>Access-Control-Allow-Methods</code>, <code>Access-Control-Allow-Headers</code> представляет собой список допустимых заголовков через запятую.</p> -<p>Наконец, {{HTTPHeader("Access-Control-Max-Age")}} даёт значение в секундах, в течение которого можно кэшировать ответ на предварительный запрос без отправки другого предварительного запроса. В этом случае, 86400 секунды - это 24 часа. Обратите внимание, что каждый браузер имеет<a href="/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age"> максимальное внутреннее значение</a>, которое имеет приоритет, когда <code>Access-Control-Max-Age</code> больше.</p> +<p>Наконец, {{HTTPHeader("Access-Control-Max-Age")}} даёт значение в секундах, в течение которого можно кешировать ответ на предварительный запрос без отправки другого предварительного запроса. В этом случае, 86400 секунды - это 24 часа. Обратите внимание, что каждый браузер имеет<a href="/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age"> максимальное внутреннее значение</a>, которое имеет приоритет, когда <code>Access-Control-Max-Age</code> больше.</p> <h4 id="Предварительные_запросы_и_переадресации">Предварительные запросы и переадресации</h4> diff --git a/files/ru/web/http/headers/access-control-allow-origin/index.html b/files/ru/web/http/headers/access-control-allow-origin/index.html index a8c83a5fb6..f9acce8bd3 100644 --- a/files/ru/web/http/headers/access-control-allow-origin/index.html +++ b/files/ru/web/http/headers/access-control-allow-origin/index.html @@ -53,7 +53,7 @@ Access-Control-Allow-Origin: null <p>Чтобы ограничить <code>Access-Control-Allow-Origin</code> разрешённым набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка {{HTTPHeader("Origin")}} запроса, сравнить его с разрешённым списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение <code>Access-Control-Allow-Origin</code>, равное значению {{HTTPHeader("Origin")}}.</p> -<h3 id="CORS_и_кэширование">CORS и кэширование</h3> +<h3 id="CORS_и_кеширование">CORS и кеширование</h3> <p>Если сервер послал ответ со значением <code>Access-Control-Allow-Origin</code>, которое содержит явное указание источника (а не шаблонное значение "<code>*</code>"), тогда ответ также должен включать в себя заголовок {{HTTPHeader("Vary")}} со значением <code>Origin</code> — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса <code>Origin</code>.</p> diff --git a/files/ru/web/http/headers/access-control-max-age/index.html b/files/ru/web/http/headers/access-control-max-age/index.html index 2653520439..45fb838282 100644 --- a/files/ru/web/http/headers/access-control-max-age/index.html +++ b/files/ru/web/http/headers/access-control-max-age/index.html @@ -4,7 +4,7 @@ slug: Web/HTTP/Headers/Access-Control-Max-Age translation_of: Web/HTTP/Headers/Access-Control-Max-Age original_slug: Web/HTTP/Заголовки/Access-Control-Max-Age --- -<div><code>Заголовок ответа сервера</code><strong><code> Access-Control-Max-Age</code></strong> сообщает браузеру насколько {{glossary("предзапрос")}} (эта информация содержится в заголовках {{HTTPHeader("Access-Control-Allow-Methods")}} и {{HTTPHeader("Access-Control-Allow-Headers")}}) может быть кэширован и опущен при запросах к серверу.</div> +<div><code>Заголовок ответа сервера</code><strong><code> Access-Control-Max-Age</code></strong> сообщает браузеру насколько {{glossary("предзапрос")}} (эта информация содержится в заголовках {{HTTPHeader("Access-Control-Allow-Methods")}} и {{HTTPHeader("Access-Control-Allow-Headers")}}) может быть кеширован и опущен при запросах к серверу.</div> <table class="properties"> <tbody> @@ -28,14 +28,14 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Max-Age <dl> <dt><delta-seconds></dt> - <dd>Количество секунд, на которое запрос может быть кэширован.<br> + <dd>Количество секунд, на которое запрос может быть кеширован.<br> Максимальное значение в Firefox составляет <a href="https://dxr.mozilla.org/mozilla-central/rev/7ae377917236b7e6111146aa9fb4c073c0efc7f4/netwerk/protocol/http/nsCORSListenerProxy.cpp#1131">24 часа</a> (86400 секунд), в Chromium <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=36">10 минут</a> (600 секунд). Chromium также определяет значение по умолчанию <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=26">5</a> секунд.<br> - Значение <strong>-1</strong> отменяет кэширование, отправляя предзапрос перед каждым запросом.</dd> + Значение <strong>-1</strong> отменяет кеширование, отправляя предзапрос перед каждым запросом.</dd> </dl> <h2 id="Примеры">Примеры</h2> -<p>Кэширование предзапроса на 600 секунд:</p> +<p>Кеширование предзапроса на 600 секунд:</p> <pre>Access-Control-Max-Age: 600 </pre> diff --git a/files/ru/web/http/headers/cache-control/index.html b/files/ru/web/http/headers/cache-control/index.html index 70acce7e01..6857bb4584 100644 --- a/files/ru/web/http/headers/cache-control/index.html +++ b/files/ru/web/http/headers/cache-control/index.html @@ -2,13 +2,13 @@ title: Cache-Control slug: Web/HTTP/Headers/Cache-Control tags: - - Кэширование + - Кеширование translation_of: Web/HTTP/Headers/Cache-Control original_slug: Web/HTTP/Заголовки/Cache-Control --- <div>{{HTTPSidebar}}</div> -<p>Общий заголовок <strong><code>Cache-Control</code></strong> используется для задания инструкций кэширования как для запросов, так и для ответов. Инструкции кэширования однонаправленные: заданная инструкция в запросе не подразумевает, что такая же инструкция будет указана в ответе</p> +<p>Общий заголовок <strong><code>Cache-Control</code></strong> используется для задания инструкций кеширования как для запросов, так и для ответов. Инструкции кеширования однонаправленные: заданная инструкция в запросе не подразумевает, что такая же инструкция будет указана в ответе</p> <table class="properties"> <tbody> @@ -31,7 +31,7 @@ original_slug: Web/HTTP/Заголовки/Cache-Control <p>Инструкции не чувствительны к регистру и имеют необязательный аргумент, который может быть указан как в кавычках, так и без них. Несколько инструкций разделяются запятыми.</p> -<h3 id="Инструкции_кэширования_для_запросов">Инструкции кэширования для запросов</h3> +<h3 id="Инструкции_кеширования_для_запросов">Инструкции кеширования для запросов</h3> <p>Стандартные инструкции <code>Cache-Control</code>, которые могут задаваться клиентом для HTTP запроса.</p> @@ -44,7 +44,7 @@ Cache-Control: no-transform Cache-Control: only-if-cached </pre> -<h3 id="Инструкции_кэширования_для_ответов">Инструкции кэширования для ответов</h3> +<h3 id="Инструкции_кеширования_для_ответов">Инструкции кеширования для ответов</h3> <p>Стандартные инструкции <code>Cache-Control</code>, которые могут задаваться сервером для HTTP ответа.</p> @@ -61,7 +61,7 @@ Cache-Control: s-maxage=<seconds> <h3 id="Расширенные_инструкции_Cache-Control">Расширенные инструкции <code>Cache-Control</code></h3> -<p>Расширенные инструкции <code>Cache-Control</code> не являются частью базовых стандартов, описывающих кэширование в HTTP. В <a href="#Browser_compatibility">таблице совместимости</a> указаны браузеры, которые поддерживают расширенные инструкции.</p> +<p>Расширенные инструкции <code>Cache-Control</code> не являются частью базовых стандартов, описывающих кеширование в HTTP. В <a href="#Browser_compatibility">таблице совместимости</a> указаны браузеры, которые поддерживают расширенные инструкции.</p> <pre class="syntaxbox">Cache-Control: immutable Cache-Control: stale-while-revalidate=<seconds> @@ -70,13 +70,13 @@ Cache-Control: stale-if-error=<seconds> <h2 id="Инструкции">Инструкции</h2> -<h3 id="Управление_кэшированием">Управление кэшированием</h3> +<h3 id="Управление_кешированием">Управление кешированием</h3> <dl> <dt><code>public</code></dt> - <dd>Указывает, что ответ может быть закеширован в любом кэше.</dd> + <dd>Указывает, что ответ может быть закеширован в любом кеше.</dd> <dt><code>private</code></dt> - <dd>Указывает, что ответ предназначен для одного пользователя и не должен помещаться в разделяемый кэш. Частный кэш может хранить ресурс.</dd> + <dd>Указывает, что ответ предназначен для одного пользователя и не должен помещаться в разделяемый кеш. Частный кеш может хранить ресурс.</dd> <dt><code>no-cache</code></dt> <dd>Указывает на необходимость отправить запрос на сервер для валидации ресурса перед использованием закешированных данных.</dd> <dt><code>only-if-cached</code></dt> @@ -89,7 +89,7 @@ Cache-Control: stale-if-error=<seconds> <dt><code>max-age=<seconds></code></dt> <dd>Задаёт максимальное время в течение которого ресурс будет считаться актуальным. В отличие от <code>Expires</code>, данная инструкция является относительной по отношению ко времени запроса.</dd> <dt><code>s-maxage=<seconds></code></dt> - <dd>Переопределяет <code>max-age</code> или заголовок <code>Expires</code>, но применяется только для разделяемых кэшей (например, прокси) и игнорируется частными кэшами.</dd> + <dd>Переопределяет <code>max-age</code> или заголовок <code>Expires</code>, но применяется только для разделяемых кешей (например, прокси) и игнорируется частными кешами.</dd> <dt><code>max-stale[=<seconds>]</code></dt> <dd>Указывает, что клиент хочет получить ответ, для которого было превышено время устаревания. Дополнительно может быть указано значение в секундах, указывающее, что ответ не должен быть просрочен более чем на указанное значение.</dd> <dt><code>min-fresh=<seconds></code></dt> @@ -104,9 +104,9 @@ Cache-Control: stale-if-error=<seconds> <dl> <dt><code>must-revalidate</code></dt> - <dd>Кэш должен проверить статус устаревших ресурсов перед их использованием. Просроченные ресурсы не должны быть использованы.</dd> + <dd>Кеш должен проверить статус устаревших ресурсов перед их использованием. Просроченные ресурсы не должны быть использованы.</dd> <dt><code>proxy-revalidate</code></dt> - <dd>То же самое, что <code>must-revalidate</code>, но применимо только к разделяемым кэшам (например, прокси) и игнорируется частными кэшами.</dd> + <dd>То же самое, что <code>must-revalidate</code>, но применимо только к разделяемым кешам (например, прокси) и игнорируется частными кешами.</dd> <dt><code>immutable</code></dt> <dd>Indicates that the response body will not change over time. The resource, if unexpired, is unchanged on the server and therefore the client should not send a conditional revalidation for it (e.g. <code>If-None-Match</code> or <code>If-Modified-Since</code>) to check for updates, even when the user explicitly refreshes the page. Clients that aren't aware of this extension must ignore them as per the HTTP specification. In Firefox, <code>immutable</code> is only honored on <code>https://</code> transactions. For more information, see also this <a href="http://bitsup.blogspot.de/2016/05/cache-control-immutable.html">blog post</a>.</dd> </dl> @@ -115,23 +115,23 @@ Cache-Control: stale-if-error=<seconds> <dl> <dt><code>no-store</code></dt> - <dd>Кэш не должен хранить никакую информацию о запросе и ответе</dd> + <dd>Кеш не должен хранить никакую информацию о запросе и ответе</dd> <dt><code>no-transform</code></dt> <dd>Никакие преобразования не должны применяться к ресурсу. Заголовки <code>Content-Encoding</code>, <code>Content-Range</code>, <code>Content-Type</code> не должны изменяться прокси. Непрозрачный прокси может, например, конвертировать изображения из одного формата в другой для сохранения дискового пространства или уменьшения трафика. Инструкция <code>no-transform</code> запрещает это.</dd> </dl> <h2 id="Примеры">Примеры</h2> -<h3 id="Выключение_кэширования">Выключение кэширования</h3> +<h3 id="Выключение_кеширования">Выключение кеширования</h3> -<p>Для выключения кэширования возможно добавить следующий заголовок к ответу. Дополнительно см. заголовки <code>Expires</code> и <code>Pragma</code>.</p> +<p>Для выключения кеширования возможно добавить следующий заголовок к ответу. Дополнительно см. заголовки <code>Expires</code> и <code>Pragma</code>.</p> <pre class="brush: bash">Cache-Control: no-cache, no-store, must-revalidate </pre> -<h3 id="Кэширование_статического_контента">Кэширование статического контента</h3> +<h3 id="Кеширование_статического_контента">Кеширование статического контента</h3> -<p>Для файлов, которые не будут изменяться обычно возможно применить агрессивное кэширование, отослав ответ с заголовком ниже. Например, такой ответ может быть послан для изображений, файлов CSS и JavaScript. Дополнительно см. заголовок <code>Expires</code>.</p> +<p>Для файлов, которые не будут изменяться обычно возможно применить агрессивное кеширование, отослав ответ с заголовком ниже. Например, такой ответ может быть послан для изображений, файлов CSS и JavaScript. Дополнительно см. заголовок <code>Expires</code>.</p> <pre class="brush: bash">Cache-Control: public, max-age=31536000</pre> diff --git a/files/ru/web/http/headers/connection/index.html b/files/ru/web/http/headers/connection/index.html index a68e883264..152a5dcba7 100644 --- a/files/ru/web/http/headers/connection/index.html +++ b/files/ru/web/http/headers/connection/index.html @@ -44,7 +44,7 @@ Connection: close <dt><code>close</code></dt> <dd>Указывает, что клиент или сервер хотели бы закрыть соединение. Это значение по умолчанию для запросов HTTP/1.0.</dd> <dt>любой список HTTP заголовков через запятую[Обычно только <code>keep-alive</code>]</dt> - <dd>Указывает, что клиент хотел бы сохранить соединение активным. Постоянное соединение используется по умолчанию для запросов HTTP/1.1. Список заголовков -- это имена заголовка, которые удаляются первым непрозрачным прокси-сервером или промежуточным кэшем: эти заголовки определяют соединение между источником и первым объектом, а не целевым узлом.</dd> + <dd>Указывает, что клиент хотел бы сохранить соединение активным. Постоянное соединение используется по умолчанию для запросов HTTP/1.1. Список заголовков -- это имена заголовка, которые удаляются первым непрозрачным прокси-сервером или промежуточным кешем: эти заголовки определяют соединение между источником и первым объектом, а не целевым узлом.</dd> </dl> <h2 id="Совместимость_браузеров">Совместимость браузеров</h2> diff --git a/files/ru/web/http/headers/etag/index.html b/files/ru/web/http/headers/etag/index.html index 7f8b3a6ce7..5d6cb2bb57 100644 --- a/files/ru/web/http/headers/etag/index.html +++ b/files/ru/web/http/headers/etag/index.html @@ -57,9 +57,9 @@ ETag: W/"0815"</pre> <p>Если хэши из заголовков не совпадают, это означает что данные уже были изменены между запросами (in-between) и будет возвращена ошибка {{HTTPStatus("412")}} <code>Precondition Failed</code>.</p> -<h3 id="Кэширование_неизменяемых_ресурсов">Кэширование неизменяемых ресурсов</h3> +<h3 id="Кеширование_неизменяемых_ресурсов">Кеширование неизменяемых ресурсов</h3> -<p>Другая типичная ситуация для использования <code>ETag</code> — кэширование ресурсов, которые не будут изменяться. Если пользователь повторно посещает URL-адрес (с установленным заголовком <code>ETag</code>), и при этом данные слишком устарели и не могут быть использованы, тогда клиент отправит значение <code>ETag</code> внутри заголовка {{HTTPHeader("If-None-Match")}}:</p> +<p>Другая типичная ситуация для использования <code>ETag</code> — кеширование ресурсов, которые не будут изменяться. Если пользователь повторно посещает URL-адрес (с установленным заголовком <code>ETag</code>), и при этом данные слишком устарели и не могут быть использованы, тогда клиент отправит значение <code>ETag</code> внутри заголовка {{HTTPHeader("If-None-Match")}}:</p> <pre>If-None-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"</pre> diff --git a/files/ru/web/http/headers/if-modified-since/index.html b/files/ru/web/http/headers/if-modified-since/index.html index 8adad2f7cc..8bd4336f67 100644 --- a/files/ru/web/http/headers/if-modified-since/index.html +++ b/files/ru/web/http/headers/if-modified-since/index.html @@ -15,7 +15,7 @@ original_slug: Web/HTTP/Заголовки/If-Modified-Since <p>При использовании в сочетании с {{HTTPHeader("If-None-Match")}} заголовок <code>If-Modified-Since</code> игнорируется, кроме тех случаев, когда сервер не поддерживает If-None-Match.</p> -<p>Наиболее распространённым вариантом использования является обновление кэшированного объекта, не связанного с {{HTTPHeader("ETag")}}.</p> +<p>Наиболее распространённым вариантом использования является обновление кешированного объекта, не связанного с {{HTTPHeader("ETag")}}.</p> <table class="properties"> <tbody> diff --git a/files/ru/web/http/headers/index.html b/files/ru/web/http/headers/index.html index 7c1de3ac7b..4a511566a7 100644 --- a/files/ru/web/http/headers/index.html +++ b/files/ru/web/http/headers/index.html @@ -38,10 +38,10 @@ original_slug: Web/HTTP/Заголовки </ul> <p><strong>Сквозные заголовки</strong><br> - Эти заголовки должны быть переданы конечному получателю сообщения: серверу для запроса или клиенту для ответа. Промежуточные прокси-серверы должны повторно передавать эти заголовки без изменений, а кэши должны их хранить.</p> + Эти заголовки должны быть переданы конечному получателю сообщения: серверу для запроса или клиенту для ответа. Промежуточные прокси-серверы должны повторно передавать эти заголовки без изменений, а кеши должны их хранить.</p> <p><strong>Хоп-хоп заголовки (Хоп-хоп заголовки)</strong><br> - Эти заголовки имеют смысл только для одного соединения транспортного уровня и не должны повторно передаваться прокси или кэшироваться. Обратите внимание, что с помощью общего заголовка {{httpheader ("Connection")}} могут быть установлены только заголовки переходов.</p> + Эти заголовки имеют смысл только для одного соединения транспортного уровня и не должны повторно передаваться прокси или кешироваться. Обратите внимание, что с помощью общего заголовка {{httpheader ("Connection")}} могут быть установлены только заголовки переходов.</p> <h2 id="Аутентификация">Аутентификация</h2> diff --git a/files/ru/web/http/headers/pragma/index.html b/files/ru/web/http/headers/pragma/index.html index 3e6b8a9057..561e79419f 100644 --- a/files/ru/web/http/headers/pragma/index.html +++ b/files/ru/web/http/headers/pragma/index.html @@ -3,16 +3,16 @@ title: Pragma slug: Web/HTTP/Headers/Pragma tags: - Прагма - - кэш + - кеш translation_of: Web/HTTP/Headers/Pragma original_slug: Web/HTTP/Заголовки/Pragma --- <div>{{HTTPSidebar}}</div> -<p>Общий заголовок <strong><code>Pragma</code></strong> HTTP / 1.0 - это заголовок, зависящий от реализации, который может иметь различные эффекты в цепочке запрос-ответ. Он используется для обратной совместимости с кэшами HTTP / 1.0, где заголовок <code>Cache-Control</code> HTTP / 1.1 ещё не присутствует.</p> +<p>Общий заголовок <strong><code>Pragma</code></strong> HTTP / 1.0 - это заголовок, зависящий от реализации, который может иметь различные эффекты в цепочке запрос-ответ. Он используется для обратной совместимости с кешами HTTP / 1.0, где заголовок <code>Cache-Control</code> HTTP / 1.1 ещё не присутствует.</p> <div class="note"> -<p><strong>Примечание:</strong> <strong><code>Pragma</code></strong> не указана для ответов HTTP и поэтому не является надёжной заменой общего заголовка управления кэшем HTTP/1.1, хотя она ведёт себя так же, как <code>Cache-Control: no-cache</code>, если поле заголовка управления кэшем опущено в запросе. Используйте <code>Pragma</code> только для обратной совместимости с клиентами HTTP / 1.0.</p> +<p><strong>Примечание:</strong> <strong><code>Pragma</code></strong> не указана для ответов HTTP и поэтому не является надёжной заменой общего заголовка управления кешем HTTP/1.1, хотя она ведёт себя так же, как <code>Cache-Control: no-cache</code>, если поле заголовка управления кешем опущено в запросе. Используйте <code>Pragma</code> только для обратной совместимости с клиентами HTTP / 1.0.</p> </div> <table class="properties"> @@ -42,7 +42,7 @@ original_slug: Web/HTTP/Заголовки/Pragma <dl> <dt>no-cache</dt> <dd> - <p>То же, что и <code>Cache-Control: no-cache</code>. Заставляет кэши отправлять запрос на исходный сервер для проверки перед выпуском кэшированной копии.</p> + <p>То же, что и <code>Cache-Control: no-cache</code>. Заставляет кеши отправлять запрос на исходный сервер для проверки перед выпуском кешированной копии.</p> </dd> </dl> diff --git a/files/ru/web/http/headers/referer/index.html b/files/ru/web/http/headers/referer/index.html index d80a71b11a..e982e17190 100644 --- a/files/ru/web/http/headers/referer/index.html +++ b/files/ru/web/http/headers/referer/index.html @@ -10,7 +10,7 @@ original_slug: Web/HTTP/Заголовки/Referer --- <div>{{HTTPSidebar}}</div> -<p>Заголовок запроса <code><strong>Referer</strong></code> содержит URL исходной страницы, с которой был осуществлён переход на текущую страницу. Заголовок <code>Referer</code> позволяет серверу узнать откуда был осуществлён переход на запрашиваемую страницу. Сервер может анализировать эти данные, записывать их в логи или оптимизировать процесс кэширования.</p> +<p>Заголовок запроса <code><strong>Referer</strong></code> содержит URL исходной страницы, с которой был осуществлён переход на текущую страницу. Заголовок <code>Referer</code> позволяет серверу узнать откуда был осуществлён переход на запрашиваемую страницу. Сервер может анализировать эти данные, записывать их в логи или оптимизировать процесс кеширования.</p> <p>Обратите внимание, что слово «Referer» на самом деле является неправильным написанием слова «Referrer». См. {{interwiki("wikipedia", "HTTP_referer", "HTTP referer на Wikipedia")}} .</p> diff --git a/files/ru/web/http/headers/vary/index.html b/files/ru/web/http/headers/vary/index.html index b0b114d3e3..90f62139a4 100644 --- a/files/ru/web/http/headers/vary/index.html +++ b/files/ru/web/http/headers/vary/index.html @@ -6,7 +6,7 @@ original_slug: Web/HTTP/Заголовки/Vary --- <div>{{HTTPSidebar}}</div> -<p>Заголовок ответа <strong><code>Vary</code></strong> определяет, как сопоставить будущие заголовки запроса, чтобы решить, можно ли использовать кэшированный ответ, а не запрашивать новый с исходного сервера. Он используется сервером для указания того, какие заголовки он использовал при выборе представления ресурса в <a href="/en-US/docs/Web/HTTP/Content_negotiation">алгоритме согласования</a> контента.</p> +<p>Заголовок ответа <strong><code>Vary</code></strong> определяет, как сопоставить будущие заголовки запроса, чтобы решить, можно ли использовать кешированный ответ, а не запрашивать новый с исходного сервера. Он используется сервером для указания того, какие заголовки он использовал при выборе представления ресурса в <a href="/en-US/docs/Web/HTTP/Content_negotiation">алгоритме согласования</a> контента.</p> <p>Заголовок <code>Vary</code> должен быть установлен для ответа {{HTTPStatus("304")}} <code>Not Modified</code> точно так же, как он был бы установлен для эквивалентного ответа {{HTTPStatus("200")}} <code>OK</code>.</p> @@ -33,9 +33,9 @@ Vary: <header-name>, <header-name>, ... <dl> <dt>*</dt> - <dd>Каждый запрос должен рассматриваться как уникальный и не кэшируемый. Лучший способ указать это - использовать {{HTTPHeader ("Cache-Control")}}: <code>no-store</code>, который удобнее для чтения и также сигнализирует о том, что объект не должен храниться никогда.</dd> + <dd>Каждый запрос должен рассматриваться как уникальный и не кешируемый. Лучший способ указать это - использовать {{HTTPHeader ("Cache-Control")}}: <code>no-store</code>, который удобнее для чтения и также сигнализирует о том, что объект не должен храниться никогда.</dd> <dt><header-name></dt> - <dd>Разделённый запятыми список имён заголовков, которые необходимо учитывать при принятии решения о том, можно ли использовать кэшированный ответ.</dd> + <dd>Разделённый запятыми список имён заголовков, которые необходимо учитывать при принятии решения о том, можно ли использовать кешированный ответ.</dd> </dl> <h2 id="Examples">Examples</h2> diff --git a/files/ru/web/http/index.html b/files/ru/web/http/index.html index b1708e5627..51e3203f2e 100644 --- a/files/ru/web/http/index.html +++ b/files/ru/web/http/index.html @@ -21,8 +21,8 @@ translation_of: Web/HTTP <dl> <dt><a href="/ru/docs/Web/HTTP/Overview">Обзор HTTP</a></dt> <dd>Основные свойства клиент-серверного протокола: что можно сделать и для чего он предназначен.</dd> - <dt><a href="/en-US/docs/Web/HTTP/Caching">HTTP-кэширование (HTTP Cache)</a></dt> - <dd>Кэширование - это важнейший инструмент для повышения производительности веб-сайтов. Эта статья описывает разные виды кэша, а также использование HTTP-заголовков для конфигурации и управления кэшированием.</dd> + <dt><a href="/en-US/docs/Web/HTTP/Caching">HTTP-кеширование (HTTP Cache)</a></dt> + <dd>Кеширование - это важнейший инструмент для повышения производительности веб-сайтов. Эта статья описывает разные виды кеша, а также использование HTTP-заголовков для конфигурации и управления кешированием.</dd> <dt><a href="/en-US/docs/Web/HTTP/Cookies">HTTP-куки (HTTP cookies)</a></dt> <dd>Как работают куки, можно почитать в <a href="https://tools.ietf.org/html/rfc6265">RFC 6265</a>. При обслуживании HTTP-запроса сервер может отправить в ответе HTTP-заголовок <code>Set-Cookie</code>. После этого значение куки посылается клиентом с каждым запросом к этому серверу. Делается это в форме заголовка запроса <code>Cookie</code>. Дополнительно можно указать истечение срока куки, а так же ограничения для специфического домена или пути.</dd> </dl> @@ -84,7 +84,7 @@ translation_of: Web/HTTP <dt><a href="https://observatory.mozilla.org/">Mozilla Observatory</a></dt> <dd>Проект, созданный в помощь разработчикам, системным администраторам и специалистам по безопасности для создания безопасных и надёжных сайтов.</dd> <dt><a href="https://redbot.org/">RedBot</a></dt> - <dd>Инструмент для проверки кэширования заголовков.</dd> + <dd>Инструмент для проверки кеширования заголовков.</dd> <dt><a href="http://www.html5rocks.com/ru/tutorials/internals/howbrowserswork/">Принципы работы современных веб-браузеров</a></dt> <dd>Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем веб-разработчикам.</dd> </dl> diff --git a/files/ru/web/http/methods/connect/index.html b/files/ru/web/http/methods/connect/index.html index 21693bb37a..19631473e1 100644 --- a/files/ru/web/http/methods/connect/index.html +++ b/files/ru/web/http/methods/connect/index.html @@ -30,7 +30,7 @@ translation_of: Web/HTTP/Methods/CONNECT <td>Нет</td> </tr> <tr> - <th scope="row">{{Glossary("Кэшируемый")}}</th> + <th scope="row">{{Glossary("Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/methods/delete/index.html b/files/ru/web/http/methods/delete/index.html index 912bdd96e1..4f4183df12 100644 --- a/files/ru/web/http/methods/delete/index.html +++ b/files/ru/web/http/methods/delete/index.html @@ -31,7 +31,7 @@ translation_of: Web/HTTP/Methods/DELETE <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable","Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable","Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/methods/get/index.html b/files/ru/web/http/methods/get/index.html index e2601b1361..599d5e137c 100644 --- a/files/ru/web/http/methods/get/index.html +++ b/files/ru/web/http/methods/get/index.html @@ -30,7 +30,7 @@ translation_of: Web/HTTP/Methods/GET <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Да</td> </tr> <tr> diff --git a/files/ru/web/http/methods/head/index.html b/files/ru/web/http/methods/head/index.html index 13bfe278a6..cd8e1f5e40 100644 --- a/files/ru/web/http/methods/head/index.html +++ b/files/ru/web/http/methods/head/index.html @@ -34,7 +34,7 @@ translation_of: Web/HTTP/Methods/HEAD <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Да</td> </tr> <tr> diff --git a/files/ru/web/http/methods/index.html b/files/ru/web/http/methods/index.html index 67369bdad6..0200b591eb 100644 --- a/files/ru/web/http/methods/index.html +++ b/files/ru/web/http/methods/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTTP/Methods --- <p>{{HTTPSidebar}}</p> -<p>HTTP определяет множество <strong>методов запроса</strong>, которые указывают, какое желаемое действие выполнится для данного ресурса. Несмотря на то, что их названия могут быть существительными, эти методы запроса иногда называются <em>HTTP глаголами</em>. Каждый реализует свою семантику, но каждая группа команд разделяет общие свойства: так, методы могут быть {{glossary("safe", "безопасными")}}, {{glossary("idempotent", "идемпотентными")}} или {{glossary("cacheable", "кэшируемыми")}}.</p> +<p>HTTP определяет множество <strong>методов запроса</strong>, которые указывают, какое желаемое действие выполнится для данного ресурса. Несмотря на то, что их названия могут быть существительными, эти методы запроса иногда называются <em>HTTP глаголами</em>. Каждый реализует свою семантику, но каждая группа команд разделяет общие свойства: так, методы могут быть {{glossary("safe", "безопасными")}}, {{glossary("idempotent", "идемпотентными")}} или {{glossary("cacheable", "кешируемыми")}}.</p> <dl> <dt><code><a href="/ru/docs/Web/HTTP/Methods/GET">GET</a></code></dt> diff --git a/files/ru/web/http/methods/options/index.html b/files/ru/web/http/methods/options/index.html index 48dbde81de..116e10c178 100644 --- a/files/ru/web/http/methods/options/index.html +++ b/files/ru/web/http/methods/options/index.html @@ -30,7 +30,7 @@ translation_of: Web/HTTP/Methods/OPTIONS <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/methods/patch/index.html b/files/ru/web/http/methods/patch/index.html index 63c8ce82aa..06700f5653 100644 --- a/files/ru/web/http/methods/patch/index.html +++ b/files/ru/web/http/methods/patch/index.html @@ -41,7 +41,7 @@ translation_of: Web/HTTP/Methods/PATCH <td>Нет</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/methods/post/index.html b/files/ru/web/http/methods/post/index.html index 697b705b8f..74b4481d3b 100644 --- a/files/ru/web/http/methods/post/index.html +++ b/files/ru/web/http/methods/post/index.html @@ -50,7 +50,7 @@ translation_of: Web/HTTP/Methods/POST <td>Нет</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Только если включена информация о свежести сообщения</td> </tr> <tr> diff --git a/files/ru/web/http/methods/put/index.html b/files/ru/web/http/methods/put/index.html index 60a1d0df58..be2552bcbe 100644 --- a/files/ru/web/http/methods/put/index.html +++ b/files/ru/web/http/methods/put/index.html @@ -35,7 +35,7 @@ translation_of: Web/HTTP/Methods/PUT <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/methods/trace/index.html b/files/ru/web/http/methods/trace/index.html index 9bf1686106..d75b9ff20f 100644 --- a/files/ru/web/http/methods/trace/index.html +++ b/files/ru/web/http/methods/trace/index.html @@ -32,7 +32,7 @@ translation_of: Web/HTTP/Methods/TRACE <td>Да</td> </tr> <tr> - <th scope="row">{{Glossary("Cacheable", "Кэшируемый")}}</th> + <th scope="row">{{Glossary("Cacheable", "Кешируемый")}}</th> <td>Нет</td> </tr> <tr> diff --git a/files/ru/web/http/overview/index.html b/files/ru/web/http/overview/index.html index 28144e2bc7..b8cd23bd9a 100644 --- a/files/ru/web/http/overview/index.html +++ b/files/ru/web/http/overview/index.html @@ -22,7 +22,7 @@ translation_of: Web/HTTP/Overview <p>HTTP — это клиент-серверный протокол, то есть запросы отправляются какой-то одной стороной — участником обмена (user-agent) (либо прокси вместо него). Чаще всего в качестве участника выступает веб-браузер, но им может быть кто угодно, например, робот, путешествующий по Сети для пополнения и обновления данных индексации веб-страниц для поисковых систем.</p> -<p>Каждый запрос (англ. <em>request</em>) отправляется серверу, который обрабатывает его и возвращает ответ (англ. <em>response</em>). Между этими запросами и ответами как правило существуют многочисленные посредники, называемые {{glossary("Прокси_серверами","прокси")}}, которые выполняют различные операции и работают как шлюзы или {{glossary("Кэш","кэш")}}, например.</p> +<p>Каждый запрос (англ. <em>request</em>) отправляется серверу, который обрабатывает его и возвращает ответ (англ. <em>response</em>). Между этими запросами и ответами как правило существуют многочисленные посредники, называемые {{glossary("Прокси_серверами","прокси")}}, которые выполняют различные операции и работают как шлюзы или {{glossary("Кеш","кеш")}}, например.</p> <p><img alt="Client server chain" src="https://mdn.mozillademos.org/files/13679/Client-server-chain.png"></p> @@ -40,7 +40,7 @@ translation_of: Web/HTTP/Overview <h3 id="Веб-сервер">Веб-сервер</h3> -<p>На другой стороне коммуникационного канала расположен сервер, который обслуживает (англ. <em>serve</em>) пользователя, предоставляя ему документы по запросу. С точки зрения конечного пользователя, сервер всегда является некой одной виртуальной машиной, полностью или частично генерирующей документ, хотя фактически он может быть группой серверов, между которыми балансируется нагрузка, то есть перераспределяются запросы различных пользователей, либо сложным программным обеспечением, опрашивающим другие компьютеры (такие как кэширующие серверы, серверы баз данных, серверы приложений электронной коммерции и другие).</p> +<p>На другой стороне коммуникационного канала расположен сервер, который обслуживает (англ. <em>serve</em>) пользователя, предоставляя ему документы по запросу. С точки зрения конечного пользователя, сервер всегда является некой одной виртуальной машиной, полностью или частично генерирующей документ, хотя фактически он может быть группой серверов, между которыми балансируется нагрузка, то есть перераспределяются запросы различных пользователей, либо сложным программным обеспечением, опрашивающим другие компьютеры (такие как кеширующие серверы, серверы баз данных, серверы приложений электронной коммерции и другие).</p> <p>Сервер не обязательно расположен на одной машине, и наоборот - несколько серверов могут быть расположены (поститься) на одной и той же машине. В соответствии с версией HTTP/1.1 и имея {{HTTPHeader("Host")}} заголовок, они даже могут делить тот же самый IP-адрес.</p> @@ -82,13 +82,13 @@ translation_of: Web/HTTP/Overview <h2 id="Чем_можно_управлять_через_HTTP">Чем можно управлять через HTTP</h2> -<p>Естественная расширяемость HTTP со временем позволила большее управление и функциональность Сети. Кэш и методы аутентификации были ранними функциями в истории HTTP. Способность ослабить первоначальные ограничения, напротив, была добавлена в 2010-е.</p> +<p>Естественная расширяемость HTTP со временем позволила большее управление и функциональность Сети. Кеш и методы аутентификации были ранними функциями в истории HTTP. Способность ослабить первоначальные ограничения, напротив, была добавлена в 2010-е.</p> <p>Ниже перечислены общие функции, управляемые с HTTP.</p> <ul> - <li><em><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching">Кэш</a></em><br> - Сервер может инструктировать прокси и клиенты: что и как долго кэшировать. Клиент может инструктировать прокси промежуточных кэшей игнорировать хранимые документы.</li> + <li><em><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching">Кеш</a></em><br> + Сервер может инструктировать прокси и клиенты: что и как долго кешировать. Клиент может инструктировать прокси промежуточных кешей игнорировать хранимые документы.</li> <li><em>Ослабление ограничений источника</em><br> Для предотвращения шпионских и других, нарушающих приватность, вторжений, веб-браузер обеспечивает строгое разделение между веб-сайтами. Только страницы из<strong> того же источника</strong> могут получить доступ к информации на веб-странице. Хотя такие ограничение нагружают сервер, заголовки HTTP могут ослабить строгое разделение на стороне сервера, позволяя документу стать частью информации с различных доменов (по причинам безопасности).</li> <li><em>Аутентификация</em><br> diff --git a/files/ru/web/http/session/index.html b/files/ru/web/http/session/index.html index 1b94555603..269c325bc1 100644 --- a/files/ru/web/http/session/index.html +++ b/files/ru/web/http/session/index.html @@ -36,7 +36,7 @@ translation_of: Web/HTTP/Session <li>версию HTTP протокола </li> </ul> </li> - <li>Каждая последующая строка представляет собой HTTP заголовок и передаёт серверу некоторую информацию о типах предпочитаемых данных (например, какой язык , какие MIME типы) или инструкции меняющие поведение сервера (например, не отправлять ответ, если он уже в кэше) . Эти HTTP заголовки формируют блок, который заканчивается пустой строкой.</li> + <li>Каждая последующая строка представляет собой HTTP заголовок и передаёт серверу некоторую информацию о типах предпочитаемых данных (например, какой язык , какие MIME типы) или инструкции меняющие поведение сервера (например, не отправлять ответ, если он уже в кеше) . Эти HTTP заголовки формируют блок, который заканчивается пустой строкой.</li> <li>Последний блок является не обязательным и содержит дополнительные данные. По большей части используется методом POST.</li> </ol> @@ -76,7 +76,7 @@ name=Joe%20User&request=Send%20me%20one%20of%20your%20catalogue</pre> <ol> <li>Первая строка — строка статуса, состоит из подтверждения используемой HTTP версии и статуса запроса (и его значения в виде, понятном человеку).</li> - <li>Последующие строки представляют собой HTTP заголовки, дающие клиенту некоторую информацию о посылаемых данных (прим. тип, размер, алгоритм сжатия, подсказки по кэшированию). Так же как и в случае клиентского запроса, эти HTTP заголовки формируют блок, заканчивающийся пустой строкой.</li> + <li>Последующие строки представляют собой HTTP заголовки, дающие клиенту некоторую информацию о посылаемых данных (прим. тип, размер, алгоритм сжатия, подсказки по кешированию). Так же как и в случае клиентского запроса, эти HTTP заголовки формируют блок, заканчивающийся пустой строкой.</li> <li>Последний блок содержит данные (если таковые имеются).</li> </ol> diff --git a/files/ru/web/http/status/200/index.html b/files/ru/web/http/status/200/index.html index ae8a98f91b..635eb21848 100644 --- a/files/ru/web/http/status/200/index.html +++ b/files/ru/web/http/status/200/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTTP/Status/200 --- <div>{{HTTPSidebar}}</div> -<p>Код ответа об успешном статусе "<em>The HTTP</em><strong> 200 OK</strong>" указывает, что запрос выполнен успешно. Ответ 200 может кэшироваться по умолчанию.</p> +<p>Код ответа об успешном статусе "<em>The HTTP</em><strong> 200 OK</strong>" указывает, что запрос выполнен успешно. Ответ 200 может кешироваться по умолчанию.</p> <p>Значение успеха зависит от метода <em>HTTP-</em>запроса:</p> diff --git a/files/ru/web/http/status/204/index.html b/files/ru/web/http/status/204/index.html index 299a8c9b81..966d4f7d1f 100644 --- a/files/ru/web/http/status/204/index.html +++ b/files/ru/web/http/status/204/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTTP/Status/204 --- <div>{{HTTPSidebar}}</div> -<p>"The HTTP <strong><code>204 No Content"</code></strong> код ответа статуса успеха указывает, что запрос имеет успех, но что клиенту не нужно уходить со своей текущей страницы. По умолчанию ответ <strong>204</strong> кэшируется. В такой ответ включён {{HTTPHeader("ETag")}}.</p> +<p>"The HTTP <strong><code>204 No Content"</code></strong> код ответа статуса успеха указывает, что запрос имеет успех, но что клиенту не нужно уходить со своей текущей страницы. По умолчанию ответ <strong>204</strong> кешируется. В такой ответ включён {{HTTPHeader("ETag")}}.</p> <p>Общим вариантом использования является возвращение <strong>204</strong> в результате запроса {{HTTPMethod("PUT")}}, обновления ресурса, без изменения текущего содержимого страницы, отображаемой пользователю. Если ресурс создан, вместо него возвращается {{HTTPStatus("201")}} <strong>Created</strong>. Если страница должна быть изменена на вновь обновлённую страницу, вместо неё следует использовать {{HTTPStatus("200")}}.</p> diff --git a/files/ru/web/http/status/304/index.html b/files/ru/web/http/status/304/index.html index 1917737e6c..ad1ac42ef1 100644 --- a/files/ru/web/http/status/304/index.html +++ b/files/ru/web/http/status/304/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTTP/Status/304 --- <div>{{HTTPSidebar}}</div> -<p>Код "HTTP <strong>304 Not Modified</strong>" клиента указывает, что нет необходимости повторно передавать запрошенные ресурсы. Это неявное перенаправление на кэшированный ресурс. Это происходит, когда метод {{glossary("safe")}}, например {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запрос или когда запрос является условным и использует {{HTTPHeader("If-None-Match")}} или {{HTTPHeader("If-Modified-Since")}}.</p> +<p>Код "HTTP <strong>304 Not Modified</strong>" клиента указывает, что нет необходимости повторно передавать запрошенные ресурсы. Это неявное перенаправление на кешированный ресурс. Это происходит, когда метод {{glossary("safe")}}, например {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запрос или когда запрос является условным и использует {{HTTPHeader("If-None-Match")}} или {{HTTPHeader("If-Modified-Since")}}.</p> <p>Если эквивалентный ответ {{HTTPStatus("200")}} <code>OK</code> включал {{HTTPHeader("Cache-Control")}}, {{HTTPHeader("Content-Location")}}, {{HTTPHeader("Date")}}, {{HTTPHeader("ETag")}}, {{HTTPHeader("Expires")}} и {{HTTPHeader("Vary")}}.</p> diff --git a/files/ru/web/http/status/410/index.html b/files/ru/web/http/status/410/index.html index 99afd4a8d8..89ed6a87e5 100644 --- a/files/ru/web/http/status/410/index.html +++ b/files/ru/web/http/status/410/index.html @@ -12,7 +12,7 @@ translation_of: Web/HTTP/Status/410 <p>Если вы не знаете, является это состояние временным или постоянным, вместо него следует использовать код статуса {{HTTPStatus(404)}} .</p> <div class="note"> -<p>По умолчанию ответ 410 кэшируется</p> +<p>По умолчанию ответ 410 кешируется</p> </div> <h2 id="Статус">Статус</h2> diff --git a/files/ru/web/http/status/501/index.html b/files/ru/web/http/status/501/index.html index f781b3460e..0a2cb5b846 100644 --- a/files/ru/web/http/status/501/index.html +++ b/files/ru/web/http/status/501/index.html @@ -10,7 +10,7 @@ translation_of: Web/HTTP/Status/501 </div> <div class="note"> -<p>По умолчанию ответ 501 можно кэшировать.</p> +<p>По умолчанию ответ 501 можно кешировать.</p> </div> <h2 id="Статус">Статус</h2> diff --git a/files/ru/web/http/status/503/index.html b/files/ru/web/http/status/503/index.html index 7e5cba9e09..8a7d603a49 100644 --- a/files/ru/web/http/status/503/index.html +++ b/files/ru/web/http/status/503/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTTP/Status/503 <p>Часто причиной этого оказывается закрытие сервера для технических работ или его перегрузка. Обратите внимание, что вместе с этим ответом следует отправить удобную для пользователя страницу, объясняющую проблему. Данный код должен использоваться для временных состояний, а HTTP-заголовок {{HTTPHeader("Retry-After")}} должен, по возможности, содержать предполагаемое время возвращения в работу.</p> -<p>Стоит позаботиться и о заголовках, связанных с кэшированием, отправляемых с этим кодом, так как код состояния 503 часто является временным условием, и ответы обычно не должны кэшироваться.</p> +<p>Стоит позаботиться и о заголовках, связанных с кешированием, отправляемых с этим кодом, так как код состояния 503 часто является временным условием, и ответы обычно не должны кешироваться.</p> <h2 id="Статус">Статус</h2> diff --git a/files/ru/web/http/status/index.html b/files/ru/web/http/status/index.html index 4b8b0ffd4b..d3eb150b6b 100644 --- a/files/ru/web/http/status/index.html +++ b/files/ru/web/http/status/index.html @@ -156,7 +156,7 @@ translation_of: Web/HTTP/Status <tr> <td id="304">304</td> <td>Not Modified</td> - <td>"Не модифицировано". Используется для кэширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кэшированную версию ответа.</td> + <td>"Не модифицировано". Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа.</td> <td>HTTP/0.9 and later</td> </tr> <tr> @@ -332,7 +332,7 @@ translation_of: Web/HTTP/Status <tr> <td id="503">503</td> <td>Service Unavailable</td> - <td>"Сервис недоступен". Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и <code>Retry-After:</code> HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кэшем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кэшироваться. </td> + <td>"Сервис недоступен". Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и <code>Retry-After:</code> HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кешем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кешироваться. </td> <td>HTTP/0.9 and later</td> </tr> <tr> diff --git a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html index e843b0c45f..e66d419329 100644 --- a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html +++ b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html @@ -49,7 +49,7 @@ console.log(date); <p> </p> -<p>Или, вы можете использовать {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}} объект, который позволяет кэшировать объект с большинством вычислений, выполненных таким образом, чтобы Форматирование было быстрым. Это полезно, если у вас есть цикл дат для форматирования.</p> +<p>Или, вы можете использовать {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}} объект, который позволяет кешировать объект с большинством вычислений, выполненных таким образом, чтобы Форматирование было быстрым. Это полезно, если у вас есть цикл дат для форматирования.</p> <pre class="brush: js example-good">var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; diff --git a/files/ru/web/javascript/reference/functions/get/index.html b/files/ru/web/javascript/reference/functions/get/index.html index 0e6803733f..d31e958a16 100644 --- a/files/ru/web/javascript/reference/functions/get/index.html +++ b/files/ru/web/javascript/reference/functions/get/index.html @@ -98,7 +98,7 @@ console.log(obj.foo); // "bar"</pre> <p>Геттеры дают нам возможность определять свойство объекта , но они не вычисляют значение этого свойства до тех пор, пока оно не станет доступно. Геттер откладывает стоимость вычисления значения до тех пор, пока это значение не станет нужно, и если оно никогда не понадобится, то вы никогда не заплатите.</p> -<p>Дополнительная техника оптимизации заключается в том, чтобы лениться или откладывать вычисление значения свойства и кэшировать его для дальнейшего доступа. Так поступают <strong>умные или <a href="https://en.wikipedia.org/wiki/Memoization">запоминающие</a> геттеры</strong>. Значение вычисляется в первый раз при вызове геттера и затем сохраняется в кэше так, что последующие обращения будут возвращать кэшированные значения без его пересчёта. Это полезно в следующих ситуациях:</p> +<p>Дополнительная техника оптимизации заключается в том, чтобы лениться или откладывать вычисление значения свойства и кешировать его для дальнейшего доступа. Так поступают <strong>умные или <a href="https://en.wikipedia.org/wiki/Memoization">запоминающие</a> геттеры</strong>. Значение вычисляется в первый раз при вызове геттера и затем сохраняется в кеше так, что последующие обращения будут возвращать кешированные значения без его пересчёта. Это полезно в следующих ситуациях:</p> <ul> <li>Если вычисление значения свойства дорого (занимает много оперативной памяти или процессорного времени, порождает рабочий поток, получает удалённый файл, и т. д.).</li> diff --git a/files/ru/web/mathml/authoring/index.html b/files/ru/web/mathml/authoring/index.html index f330d22d50..5421fb983f 100644 --- a/files/ru/web/mathml/authoring/index.html +++ b/files/ru/web/mathml/authoring/index.html @@ -300,7 +300,7 @@ sudo make install <ul> <li>плюсы: <ul> - <li>Преобразование выполняется на стороне сервера и полученный текст MathML можно кэшировать, что является более эффективным и чистым, чем преобразование на стороне клиента.</li> + <li>Преобразование выполняется на стороне сервера и полученный текст MathML можно кешировать, что является более эффективным и чистым, чем преобразование на стороне клиента.</li> </ul> </li> <li>минусы: diff --git a/files/ru/web/performance/how_browsers_work/index.html b/files/ru/web/performance/how_browsers_work/index.html index 5915c27700..d917c30251 100644 --- a/files/ru/web/performance/how_browsers_work/index.html +++ b/files/ru/web/performance/how_browsers_work/index.html @@ -39,7 +39,7 @@ translation_of: Web/Performance/How_browsers_work <p>Первый шаг навигации к странице - это поиск места, откуда нужно запрашивать данные. Если вы переходите на <code>https://example.com</code>, браузер грузит HTML-код страницы с IP-адреса <code>93.184.216.34</code>. Если вы никогда ранее не были на этом сайте, произойдёт поиск DNS записи.</p> -<p>Ваш браузер запрашивает DNS запись. Как правило, запрос содержит имя сервера, который должен быть преобразован в IP-адрес. Ответ на этот запрос какое-то время будет сохранён в кэше устройства, чтобы его можно было быстро получить при следующем запросе к тому же серверу.</p> +<p>Ваш браузер запрашивает DNS запись. Как правило, запрос содержит имя сервера, который должен быть преобразован в IP-адрес. Ответ на этот запрос какое-то время будет сохранён в кеше устройства, чтобы его можно было быстро получить при следующем запросе к тому же серверу.</p> <p>DNS запрос обычно требуется совершить лишь единожды при загрузке страницы. Однако, DNS запросы должны быть выполнены для каждого уникального имени хоста, который запрашивается страницей. Скажем, если ваши шрифты, картинки, скрипты, реклама или счётчики аналитики находятся на разных доменах, DNS запрос будет осуществлён для каждого из них.</p> diff --git a/files/ru/web/performance/how_long_is_too_long/index.html b/files/ru/web/performance/how_long_is_too_long/index.html index e53c2f96a4..e64a560d4a 100644 --- a/files/ru/web/performance/how_long_is_too_long/index.html +++ b/files/ru/web/performance/how_long_is_too_long/index.html @@ -19,7 +19,7 @@ translation_of: Web/Performance/How_long_is_too_long <p>Да, одна секунда на загрузку - это хорошая цель. Но лишь немногие приложения достигают этой скорости. Всё зависит от ожиданий. Например, от приложения "Hello World", работающего в корпоративной (локальной) сети, будет ожидаться загрузка за миллисекунды. Пользователь из северной Сибири, пользующийся Edge-мобильной сетью и устройством 5-летней давности, вероятно, посчитает даже 20-секундную загрузку быстрой. Однако, в среднем, если вы позволяете приложению не отвечать на запрос 3 или 4 секунды, вы, вероятно, потеряете пользователя. И, что ещё хуже, этот пользователь вряд ли вернётся к вам в ближайшее время.</p> -<p>В деле оптимизации производительности рекомендуется обозначить амбициозные задачи по первичной загрузке контента. Например, 5 секунд для 3G сетей и 1.5 секунды для офисного Т1 канала. Для навигации внутри приложения цели должны быть ещё строже. К счастью, для оптимизации можно использовать Service Workers и кэширование.</p> +<p>В деле оптимизации производительности рекомендуется обозначить амбициозные задачи по первичной загрузке контента. Например, 5 секунд для 3G сетей и 1.5 секунды для офисного Т1 канала. Для навигации внутри приложения цели должны быть ещё строже. К счастью, для оптимизации можно использовать Service Workers и кеширование.</p> <h3 id="Ожидание">Ожидание</h3> diff --git a/files/ru/web/performance/navigation_and_resource_timings/index.html b/files/ru/web/performance/navigation_and_resource_timings/index.html index 3dbae7164f..8628f79877 100644 --- a/files/ru/web/performance/navigation_and_resource_timings/index.html +++ b/files/ru/web/performance/navigation_and_resource_timings/index.html @@ -76,35 +76,35 @@ translation_of: Web/Performance/Navigation_and_resource_timings <tr> <td>{{domxref("PerformanceTiming.domainLookupEnd","domainLookupEnd")}}</td> <td> - <p>Поиск домена завершён. Если используется постоянное соединение, или используются данные, сохранённые в локальном кэше, то значение показателя будет таким же, как и <code>PerformanceTiming.fetchStart</code>.</p> + <p>Поиск домена завершён. Если используется постоянное соединение, или используются данные, сохранённые в локальном кеше, то значение показателя будет таким же, как и <code>PerformanceTiming.fetchStart</code>.</p> </td> </tr> <tr> <td>{{domxref("PerformanceTiming.domainLookupStart","domainLookupStart")}}</td> - <td>Начался поиск домена. Если используется постоянное соединение, или используются данные, сохранённые в локальном кэше, то значение показателя будет таким же, как и <code>PerformanceTiming.fetchStart</code>.</td> + <td>Начался поиск домена. Если используется постоянное соединение, или используются данные, сохранённые в локальном кеше, то значение показателя будет таким же, как и <code>PerformanceTiming.fetchStart</code>.</td> </tr> <tr> <td>{{domxref("PerformanceTiming.fetchStart","fetchStart")}}</td> <td> - <p>Браузер готов к загрузке документа с помощью HTTP-запроса. Этот этап всегда <strong>срабатывает до проверки</strong> кэша приложения.</p> + <p>Браузер готов к загрузке документа с помощью HTTP-запроса. Этот этап всегда <strong>срабатывает до проверки</strong> кеша приложения.</p> </td> </tr> <tr> <td>{{domxref("PerformanceTiming.requestStart","requestStart")}}</td> <td> - <p>Браузер посылает запрос на получение документа с сервера или из кэша. Если транспортный уровень сообщает об ошибке отправки запроса, а соединение переоткрывается - этот показатель будет перезаписан данными нового запроса.</p> + <p>Браузер посылает запрос на получение документа с сервера или из кеша. Если транспортный уровень сообщает об ошибке отправки запроса, а соединение переоткрывается - этот показатель будет перезаписан данными нового запроса.</p> </td> </tr> <tr> <td>{{domxref("PerformanceTiming.responseStart","responseStart")}}</td> <td> - <p>Браузер получает первый байт ответа от сервера, кэша или локального ресурса.</p> + <p>Браузер получает первый байт ответа от сервера, кеша или локального ресурса.</p> </td> </tr> <tr> <td>{{domxref("PerformanceTiming.responseEnd","responseEnd")}}</td> <td> - <p>Браузер получает последний байт ответа от сервера, кэша или локального ресурса. Если соединение закрывается раньше получения последнего байта - значение параметра указывает на момент закрытия соединения.</p> + <p>Браузер получает последний байт ответа от сервера, кеша или локального ресурса. Если соединение закрывается раньше получения последнего байта - значение параметра указывает на момент закрытия соединения.</p> </td> </tr> <tr> @@ -175,7 +175,7 @@ translation_of: Web/Performance/Navigation_and_resource_timings <h3 id="Время_до_первого_байта">Время до первого байта</h3> -<p><a href="/en-US/docs/Glossary/time_to_first_byte">Время до первого байта (Time to First Byte)</a> - это время между <code>navigationStart</code> и <code>responseStart</code> (момент, когда получен первый байт от сервера / кэша). Доступно в <code>performanceTiming</code> API</p> +<p><a href="/en-US/docs/Glossary/time_to_first_byte">Время до первого байта (Time to First Byte)</a> - это время между <code>navigationStart</code> и <code>responseStart</code> (момент, когда получен первый байт от сервера / кеша). Доступно в <code>performanceTiming</code> API</p> <pre class="brush: js">let ttfb = time.responseStart - time.navigationStart; </pre> @@ -280,7 +280,7 @@ performance.getEntriesByType('frame').forEach((frame) => { <p>API не предоставляет все измерения, которые разработчик хочет получить. Например, как долго продлилось выполнение запроса? Отдельного поля в объекте данных нет. Однако, мы можем использовать измерения, чтобы вычислить то, что нам нужно.</p> -<p>Чтобы определить время ответа, вычтите время старта запроса из времени старта получения ответа. Запрос стартует ровно в тот момент, когда клиент запрашивает ресурс с сервера (или из кэша). Ответ начинается ровно в тот момент, когда клиент получает первый байт.</p> +<p>Чтобы определить время ответа, вычтите время старта запроса из времени старта получения ответа. Запрос стартует ровно в тот момент, когда клиент запрашивает ресурс с сервера (или из кеша). Ответ начинается ровно в тот момент, когда клиент получает первый байт.</p> <pre class="brush: js">request = <a href="/en-US/docs/Web/API/PerformanceNavigationTiming/responseStart"><code>timing.responseStart</code></a> - <a href="/en-US/docs/Web/API/PerformanceNavigationTiming/requestStart"><code>timing.requestStart</code></a></pre> diff --git a/files/ru/web/performance/understanding_latency/index.html b/files/ru/web/performance/understanding_latency/index.html index 1e36dd3bf1..1f38273a4a 100644 --- a/files/ru/web/performance/understanding_latency/index.html +++ b/files/ru/web/performance/understanding_latency/index.html @@ -113,7 +113,7 @@ translation_of: Web/Performance/Understanding_latency <p><strong>Ожидание (Waiting</strong>) - это ожидание обработки запроса сервером. Например, вы хотите получить изображение. В этом случае сервер должен обратиться к файловой системе, найти файл, передать его HTTP соединению. В случае сложных динамических запросов процесс может занимать секунды и минуты. Это ещё одно место для оптимизации, но уже не клиентское, а серверное.</p> -<p><strong>Получение (Receiving</strong>) - это время на загрузку ответа. Этот показатель - комбинация скорости сети и размера файла. Если изображение было закешировано, то его загрузка может произойти мгновенно. Но если не использовать кэш и включить эмуляцию медленной сети, изображение может загружаться 43 секунды!</p> +<p><strong>Получение (Receiving</strong>) - это время на загрузку ответа. Этот показатель - комбинация скорости сети и размера файла. Если изображение было закешировано, то его загрузка может произойти мгновенно. Но если не использовать кеш и включить эмуляцию медленной сети, изображение может загружаться 43 секунды!</p> <h2 id="Измерение_времени_ожидания">Измерение времени ожидания</h2> diff --git a/files/ru/webassembly/index.html b/files/ru/webassembly/index.html index 0d5c9c5d30..0fc53d3733 100644 --- a/files/ru/webassembly/index.html +++ b/files/ru/webassembly/index.html @@ -28,8 +28,8 @@ translation_of: WebAssembly <dd>Главное, что позволяет WebAssembly, это использование огромного множества разнообразных и проверенных временем библиотек, написанных на языке C, в сети.</dd> <dt><a href="/ru/docs/WebAssembly/Loading_and_running">Загрузка и запуск кода WebAssembly</a></dt> <dd>После того, как у вас появился .wasm, эта статья расскажет, как из него получить, скомпилировать и создать экземпляр модуля, совмещая <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly">WebAssembly JavaScript API</a> c <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> или <a href="/en-US/docs/Web/API/XMLHttpRequest">XHR</a> API.</dd> - <dt><a href="/en-US/docs/WebAssembly/Caching_modules">Кэширование скомпилированных модулей WebAssembly</a></dt> - <dd>Кэширование больших модулей WebAssembly на клиенте полезно для повышения скорости запуска приложений. В этой статье объясняется, как это сделать с помощью <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a>.</dd> + <dt><a href="/en-US/docs/WebAssembly/Caching_modules">Кеширование скомпилированных модулей WebAssembly</a></dt> + <dd>Кеширование больших модулей WebAssembly на клиенте полезно для повышения скорости запуска приложений. В этой статье объясняется, как это сделать с помощью <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a>.</dd> <dt><a href="/ru/docs/WebAssembly/Using_the_JavaScript_API">Использование WebAssembly JavaScript API</a></dt> <dd>После того, как вы загрузили модуль .wasm, вы захотите его использовать. В этой статье мы покажем вам, как использовать WebAssembly через WebAssembly JavaScript API.</dd> <dt><a href="/en-US/docs/WebAssembly/Exported_functions">Экспортируемые функции WebAssembly</a></dt> |