From 55ddd4454665a3c66e3d5b186bc79048468d36e7 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Mon, 15 Mar 2021 14:29:50 +0300 Subject: Auto fixes --- .../identifying_resources_on_the_web/index.html | 4 ++-- .../web/http/basics_of_http/mime_types/index.html | 2 +- files/ru/web/http/caching/index.html | 6 +++--- files/ru/web/http/conditional_requests/index.html | 4 ++-- .../connection_management_in_http_1.x/index.html | 6 +++--- files/ru/web/http/content_negotiation/index.html | 12 ++++++------ files/ru/web/http/cookies/index.html | 2 +- .../corsalloworiginnotmatchingorigin/index.html | 2 +- files/ru/web/http/cors/index.html | 10 +++++----- files/ru/web/http/csp/index.html | 4 ++-- files/ru/web/http/feature_policy/index.html | 2 +- .../feature_policy/using_feature_policy/index.html | 18 +++++++++--------- .../ru/web/http/headers/accept-charset/index.html | 2 +- .../ru/web/http/headers/accept-language/index.html | 2 +- files/ru/web/http/headers/accept-ranges/index.html | 2 +- .../access-control-allow-headers/index.html | 2 +- .../access-control-allow-methods/index.html | 2 +- .../headers/access-control-allow-origin/index.html | 6 +++--- files/ru/web/http/headers/cache-control/index.html | 2 +- .../http/headers/content-disposition/index.html | 4 ++-- .../web/http/headers/content-language/index.html | 2 +- .../ru/web/http/headers/content-length/index.html | 2 +- files/ru/web/http/headers/dnt/index.html | 4 ++-- files/ru/web/http/headers/etag/index.html | 8 ++++---- files/ru/web/http/headers/if-match/index.html | 2 +- .../web/http/headers/if-modified-since/index.html | 2 +- files/ru/web/http/headers/index.html | 4 ++-- files/ru/web/http/headers/origin/index.html | 2 +- files/ru/web/http/headers/set-cookie/index.html | 10 +++++----- .../headers/strict-transport-security/index.html | 2 +- .../ru/web/http/headers/x-forwarded-for/index.html | 2 +- .../web/http/headers/x-xss-protection/index.html | 2 +- files/ru/web/http/messages/index.html | 4 ++-- files/ru/web/http/methods/options/index.html | 4 ++-- files/ru/web/http/methods/put/index.html | 2 +- files/ru/web/http/overview/index.html | 22 +++++++++++----------- files/ru/web/http/redirections/index.html | 6 +++--- files/ru/web/http/status/103/index.html | 2 +- files/ru/web/http/status/402/index.html | 2 +- files/ru/web/http/status/403/index.html | 2 +- files/ru/web/http/status/416/index.html | 2 +- files/ru/web/http/status/501/index.html | 2 +- files/ru/web/http/status/502/index.html | 2 +- files/ru/web/http/status/index.html | 12 ++++++------ 44 files changed, 99 insertions(+), 99 deletions(-) (limited to 'files/ru/web/http') diff --git a/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html b/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html index 5109191113..debd21c8bf 100644 --- a/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html +++ b/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html @@ -22,7 +22,7 @@ original_slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web_RU

"Объект" (или "цель") HTTP-запроса называется "ресурс", чья природа может быть разной: фото, документ, или что-либо ещё. Каждый ресурс идентифицируется с помощью унифицированного идентификатора ресурса ({{Glossary("URI")}}) используемого повсюду в HTTP для идентификации ресурсов.

-

Обычно чтобы описать конкретный ресурс (его имя) и его местоположение в Вебе, используется всего один URL (Uniform Resource Locator - Унифицированный локатор ресурса, вид URI, его ещё называеют веб-адресом). Можно добавить, что иногда с помощью специального заголовка {{HTTPHeader("Alt-Svc")}} в ответе на запрос можно попросить клиента перезапросить ресурс с другой локации.

+

Обычно чтобы описать конкретный ресурс (его имя) и его местоположение в Вебе, используется всего один URL (Uniform Resource Locator - Унифицированный локатор ресурса, вид URI, его ещё называют веб-адресом). Можно добавить, что иногда с помощью специального заголовка {{HTTPHeader("Alt-Svc")}} в ответе на запрос можно попросить клиента перезапросить ресурс с другой локации.

URLы и URNы

@@ -147,7 +147,7 @@ urn:ietf:rfc:7230
Anchor
-
#SomewhereInTheDocument - это "якорь" на другую часть ресурса. Якорь представляет собой что-то вроде "закладки" внутри ресурса, давая браузеру  указание показать содержимое с определенного места. В HTML-документе, к примеру, браузер будет скроллить к точке где якорь определён, а на аудио/видео-документе бразуер попытается перейти на время, указанное в якоре. Важно что часть, начинающаяся с # - никогда не пересылается серверу в запросе.
+
#SomewhereInTheDocument - это "якорь" на другую часть ресурса. Якорь представляет собой что-то вроде "закладки" внутри ресурса, давая браузеру  указание показать содержимое с определенного места. В HTML-документе, к примеру, браузер будет скроллить к точке где якорь определён, а на аудио/видео-документе браузер попытается перейти на время, указанное в якоре. Важно что часть, начинающаяся с # - никогда не пересылается серверу в запросе.

Заметки по использованию

diff --git a/files/ru/web/http/basics_of_http/mime_types/index.html b/files/ru/web/http/basics_of_http/mime_types/index.html index e368e2a496..41b620e326 100644 --- a/files/ru/web/http/basics_of_http/mime_types/index.html +++ b/files/ru/web/http/basics_of_http/mime_types/index.html @@ -25,7 +25,7 @@ translation_of: Web/HTTP/Basics_of_HTTP/MIME_types
тип/подтип;параметр=значение
-

Например, для MIME типов катогории text, необязательный параметр charset может быть задан для уточнения кодировки, используемой в документе. Для объявления, что пересылаемый файл имеет кодировку UTF-8, необходимо использовать MIME тип text/plain;charset=UTF-8. При не указании параметра charset, его значение автоматически будет задано, как {{Glossary("ASCII")}} (US-ASCII), если в настройках браузера не будет определено иначе.

+

Например, для MIME типов категории text, необязательный параметр charset может быть задан для уточнения кодировки, используемой в документе. Для объявления, что пересылаемый файл имеет кодировку UTF-8, необходимо использовать MIME тип text/plain;charset=UTF-8. При не указании параметра charset, его значение автоматически будет задано, как {{Glossary("ASCII")}} (US-ASCII), если в настройках браузера не будет определено иначе.

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

diff --git a/files/ru/web/http/caching/index.html b/files/ru/web/http/caching/index.html index ff4905250b..9e6efe7d3e 100644 --- a/files/ru/web/http/caching/index.html +++ b/files/ru/web/http/caching/index.html @@ -11,7 +11,7 @@ original_slug: Web/HTTP/Кэширование ---
{{HTTPSidebar}}
-

Производительность веб-сайтов и приложений можно значительно повысить за счет повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой траффик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми.

+

Производительность веб-сайтов и приложений можно значительно повысить за счет повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой трафик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми.

Различные виды кеширования

@@ -31,7 +31,7 @@ original_slug: Web/HTTP/Кэширование

Общий (shared) прокси-кеш

-

Кеш совместного использования — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой траффик и время ожидания.

+

Кеш совместного использования — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой трафик и время ожидания.

Цели кеширования

@@ -99,7 +99,7 @@ Cache-Control: public

Свежесть сохраненной копии

-

Однажды попав в кеш, ресурс, теоретически, может храниться там вечно. Однако, поскольку объем хранилища конечен, записи периодически приходится оттуда удалять.  Этот процесс называют вытеснением данных из кеша (cache eviction). Кроме того, ресурсы могут изменяться на сервере, поэтому кеш требуется обновлять. Поскольку HTTP является клиент-серверным протоколом, сервера не могут сами обращаться к кешам и клиентам при изменении ресурса; им необходимо договориться о сроке действия сохраненной копии. До его истечения ресурс считается свежим (fresh), после — устаревшим (stale). Алгоритмы вытеснения отдают предпочтение "свежим" ресурсам. Тем не менее, копия ресурса не удаляется из кеша сразу же по истечении ее срока действия; при получении запроса на устаревший ресурс кеш передаёт его дальше с заголовком {{HTTPHeader("If-None-Match")}} на случай, если копия все еще актуальна. Если это так, сервер возвращает заголовок {{HTTPStatus("304")}} Not Modified («не изменялось»), а тело ресурса не посылает, экономя тем самым траффик.

+

Однажды попав в кеш, ресурс, теоретически, может храниться там вечно. Однако, поскольку объем хранилища конечен, записи периодически приходится оттуда удалять.  Этот процесс называют вытеснением данных из кеша (cache eviction). Кроме того, ресурсы могут изменяться на сервере, поэтому кеш требуется обновлять. Поскольку HTTP является клиент-серверным протоколом, сервера не могут сами обращаться к кешам и клиентам при изменении ресурса; им необходимо договориться о сроке действия сохраненной копии. До его истечения ресурс считается свежим (fresh), после — устаревшим (stale). Алгоритмы вытеснения отдают предпочтение "свежим" ресурсам. Тем не менее, копия ресурса не удаляется из кеша сразу же по истечении ее срока действия; при получении запроса на устаревший ресурс кеш передаёт его дальше с заголовком {{HTTPHeader("If-None-Match")}} на случай, если копия все еще актуальна. Если это так, сервер возвращает заголовок {{HTTPStatus("304")}} Not Modified («не изменялось»), а тело ресурса не посылает, экономя тем самым трафик.

Вот пример того, как протекает этот процесс при использовании совместного кеша прокси:

diff --git a/files/ru/web/http/conditional_requests/index.html b/files/ru/web/http/conditional_requests/index.html index 547d4a80af..e515d13e24 100644 --- a/files/ru/web/http/conditional_requests/index.html +++ b/files/ru/web/http/conditional_requests/index.html @@ -5,11 +5,11 @@ translation_of: Web/HTTP/Conditional_requests ---

{{HTTPSidebar}}

-

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

+

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

Принципы

-

Условные запросы HTTP это запросы, которые выполняся по разному, в зависимости значения особых заголовков. Эти заголовки определяют предусловие, и результат запроса будет разным, если условие согласовано или нет.

+

Условные запросы HTTP это запросы, которые выполняются по разному, в зависимости значения особых заголовков. Эти заголовки определяют предусловие, и результат запроса будет разным, если условие согласовано или нет.

Отличие в поведении определяется используемым методом, и набором заголовков для предусловий:

diff --git a/files/ru/web/http/connection_management_in_http_1.x/index.html b/files/ru/web/http/connection_management_in_http_1.x/index.html index 16ce498108..4b75db2059 100644 --- a/files/ru/web/http/connection_management_in_http_1.x/index.html +++ b/files/ru/web/http/connection_management_in_http_1.x/index.html @@ -41,7 +41,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x

У постоянных соединений есть свои недочеты; даже работая вхолостую, они потребляют ресурсы сервера, а при высокой нагрузке могут проводиться {{glossary("DoS attack", "DoS attacks")}}. В таких случаях большую эффективность могут обеспечить не постоянные соединения, которые закрываются как только освободятся.

-

Соединеня HTTP/1.0 по умолчанию не являются постоянными. Для превращения их в постоянные надо присвоить заголовку {{HTTPHeader("Connection")}} значение, отличное от close - обычно retry-after.

+

Соединения HTTP/1.0 по умолчанию не являются постоянными. Для превращения их в постоянные надо присвоить заголовку {{HTTPHeader("Connection")}} значение, отличное от close - обычно retry-after.

В HTTP/1.1 соединения являются постоянными по умолчанию, так что этот заголовок больше не требуется (но часто добавляется в качестве защитной меры на случай, если потребуется откат к HTTP/1.0).

@@ -51,7 +51,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x

Конвейерная обработка HTTP в современных браузерах не активирована по умолчанию:

@@ -73,7 +73,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x

Не используйте этот устаревший метод без крайней необходимости; вместо этого переходите на HTTP/2. В HTTP/2 доменное разделение больше не требуется: соединение HTTP/2 соединение прекрасно работает с параллельными неприоритезированными запросами. Доменное разделение даже вредит производительности. Большинство реализаций HTTP/2 использует метод, называемый слиянием соединений (connection coalescing) для возврата конечного доменного разделения.

-

Поскольку соединение HTTP/1.x является последовательными запросами, даже без упорядочивания, оно не может быть оптимальным без наличия достаточно большой пропускной способности. Браузеры находят решение в открытии нескольких соедининий к каждому домену с отсылкой параллельных запросов. По умолчанию это когда-то было 2-3 соединения, но сейчас их число возросло примерно до 6 параллельных соединений. При попытке использовать большее количество есть риск спровоцировать защиту от DoS со стороны сервера.

+

Поскольку соединение HTTP/1.x является последовательными запросами, даже без упорядочивания, оно не может быть оптимальным без наличия достаточно большой пропускной способности. Браузеры находят решение в открытии нескольких соединений к каждому домену с отсылкой параллельных запросов. По умолчанию это когда-то было 2-3 соединения, но сейчас их число возросло примерно до 6 параллельных соединений. При попытке использовать большее количество есть риск спровоцировать защиту от DoS со стороны сервера.

Если сервер хочет иметь более быстрый ответ от веб-сайта или приложения, он может открыть больше соединений. Например, вместо того, чтобы иметь все ресурсы на одном домене, скажем, www.example.com, он может распределить их по нескольким доменам, www1.example.com, www2.example.com, www3.example.com. Каждый из этих доменов разрешается на том же сервере, и веб-браузер откроет 6 соединений к каждому (в нашем примере число соединений возрастет до 18). Этот метод называют доменным разделением (domain sharding).

diff --git a/files/ru/web/http/content_negotiation/index.html b/files/ru/web/http/content_negotiation/index.html index d5228526aa..28d401e3ad 100644 --- a/files/ru/web/http/content_negotiation/index.html +++ b/files/ru/web/http/content_negotiation/index.html @@ -11,7 +11,7 @@ translation_of: Web/HTTP/Content_negotiation

Принципы согласования контента

-

Конкретный документ называется ресурсом. Когда клиент хочет его получить, он запрашивает его используя его URL. Сервер использует этот URL, чтобы выбрать один из возможных вариантов - каждый вариант, назывется представлением, – и возвращает этот вариант клиенту. Ресурс в общем, а также каждое из представлений, имеют определенный URL. Выбор конкретного представления при вызове ресурса определяется механизмом согласования контента и существует несколько способов согласования между клиентом и сервером.

+

Конкретный документ называется ресурсом. Когда клиент хочет его получить, он запрашивает его используя его URL. Сервер использует этот URL, чтобы выбрать один из возможных вариантов - каждый вариант, называется представлением, – и возвращает этот вариант клиенту. Ресурс в общем, а также каждое из представлений, имеют определенный URL. Выбор конкретного представления при вызове ресурса определяется механизмом согласования контента и существует несколько способов согласования между клиентом и сервером.

@@ -26,13 +26,13 @@ translation_of: Web/HTTP/Content_negotiation

Согласование на основе сервера

-

В согласовании на стороне сервера или упреждающем согласовании, браузер (или любое другое клиентское приложение) посылае несколько заголовков HTTP наряду с URL. Эти заголовки описывают предпочтения пользователя. Сервер использует их в качестве посказок для внутреннего алгоритма, который выбирает наиболее подходящее представление ресурса, чтобы предоставить его клиенту. Реализация алгоритма в стандарт не входит и полностью зависит от сервера. Для примера, смотрите алгоритм согласования Apache 2.2.

+

В согласовании на стороне сервера или упреждающем согласовании, браузер (или любое другое клиентское приложение) посылает несколько заголовков HTTP наряду с URL. Эти заголовки описывают предпочтения пользователя. Сервер использует их в качестве подсказок для внутреннего алгоритма, который выбирает наиболее подходящее представление ресурса, чтобы предоставить его клиенту. Реализация алгоритма в стандарт не входит и полностью зависит от сервера. Для примера, смотрите алгоритм согласования Apache 2.2.

Стандарт HTTP/1.1 определяет список стандартных заголовков которые используются в этом механизме согласования – ({{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}). Хотя, строго говоря, {{HTTPHeader("User-Agent")}} не находится в этом списке, в некоторых случаях он используется, чтобы послать определённое представление запрошенного ресурса, несмотря на то, что это и не является хорошей практикой. Сервер использует заголовок {{HTTPHeader("Vary")}} чтобы обозначить, какие заголовки он использовал для согласования (точнее, ассоциированные с ними заголовки ответа), чтобы кэширование работало оптимально.

-

В дополнение к этим, есть предложение добавить больше заголовков в список доступным, так называемые Подсказки Клиента (Client Hints). Они будут предоставлять информацио о типе устройства на котором они используются (например, будет это настольный компьютер или мобильное устройство).

+

В дополнение к этим, есть предложение добавить больше заголовков в список доступным, так называемые Подсказки Клиента (Client Hints). Они будут предоставлять информацию о типе устройства на котором они используются (например, будет это настольный компьютер или мобильное устройство).

Согласование на стороне сервера является самым популярным способом согласования контента, но у него есть несколько недостатков:

@@ -44,7 +44,7 @@ translation_of: Web/HTTP/Content_negotiation

Заголовок Accept

-

Заголовок {{HTTPHeader("Accept")}} перечисляет MIME типы содержимого ресурса, которые клиент желает получить. Он представляет список MIME типов, разделенный запятыми, каждый из которых, опционально, снабжён коэффицентом желательности – параметром, определяющим относительный уровень желательности среди разных MIME типов.

+

Заголовок {{HTTPHeader("Accept")}} перечисляет MIME типы содержимого ресурса, которые клиент желает получить. Он представляет список MIME типов, разделенный запятыми, каждый из которых, опционально, снабжён коэффициентом желательности – параметром, определяющим относительный уровень желательности среди разных MIME типов.

{{HTTPHeader("Accept")}} определяется браузером, или любым другим клиентом, и может изменяться в зависимости от контекста, например, при получении страницы HTML, изображения, видео или скрипта – его содержимое будет различаться при запросе документа из строки адреса, через тег {{ HTMLElement("img") }}, {{ HTMLElement("video") }} или {{ HTMLElement("audio") }}. Браузеры могут использовать любое значение, которые они считают наиболее подходящим; можете ознакомиться со списком значений по умолчанию, используемых распространенными браузерами.

@@ -54,7 +54,7 @@ translation_of: Web/HTTP/Content_negotiation

Перед вами экспериментальная технология под названием Client Hints (Подсказки Клиента), реализуемая на данный момент только в Chrome 46 и более поздних версиях

-

Экспериментальный заголовок {{HTTPHeader("Accept-CH")}} перечисляет конфигурфцию клиента, которая может быть использована сервером для выбора подходящего ответа. Определённые значения:

+

Экспериментальный заголовок {{HTTPHeader("Accept-CH")}} перечисляет конфигурацию клиента, которая может быть использована сервером для выбора подходящего ответа. Определённые значения:

@@ -83,7 +83,7 @@ translation_of: Web/HTTP/Content_negotiation

Заголовок {{HTTPHeader("Accept-Charset")}} указывает серверу какие кодировки текста поддерживает клиент. По традиции он имеет своё значение для каждой локали браузера, например, ISO-8859-1,utf-8;q=0.7,*;q=0.7 установлен для западноевропейской локали.

-

В настоящее время, UTF-8 имеет серьёзную поддержку, является предпочтительным способом кодировки текста и гарантирует лучшую конфеденциальность за счет уменьшения разнообразия конфигураций, поэтому большая часть браузеров пропускает заголовок Accept-Charset: Internet Explorer 8, Safari 5, Opera 11 и Firefox 10 отказались от этого заголовка в запросах.

+

В настоящее время, UTF-8 имеет серьёзную поддержку, является предпочтительным способом кодировки текста и гарантирует лучшую конфиденциальность за счет уменьшения разнообразия конфигураций, поэтому большая часть браузеров пропускает заголовок Accept-Charset: Internet Explorer 8, Safari 5, Opera 11 и Firefox 10 отказались от этого заголовка в запросах.

Заголовок Accept-Encoding

diff --git a/files/ru/web/http/cookies/index.html b/files/ru/web/http/cookies/index.html index 15aedf93b7..f18f00eda4 100644 --- a/files/ru/web/http/cookies/index.html +++ b/files/ru/web/http/cookies/index.html @@ -121,7 +121,7 @@ console.log(document.cookie);
<img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory">
-

Теперь, если вы зашли в свой банковский аккаунт, а куки по-прежнему действительны (и никакой дополнительной проверки не требуется), то при загрузке HTML-документа с этим изображением деньги будут переведены с вашего счета. Для защиты от этого изпользуется ряд методов:

+

Теперь, если вы зашли в свой банковский аккаунт, а куки по-прежнему действительны (и никакой дополнительной проверки не требуется), то при загрузке HTML-документа с этим изображением деньги будут переведены с вашего счета. Для защиты от этого используется ряд методов:

diff --git a/files/ru/web/http/headers/accept-charset/index.html b/files/ru/web/http/headers/accept-charset/index.html index 5201aa7df9..a8008ec1b8 100644 --- a/files/ru/web/http/headers/accept-charset/index.html +++ b/files/ru/web/http/headers/accept-charset/index.html @@ -6,7 +6,7 @@ original_slug: Web/HTTP/Заголовки/Accept-Charset ---
{{HTTPSidebar}}
-

Заголовок Accept-Charset запроса HTTP сообщает какую кодировку клиент может понять. Используя согласование контента, сервер выбирает один из предложенных вариантов, использует его и информирует клиент о своем выборе в {{HTTPHeader("Content-Type")}} ответном заголовке. Браузер обычно не устанавливает этот заголовок, т.к. значение по умолчанию для каждого контентного типа обычно коректный  и передача его позволит с большей легкостью получить цифровой отпечаток.

+

Заголовок Accept-Charset запроса HTTP сообщает какую кодировку клиент может понять. Используя согласование контента, сервер выбирает один из предложенных вариантов, использует его и информирует клиент о своем выборе в {{HTTPHeader("Content-Type")}} ответном заголовке. Браузер обычно не устанавливает этот заголовок, т.к. значение по умолчанию для каждого контентного типа обычно корректный  и передача его позволит с большей легкостью получить цифровой отпечаток.

Если сервер не может обслужить никакую из предоставленных кодировок, теоретически он может вернуть {{HTTPStatus("406")}} (Not Acceptable) код ошибки. Но, для более лучшего пользовательского опыта, это редко делается и более частый способ в этом случае, это просто игнорирование заголовка Accept-Charset.

diff --git a/files/ru/web/http/headers/accept-language/index.html b/files/ru/web/http/headers/accept-language/index.html index 493d22e849..8cce5856b6 100644 --- a/files/ru/web/http/headers/accept-language/index.html +++ b/files/ru/web/http/headers/accept-language/index.html @@ -6,7 +6,7 @@ original_slug: Web/HTTP/Заголовки/Accept-Language ---
{{HTTPSidebar}}
-
{{Glossary("HTTP-заголовок")}} Запрос Accept-Language сообщает серверу, какие языки клиент понимает и какая локаль предпочтительнее (имеются в виду естественные языки, такие как английский, а не языки программирования). Используя механизм обсуждения содержимого  (content negotiation), сервер выбирает один из предложенных вариантов, использует его и информирует клиента о своем выборе при помощи заголовка ответа {{HTTPHeader("Content-Language")}}. Браузеры устанавливают соответствующие значения для данного заголовка, исходя из языка пользовательсокого интерфейса, и, даже если у пользователя есть возможность изменить значение заголовка Accept-Language, это происходит редко (и не одобряется, так как ведет.к идентификации).
+
{{Glossary("HTTP-заголовок")}} Запрос Accept-Language сообщает серверу, какие языки клиент понимает и какая локаль предпочтительнее (имеются в виду естественные языки, такие как английский, а не языки программирования). Используя механизм обсуждения содержимого  (content negotiation), сервер выбирает один из предложенных вариантов, использует его и информирует клиента о своем выборе при помощи заголовка ответа {{HTTPHeader("Content-Language")}}. Браузеры устанавливают соответствующие значения для данного заголовка, исходя из языка пользовательского интерфейса, и, даже если у пользователя есть возможность изменить значение заголовка Accept-Language, это происходит редко (и не одобряется, так как ведет.к идентификации).
diff --git a/files/ru/web/http/headers/accept-ranges/index.html b/files/ru/web/http/headers/accept-ranges/index.html index 52b098c390..fc91bb80fe 100644 --- a/files/ru/web/http/headers/accept-ranges/index.html +++ b/files/ru/web/http/headers/accept-ranges/index.html @@ -36,7 +36,7 @@ Accept-Ranges: none
none
-
Единица измерения диапазона не поддерживается, что эквивалентно отсутствию диапазона и поэтому редко используется, хотя некоторые браузеры, такие как IE9 используют его для отключения или удаления кнопоки паузы у активной загрузке в менеджере загрузок.
+
Единица измерения диапазона не поддерживается, что эквивалентно отсутствию диапазона и поэтому редко используется, хотя некоторые браузеры, такие как IE9 используют его для отключения или удаления кнопки паузы у активной загрузке в менеджере загрузок.
bytes

Единицей измерения для диапазона являются байты.

diff --git a/files/ru/web/http/headers/access-control-allow-headers/index.html b/files/ru/web/http/headers/access-control-allow-headers/index.html index a17c117bc5..d405260c68 100644 --- a/files/ru/web/http/headers/access-control-allow-headers/index.html +++ b/files/ru/web/http/headers/access-control-allow-headers/index.html @@ -13,7 +13,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Headers

Заголовок ответа Access-Control-Allow-Headers используется в ответ на {{glossary("preflight request")}}, чтобы указать, какие заголовки HTTP могут использоваться во время фактического запроса.

-

The {{glossary("simple header", "simple headers")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Content-Language")}}, {{HTTPHeader("Content-Type")}} (но только с MIME-типом, найденым в этом значении (исключая параметры), либо application/x-www-form-urlencoded, multipart/form-data или text/plain), всегда доступны и не должны быть перечислены в этом заголовке.

+

The {{glossary("simple header", "simple headers")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Content-Language")}}, {{HTTPHeader("Content-Type")}} (но только с MIME-типом, найденным в этом значении (исключая параметры), либо application/x-www-form-urlencoded, multipart/form-data или text/plain), всегда доступны и не должны быть перечислены в этом заголовке.

Этот заголовок обязателен, если запрос содержит заголовок {{HTTPHeader("Access-Control-Request-Headers")}}.

diff --git a/files/ru/web/http/headers/access-control-allow-methods/index.html b/files/ru/web/http/headers/access-control-allow-methods/index.html index 8b48a2b470..788d616348 100644 --- a/files/ru/web/http/headers/access-control-allow-methods/index.html +++ b/files/ru/web/http/headers/access-control-allow-methods/index.html @@ -60,7 +60,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Methods

Совместимость с браузерами

- +

{{Compat("http.headers.Access-Control-Allow-Methods")}}

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 d936294572..402d34c996 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 @@ -37,7 +37,7 @@ Access-Control-Allow-Origin: null
Указывает источник. Может быть указан только один источник.
null
Определяет в качестве источника "null". -
Замечание: Не используйте null: "Может показаться, что вернуть Access-Control-Allow-Origin: "null" безопасно, но сериализация Источника любого ресурса, использующего неиерархическую схему (такие как data: или file:), и изолированные документы, определяются как "null". Многие пользовательские агенты предоставляют таким документам доступ к ответу сзаголовком Access-Control-Allow-Origin: "null", и любой источник модет создать враждебный документ с Источником "null". Поэтому использования заголовка ACAO со значением "null" следует избегать."
+
Замечание: Не используйте null: "Может показаться, что вернуть Access-Control-Allow-Origin: "null" безопасно, но сериализация Источника любого ресурса, использующего неиерархическую схему (такие как data: или file:), и изолированные документы, определяются как "null". Многие пользовательские агенты предоставляют таким документам доступ к ответу с заголовком Access-Control-Allow-Origin: "null", и любой источник может создать враждебный документ с Источником "null". Поэтому использования заголовка ACAO со значением "null" следует избегать."
@@ -51,11 +51,11 @@ Access-Control-Allow-Origin: null
Access-Control-Allow-Origin: https://developer.mozilla.org
-

Чтобы ограничить Access-Control-Allow-Origin разрешенным набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка {{HTTPHeader("Origin")}} запроса, спавнить его с разрешенным списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение Access-Control-Allow-Origin, равное значению {{HTTPHeader("Origin")}}.

+

Чтобы ограничить Access-Control-Allow-Origin разрешенным набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка {{HTTPHeader("Origin")}} запроса, сравнить его с разрешенным списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение Access-Control-Allow-Origin, равное значению {{HTTPHeader("Origin")}}.

CORS и кэширование

-

Если сервер послал ответ со значением Access-Control-Allow-Origin, которое содержит явное указание источника (а не шаблонное значние "*"), тогда ответ также должен включать в себя заголовок {{HTTPHeader("Vary")}} со значением Origin — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса Origin.

+

Если сервер послал ответ со значением Access-Control-Allow-Origin, которое содержит явное указание источника (а не шаблонное значение "*"), тогда ответ также должен включать в себя заголовок {{HTTPHeader("Vary")}} со значением Origin — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса Origin.

Access-Control-Allow-Origin: https://developer.mozilla.org
 Vary: Origin
diff --git a/files/ru/web/http/headers/cache-control/index.html b/files/ru/web/http/headers/cache-control/index.html index f30d5debcf..4d1165c324 100644 --- a/files/ru/web/http/headers/cache-control/index.html +++ b/files/ru/web/http/headers/cache-control/index.html @@ -91,7 +91,7 @@ Cache-Control: stale-if-error=<seconds>
s-maxage=<seconds>
Переопределяет max-age или заголовок Expires, но применяется только для разделяемых кэшей (например, прокси) и игнорируется частными кэшами.
max-stale[=<seconds>]
-
Указывает, что клиент хочет пролучить ответ, для которого было превышено время устаревания. Дополнительно может быть указано значение в секундах, указывающее, что ответ не должен быть просрочен более чем на указанное значение.
+
Указывает, что клиент хочет получить ответ, для которого было превышено время устаревания. Дополнительно может быть указано значение в секундах, указывающее, что ответ не должен быть просрочен более чем на указанное значение.
min-fresh=<seconds>
Указывает, что клиент хочет получить ответ, который будет актуален как минимум указанное количество секунд.
stale-while-revalidate=<seconds> {{experimental_inline}}
diff --git a/files/ru/web/http/headers/content-disposition/index.html b/files/ru/web/http/headers/content-disposition/index.html index 7004a28735..144fb4b808 100644 --- a/files/ru/web/http/headers/content-disposition/index.html +++ b/files/ru/web/http/headers/content-disposition/index.html @@ -10,7 +10,7 @@ original_slug: Web/HTTP/Заголовки/Content-Disposition ---
{{HTTPSidebar}}
-
В обычном HTTP-ответе заголовок Content-Disposition является индикатором того, что ожидаемый контент ответа будет отображаться в браузере, как вэб-страница или часть вэб-страницы, или же как вложение, которое затем может быть скачано и сохранено локально.
+
В обычном HTTP-ответе заголовок Content-Disposition является индикатором того, что ожидаемый контент ответа будет отображаться в браузере, как веб-страница или часть веб-страницы, или же как вложение, которое затем может быть скачано и сохранено локально.
 
@@ -36,7 +36,7 @@ original_slug: Web/HTTP/Заголовки/Content-Disposition

Как заголовок ответа с обычным телом

-

Первым параметром в контексте HTTP должен быть или inline (это значение по умолчанию, указывающее, что контент должен быть отображен внутри вэб-страницы или как вэб-страница) или attachment (указывает на скачиваемый контент; большинство браузеров отображают диалог "Сохранить как" с заранее заполненным именем файла из параметра filename, если он задан).

+

Первым параметром в контексте HTTP должен быть или inline (это значение по умолчанию, указывающее, что контент должен быть отображен внутри веб-страницы или как веб-страница) или attachment (указывает на скачиваемый контент; большинство браузеров отображают диалог "Сохранить как" с заранее заполненным именем файла из параметра filename, если он задан).

Content-Disposition: inline
 Content-Disposition: attachment
diff --git a/files/ru/web/http/headers/content-language/index.html b/files/ru/web/http/headers/content-language/index.html
index 82099fc680..bf273885a3 100644
--- a/files/ru/web/http/headers/content-language/index.html
+++ b/files/ru/web/http/headers/content-language/index.html
@@ -58,7 +58,7 @@ Content-Language: de-DE, en-CA
 
 

Указание использованного языка документа

-

Глобальный аттрибут lang используется на HTML элементах для указания языка всего HTML документа или его частей.

+

Глобальный атрибут lang используется на HTML элементах для указания языка всего HTML документа или его частей.

<html lang="de">
diff --git a/files/ru/web/http/headers/content-length/index.html b/files/ru/web/http/headers/content-length/index.html index 8212fa93f4..baefce6314 100644 --- a/files/ru/web/http/headers/content-length/index.html +++ b/files/ru/web/http/headers/content-length/index.html @@ -57,7 +57,7 @@ original_slug: Web/HTTP/Заголовки/Content-Length

Браузерная совместимость

- +

{{Compat("http.headers.Content-Length")}}

diff --git a/files/ru/web/http/headers/dnt/index.html b/files/ru/web/http/headers/dnt/index.html index 8b6be230e0..c4b7d6ae4d 100644 --- a/files/ru/web/http/headers/dnt/index.html +++ b/files/ru/web/http/headers/dnt/index.html @@ -33,14 +33,14 @@ DNT: 1
0
Пользователь разрешает отслеживание на целевом сайте.
1
-
Пользователь предпочитает не остлеживаться на целевом сайте.
+
Пользователь предпочитает не отслеживаться на целевом сайте.

Примеры

Чтение статуса Do Not Track из JavaScript

-

DNT предпочтение пользвователя может быть считано из JavaScript используя свойство {{domxref("Navigator.doNotTrack")}} :

+

DNT предпочтение пользователя может быть считано из JavaScript используя свойство {{domxref("Navigator.doNotTrack")}} :

navigator.doNotTrack; // "0" or "1"
diff --git a/files/ru/web/http/headers/etag/index.html b/files/ru/web/http/headers/etag/index.html index e8ab0a5f76..01aed7fa9b 100644 --- a/files/ru/web/http/headers/etag/index.html +++ b/files/ru/web/http/headers/etag/index.html @@ -35,7 +35,7 @@ ETag: "<etag_value>"
W/ {{optional_inline}}
'W/' (чувствителен к регистру) указывает, что используется слабый валидатор. Слабые валидаторы легко сгенерировать, но они намного реже используются для сравнения. Сильные валидаторы идеальны для сравнения, но их может быть очень сложно сгенерировать эффективно. Слабое значение Etag двух представлений одного и того же ресурса может быть семантически одинаково, но не байт-в-байт.
"<etag_value>"
-
Тэг сущности, уникально представляющий запрашиваемый ресурс. Это строка ASCII кодов, заключенная в двойные кавычки (например, "675af34563dc-tr34"). Метод, по которому генерируются значения ETag, не определен. Обычно, используется хэш контента, хэш последнего времени модификации или просто номер ревизии. Например, MDN использует шестнадцатиричных хэш wiki-содержимого.
+
Тэг сущности, уникально представляющий запрашиваемый ресурс. Это строка ASCII кодов, заключенная в двойные кавычки (например, "675af34563dc-tr34"). Метод, по которому генерируются значения ETag, не определен. Обычно, используется хэш контента, хэш последнего времени модификации или просто номер ревизии. Например, MDN использует шестнадцатеричных хэш wiki-содержимого.

Примеры

@@ -47,17 +47,17 @@ ETag: W/"0815"

С помощью заголовков ETag и {{HTTPHeader("If-Match")}}, существует возможность обнаружить коллизии в процессе работы приложения.

-

Например, при редактировании MDN, текущее содержимое статьи захэшировано и помещено в ответ при помощи заголовока Etag:

+

Например, при редактировании MDN, текущее содержимое статьи захэшировано и помещено в ответ при помощи заголовка Etag:

ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
-

При сохранении изменений в статье (данные отправляются), {{HTTPMethod("POST")}} запрос будет содержать заголовок {{HTTPHeader("If-Match")}}, значение которого эквивалетно значению ETag. Это позволяет проверить актуальность данных.

+

При сохранении изменений в статье (данные отправляются), {{HTTPMethod("POST")}} запрос будет содержать заголовок {{HTTPHeader("If-Match")}}, значение которого эквивалентно значению ETag. Это позволяет проверить актуальность данных.

If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"

Если хэши из заголовков не совпадают, это означает что данные уже были изменены между запросами (in-between) и будет возвращена ошибка {{HTTPStatus("412")}} Precondition Failed.

-

Кэширование неизменямых ресурсов

+

Кэширование неизменяемых ресурсов

Другая типичная ситуация для использования ETag — кэширование ресурсов, которые не будут изменяться. Если пользователь повторно посещает URL-адрес (с установленным заголовком ETag), и при этом данные слишком устарели и не могут быть использованы, тогда клиент отправит значение ETag внутри заголовка {{HTTPHeader("If-None-Match")}}:

diff --git a/files/ru/web/http/headers/if-match/index.html b/files/ru/web/http/headers/if-match/index.html index f09d5894b5..1f46b5bbb1 100644 --- a/files/ru/web/http/headers/if-match/index.html +++ b/files/ru/web/http/headers/if-match/index.html @@ -59,7 +59,7 @@ If-Match: *
- + 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 e08d9e88b9..574931193f 100644 --- a/files/ru/web/http/headers/if-modified-since/index.html +++ b/files/ru/web/http/headers/if-modified-since/index.html @@ -80,7 +80,7 @@ original_slug: Web/HTTP/Заголовки/If-Modified-Since

Совместимость с браузером

- +

{{Compat("http/headers/if-modified-since")}}

diff --git a/files/ru/web/http/headers/index.html b/files/ru/web/http/headers/index.html index 9cfb918eab..ddb86dab64 100644 --- a/files/ru/web/http/headers/index.html +++ b/files/ru/web/http/headers/index.html @@ -9,7 +9,7 @@ original_slug: Web/HTTP/Заголовки ---

{{ HTTPSidebar }}

-

Заголовки HTTP позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. В HTTP-заголовке содержится не чувствительное к регистру название, а затем после (:) непостредственно значение. Пробелы перед значением игнорируются.

+

Заголовки HTTP позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. В HTTP-заголовке содержится не чувствительное к регистру название, а затем после (:) непосредственно значение. Пробелы перед значением игнорируются.

Пользовательские собственные заголовки исторически использовались с префиксом X, но это соглашение было объявлено устаревшим в июне 2012 года из-за неудобств, вызванных тем, что нестандартные поля стали стандартом в RFC 6648; другие перечислены в реестре IANA, исходное содержимое которого было определено в RFC 4229. IANA также поддерживает реестр предлагаемых новых заголовков HTTP.

@@ -96,7 +96,7 @@ original_slug: Web/HTTP/Заголовки - + diff --git a/files/ru/web/http/headers/origin/index.html b/files/ru/web/http/headers/origin/index.html index 1f4673dce4..d5bc3fa8ea 100644 --- a/files/ru/web/http/headers/origin/index.html +++ b/files/ru/web/http/headers/origin/index.html @@ -37,7 +37,7 @@ Origin: <протокол> "://" <имя_хоста> [ ":" <по
<имя_хоста>
Доменное имя сервера (для виртуального хостинга) или IP.
<порт> {{optional_inline}}
-
Номер TCP порта, который сервер будет слушать. Если порт не задан, будет использован порт по умолчанию для указаного сервиса (например "80" для HTTP).
+
Номер TCP порта, который сервер будет слушать. Если порт не задан, будет использован порт по умолчанию для указанного сервиса (например "80" для HTTP).

Примеры

diff --git a/files/ru/web/http/headers/set-cookie/index.html b/files/ru/web/http/headers/set-cookie/index.html index 96b2086206..1898f6cf56 100644 --- a/files/ru/web/http/headers/set-cookie/index.html +++ b/files/ru/web/http/headers/set-cookie/index.html @@ -62,8 +62,8 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>
<cookie-name>=<cookie-value>
Cookie начинается с пары имя-значение: @@ -72,7 +72,7 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>

Максимальное время жизни cookie в формате метки даты-времени HTTP.  См. {{HTTPHeader("Date")}} о деталях формата  Если не определен, cookie будет иметь время жизни сессионного cookie.   Сессия окончена, когда клиент отключается, что приводит к удалению сессионных cookie в этот момент. Однако, многие браузеры имеют возможность, называемую восстановление сессии, которая сохраняет все ваши вкладки и затем возвращает их, когда вы в следующий раз запускаете браузер. Cookies будут также присутствовать, словно вы никогда не закрывали браузер.

-

Когда установливается срок действия, время и дата устанавливаются не относитеьно сервера, а относительно клиента, на котором установлено cookie,

+

Когда устанавливается срок действия, время и дата устанавливаются не относительно сервера, а относительно клиента, на котором установлено cookie,

Max-Age=<number> {{optional_inline}}
Количество секунд, после которого cookie устаревает.  Ноль или отрицательное число приводят к моментальному устареванию cookie. Старые браузеры (ie6, ie7, and ie8) не поддерживают Max-Age.  Для прочих браузеров, если оба параметра (Expires and Max-Age) установлены, Max-Age будет иметь преимущество.
@@ -90,13 +90,13 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>
Secure {{optional_inline}}
Cookie будет отправлен на сервер только с запросами c использованием SSL и протокола HTTPS.

- Cookie не будет дополнительно шифроваться, поэтому в нем не стоит хранить конфиденциальную инфомрацию.
+ Cookie не будет дополнительно шифроваться, поэтому в нем не стоит хранить конфиденциальную информацию.

Note: небезопасные сайты (http:) не могут использовать cookie с атрибутом "secure" (начиная с Chrome 52+ и Firefox 52+).

HttpOnly {{optional_inline}}
Запрещает JavaScript доступ к cookie
-
Полезно для защиы от XSS-атак.
+
Полезно для защиты от XSS-атак.
SameSite=<samesite-value> {{optional_inline}}
diff --git a/files/ru/web/http/headers/strict-transport-security/index.html b/files/ru/web/http/headers/strict-transport-security/index.html index 14e7b9e19d..b4c6271a82 100644 --- a/files/ru/web/http/headers/strict-transport-security/index.html +++ b/files/ru/web/http/headers/strict-transport-security/index.html @@ -72,7 +72,7 @@ Strict-Transport-Security: max-age=<expire-time>; preload

Пример

-

Все текущие и будущие сабдомены будут HTTPS по max-age на 1 год. Это блокирует доступ к страницам или сабдоменам, которые могут быть доступны только по HTTP.

+

Все текущие и будущие субдомены будут HTTPS по max-age на 1 год. Это блокирует доступ к страницам или субдоменам, которые могут быть доступны только по HTTP.

Strict-Transport-Security: max-age=31536000; includeSubDomains
diff --git a/files/ru/web/http/headers/x-forwarded-for/index.html b/files/ru/web/http/headers/x-forwarded-for/index.html index 47612909ad..337bdaaacd 100644 --- a/files/ru/web/http/headers/x-forwarded-for/index.html +++ b/files/ru/web/http/headers/x-forwarded-for/index.html @@ -59,7 +59,7 @@ X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178
# Used for some Google services
 X-ProxyUser-Ip: 203.0.113.19
-

Спецификаци

+

Спецификации

Не является частью любой текущей спецификации. Стандартизованная версия этого заголовка {{HTTPHeader("Forwarded")}}.

diff --git a/files/ru/web/http/headers/x-xss-protection/index.html b/files/ru/web/http/headers/x-xss-protection/index.html index 4b318369f0..442fe6ab95 100644 --- a/files/ru/web/http/headers/x-xss-protection/index.html +++ b/files/ru/web/http/headers/x-xss-protection/index.html @@ -68,7 +68,7 @@ X-XSS-Protection: 1; report=<reporting-uri>

Спецификации

-

Не является частью каких-либо спецификай или черновиков.

+

Не является частью каких-либо специфика или черновиков.

Поддерживается браузерами

diff --git a/files/ru/web/http/messages/index.html b/files/ru/web/http/messages/index.html index 0aa51b52a1..e41f8ceecf 100644 --- a/files/ru/web/http/messages/index.html +++ b/files/ru/web/http/messages/index.html @@ -3,7 +3,7 @@ title: Сообщения HTTP slug: Web/HTTP/Messages tags: - HTTP - - ВебМеханика + - Веб Механика - Руководство translation_of: Web/HTTP/Messages --- @@ -133,7 +133,7 @@ translation_of: Web/HTTP/Messages

HTTP/2 переходит на новый уровень: он делит сообщения HTTP/1.x на фреймы, которые внедряются в поток. Фреймы данных из заголовков отделены друг от друга, что позволяет сжимать заголовки. Несколько потоков можно объединять друг с другом - такой процесс называется мультиплексированием - что позволяет более эффективно использовать TCP-соединения.

diff --git a/files/ru/web/http/methods/options/index.html b/files/ru/web/http/methods/options/index.html index 7df81b0124..a6f1d95b77 100644 --- a/files/ru/web/http/methods/options/index.html +++ b/files/ru/web/http/methods/options/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTTP/Methods/OPTIONS ---
{{HTTPSidebar}}
-

HTTP-метод OPTIONS используется для описания параметров соединения с целевым ресурсом. Клиент может указать особый URL для обработки метода OPTIONS, или * (зведочку) чтобы указать весь сервер целиком.

+

HTTP-метод OPTIONS используется для описания параметров соединения с целевым ресурсом. Клиент может указать особый URL для обработки метода OPTIONS, или * (звездочку) чтобы указать весь сервер целиком.

СпецификвцияСпецификация Название
Accept-EncodingСпиcок форматов сжатия данных, которые поддерживает клиент.Список форматов сжатия данных, которые поддерживает клиент. HTTP Content Negotiation HTTP/1.1
@@ -50,7 +50,7 @@ OPTIONS * HTTP/1.1

Определение разрешенных сервером методов запроса

-

Для того, чтобы узнать какие методы запросов поддерживаются сервером, можно возпользоваться curl направить OPTIONS запрос:

+

Для того, чтобы узнать какие методы запросов поддерживаются сервером, можно воспользоваться curl направить OPTIONS запрос:

curl -X OPTIONS http://example.org -i
diff --git a/files/ru/web/http/methods/put/index.html b/files/ru/web/http/methods/put/index.html index 5c89a7887c..c759172730 100644 --- a/files/ru/web/http/methods/put/index.html +++ b/files/ru/web/http/methods/put/index.html @@ -69,7 +69,7 @@ Content-length: 16 Content-Location: /new.html -

Если целевой ресур содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или {{HTTPStatus("200")}} (OK), или {{HTTPStatus("204")}} (No Content) для информирования об успешном завершении запроса.

+

Если целевой ресурс содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или {{HTTPStatus("200")}} (OK), или {{HTTPStatus("204")}} (No Content) для информирования об успешном завершении запроса.

HTTP/1.1 204 No Content
 Content-Location: /existing.html
diff --git a/files/ru/web/http/overview/index.html b/files/ru/web/http/overview/index.html
index 86ea95db81..e4b79afce4 100644
--- a/files/ru/web/http/overview/index.html
+++ b/files/ru/web/http/overview/index.html
@@ -34,7 +34,7 @@ translation_of: Web/HTTP/Overview
 
 

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

-

Чтобы отобразить веб страницу, браузер отправляет начальный запрос для получения HTML-документа этой страницы. После этого браузер изучает этот документ, и запрашивает дополнительные файлы, необходимые для отбражения содержания веб-страницы (исполняемые скрипты, информацию о макете страницы - CSS таблицы стилей, дополнительные ресурсы в виде изображений и видео-файлов), которые непосредственно являются частью исходного документа, но расположены в других местах сети. Далее браузер соединяет все эти ресурсы для отображения их пользователю в виде единого документа — веб-страницы. Скрипты, выполняемые самим браузером, могут получать по сети дополнительные ресурсы на последующих этапах обработки веб-страницы, и браузер соответствующим образом обновляет отображение этой страницы для пользователя.

+

Чтобы отобразить веб страницу, браузер отправляет начальный запрос для получения HTML-документа этой страницы. После этого браузер изучает этот документ, и запрашивает дополнительные файлы, необходимые для отображения содержания веб-страницы (исполняемые скрипты, информацию о макете страницы - CSS таблицы стилей, дополнительные ресурсы в виде изображений и видео-файлов), которые непосредственно являются частью исходного документа, но расположены в других местах сети. Далее браузер соединяет все эти ресурсы для отображения их пользователю в виде единого документа — веб-страницы. Скрипты, выполняемые самим браузером, могут получать по сети дополнительные ресурсы на последующих этапах обработки веб-страницы, и браузер соответствующим образом обновляет отображение этой страницы для пользователя.

Веб-страница является гипертекстовым документом. Это означает, что некоторые части отображаемого текста являются ссылками, которые могут быть активированы (обычно нажатием кнопки мыши) с целью получения и соответственно отображения новой веб-страницы (переход по ссылке). Это позволяет пользователю "перемещаться" по страницам сети (Internet). Браузер преобразует эти гиперссылки в HTTP-запросы и в дальнейшем полученные HTTP-ответы отображает в понятном для пользователя виде.

@@ -42,7 +42,7 @@ translation_of: Web/HTTP/Overview

На другой стороне коммуникационного канала расположен сервер, который обслуживает (англ. serve) пользователя, предоставляя ему документы по запросу. С точки зрения конечного пользователя, сервер всегда является некой одной виртуальной машиной, полностью или частично генерирующей документ, хотя фактически он может быть группой серверов, между которыми балансируется нагрузка, то есть перераспределяются запросы различных пользователей, либо сложным программным обеспечением, опрашивающим другие компьютеры (такие как кэширующие серверы, серверы баз данных, серверы приложений электронной коммерции и другие).

-

Сервер не обязательно расположен на одной машине, и наоборот - несколько серверов могут быть расположены (хоститься) на одной и той же машине. В соответствии с версией HTTP/1.1 и имея {{HTTPHeader("Host")}} заголовок, они даже могут делить тот же самый IP-адрес.

+

Сервер не обязательно расположен на одной машине, и наоборот - несколько серверов могут быть расположены (поститься) на одной и той же машине. В соответствии с версией HTTP/1.1 и имея {{HTTPHeader("Host")}} заголовок, они даже могут делить тот же самый IP-адрес.

Прокси

@@ -76,9 +76,9 @@ translation_of: Web/HTTP/Overview

HTTP/1.0 открывал TCP-соединение для каждого обмена запросом/ответом, имея два важных недостатка: открытие соединения требует нескольких обменов сообщениями, и потому медленно, хотя становится более эффективным при отправке нескольких сообщений, или при регулярной отправке сообщений: теплые соединения более эффективны, чем холодные.

-

Для смягчения этих недостатков, HTTP/1.1 предоставил конвеерную обработку (которую оказалось трудно реализовать) и устойчивые соединения: лежащее в основе TCP соединение можно частично контролировать через заголовок  {{HTTPHeader("Connection")}}. HTTP/2 сделал следующий шаг, добавив мультиплексирование сообщений через простое соединение, помогающее держать соединение теплым и более эффективным.

+

Для смягчения этих недостатков, HTTP/1.1 предоставил конвейерную обработку (которую оказалось трудно реализовать) и устойчивые соединения: лежащее в основе TCP соединение можно частично контролировать через заголовок  {{HTTPHeader("Connection")}}. HTTP/2 сделал следующий шаг, добавив мультиплексирование сообщений через простое соединение, помогающее держать соединение теплым и более эффективным.

-

Проводятся эксперименты по разработке лучшего транспортного протокола, более подходящего для HTTP. Например, Google эксперементирует с QUIC, которая основана на  UDP, для предоставления более надёжного и эффективного транспортного протокола.

+

Проводятся эксперименты по разработке лучшего транспортного протокола, более подходящего для HTTP. Например, Google экспериментирует с QUIC, которая основана на  UDP, для предоставления более надёжного и эффективного транспортного протокола.

Чем можно управлять через HTTP

@@ -90,10 +90,10 @@ translation_of: Web/HTTP/Overview
  • Кэш
    Сервер может инструктировать прокси и клиенты: что и как долго кэшировать. Клиент может инструктировать прокси промежуточных кэшей игнорировать хранимые документы.
  • Ослабление ограничений источника
    - Для предотвращения шпионских и других, нарушающих приватность, вторжений, веб-браузер обчеспечивает строгое разделение между веб-сайтами. Только страницы из того же источника могут получить доступ к информации на веб-странице. Хотя такие ограничение нагружают сервер, заголовки HTTP могут ослабить строгое разделение на стороне сервера, позволяя документу стать частью информации с различных доменов (по причинам безопасности).
  • + Для предотвращения шпионских и других, нарушающих приватность, вторжений, веб-браузер обеспечивает строгое разделение между веб-сайтами. Только страницы из того же источника могут получить доступ к информации на веб-странице. Хотя такие ограничение нагружают сервер, заголовки HTTP могут ослабить строгое разделение на стороне сервера, позволяя документу стать частью информации с различных доменов (по причинам безопасности).
  • Аутентификация
    Некоторые страницы доступны только специальным пользователям. Базовая аутентификация может предоставляться через HTTP, либо через использование заголовка {{HTTPHeader("WWW-Authenticate")}} и подобных ему, либо с помощью настройки спецсессии, используя куки.
  • -
  • Прокси и тунелирование
    +
  • Прокси и туннелирование
    Серверы и/или клиенты часто располагаются в интернете, и скрывают свои истинные IP-адреса от других. HTTP запросы идут через прокси для пересечения этого сетевого барьера. Не все прокси -- HTTP прокси. SOCKS-протокол, например, оперирует на более низком уровне. Другие, как, например, ftp, могут быть обработаны этими прокси.
  • Сессии
    Использование HTTP кук позволяет связать запрос с состоянием на сервере. Это создает сессию,  хотя ядро HTTP -- протокол без состояния.  Это полезно не только для корзин в интернет-магазинах, но также для любых сайтов, позволяющих пользователю настроить выход.
  • @@ -104,8 +104,8 @@ translation_of: Web/HTTP/Overview

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

      -
    1. Открытие TCP соединения: TCP-соедиенение будет использоваться для отправки запроса или запросов, и получения ответа. Клиент может открыть новое соединение, переиспользовать существующее, или открыть несколько TCP-соединений к серверу.
    2. -
    3. Отправка HTTP-сообщения: HTTP-собщения (до HTTP/2) -- человеко-читаемо. Начиная с HTTP/2, простые сообщения инкапсилуруются во фреймы, делая невозможным их чтения напрямую, но принципиально остаются такими же. +
    4. Открытие TCP соединения: TCP-соединение будет использоваться для отправки запроса или запросов, и получения ответа. Клиент может открыть новое соединение, переиспользовать существующее, или открыть несколько TCP-соединений к серверу.
    5. +
    6. Отправка HTTP-сообщения: HTTP-сообщения (до HTTP/2) -- человеко-читаемо. Начиная с HTTP/2, простые сообщения инкапсулируются во фреймы, делая невозможным их чтения напрямую, но принципиально остаются такими же.
      GET / HTTP/1.1
       Host: developer.mozilla.org
       Accept-Language: fr
      @@ -125,7 +125,7 @@ Content-Type: text/html
    7. Закрывает или переиспользует соединение для дальнейших запросов.
    -

    Если активирован HTTP-конвеер, несколько запросов могут быть отправлены без ожидания получения первого ответа целиком. HTTP-конвеер тяжело внедряется в существующие сети, где старые куски ПО сосуществуют с современными версиями.  HTTP-конвеер был заменен в HTTP/2 на более надежные мультиплексные запросы во фрейме.

    +

    Если активирован HTTP-конвейер, несколько запросов могут быть отправлены без ожидания получения первого ответа целиком. HTTP-конвейер тяжело внедряется в существующие сети, где старые куски ПО сосуществуют с современными версиями.  HTTP-конвейер был заменен в HTTP/2 на более надежные мультиплексные запросы во фрейме.

    HTTP сообщения

    @@ -145,7 +145,7 @@ Content-Type: text/html
  • HTTP-метод, обычно глагол подобно {{HTTPMethod("GET")}}, {{HTTPMethod("POST")}} или существительное, как {{HTTPMethod("OPTIONS")}} или {{HTTPMethod("HEAD")}}, определяющее операцию, которую клиент хочет выполнить. Обычно, клиент хочет получить ресурс (используя GET) или передать значения HTML-формы (используя POST), хотя другие операция могут быть необходимы в других случаях.
  • Путь к ресурсу: URL ресурсы лишены элементов, которые очевидны из контекста, например без {{glossary("protocol")}} (http://), {{glossary("domain")}} (здесь developer.mozilla.org), или TCP {{glossary("port")}} (здесь 80).
  • Версию HTTP-протокола.
  • -
  • Заголовки  (опционально), предоставляюшие дополнительную информацию для сервера.
  • +
  • Заголовки  (опционально), предоставляющие дополнительную информацию для сервера.
  • Или тело, для некоторых методов, таких как POST, которое содержит отправленный ресурс.
  • @@ -169,4 +169,4 @@ Content-Type: text/html

    HTTP -- легкий в использовании расширяемый протокол. Структура клиент-сервера, вместе со способностью к простому добавлению заголовков, позволяет HTTP продвигаться вместе с расширяющимися возможностями Сети.

    -

    Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионый поток остается простым, позволяя исследовать и отлаживать с простым монитором HTTP-сообщений.

    +

    Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионный поток остается простым, позволяя исследовать и отлаживать с простым монитором HTTP-сообщений.

    diff --git a/files/ru/web/http/redirections/index.html b/files/ru/web/http/redirections/index.html index 8a9c509b06..aa1a214099 100644 --- a/files/ru/web/http/redirections/index.html +++ b/files/ru/web/http/redirections/index.html @@ -70,7 +70,7 @@ translation_of: Web/HTTP/Redirections
    - + @@ -151,7 +151,7 @@ translation_of: Web/HTTP/Redirections
    1. HTTP перенаправления всегда выполняются первыми, пока еще страница даже не была передана,  и конечно же, пока еще не прочитана.
    2. -
    3. HTML перенаправления ({{HTMLElement("meta")}}) выполняються только, если перенаправление не было в выполнено в HTTP.
    4. +
    5. HTML перенаправления ({{HTMLElement("meta")}}) выполняются только, если перенаправление не было в выполнено в HTTP.
    6. JavaScript перенаправления используются как последняя возможность перенаправления, и работают только если разрешено выполнение JavaScript на клиентской стороне.
    @@ -205,7 +205,7 @@ translation_of: Web/HTTP/Redirections </VirtualHost> -

    URL http://example.com/ будет переенаправлен к http://www.example.com/ (но не к http://example.com/other.html )

    +

    URL http://example.com/ будет перенаправлен к http://www.example.com/ (но не к http://example.com/other.html )

    Redirect_Match делает то же, но использует регулярное выражение, чтобы определить множество URL адресов, которые подпадут под эффект:

    diff --git a/files/ru/web/http/status/103/index.html b/files/ru/web/http/status/103/index.html index d6c39cdb12..3ea9a231ea 100644 --- a/files/ru/web/http/status/103/index.html +++ b/files/ru/web/http/status/103/index.html @@ -6,7 +6,7 @@ tags: - Информация - Код состояния - ТаблицаСоответствия - - ТребуетсяСодержание + - Требуется Содержание - Черновик translation_of: Web/HTTP/Status/103 --- diff --git a/files/ru/web/http/status/402/index.html b/files/ru/web/http/status/402/index.html index e25ebef0f3..93b58f1dd6 100644 --- a/files/ru/web/http/status/402/index.html +++ b/files/ru/web/http/status/402/index.html @@ -7,7 +7,7 @@ translation_of: Web/HTTP/Status/402

    HTTP-ответ 402 Payment Required это нестандартная ошибка клиента, зарезервированная для использования в будущем.

    -

    Иногда этот код означает, что запрос не может быть выполнен до тех пор, пока клиен не совершит оплату. Изначально создан для активации цифровых сретств или (микро) платежных систем и изображает, что запрошенный контент недоступен пока клиент не совершит оплату. Так или иначе, стандартизованного использования для кода нет, и он может использоваться разными элементами в разном контексте.

    +

    Иногда этот код означает, что запрос не может быть выполнен до тех пор, пока клиент не совершит оплату. Изначально создан для активации цифровых средств или (микро) платежных систем и изображает, что запрошенный контент недоступен пока клиент не совершит оплату. Так или иначе, стандартизованного использования для кода нет, и он может использоваться разными элементами в разном контексте.

    Статус

    diff --git a/files/ru/web/http/status/403/index.html b/files/ru/web/http/status/403/index.html index 91222d7aef..42f95f5f95 100644 --- a/files/ru/web/http/status/403/index.html +++ b/files/ru/web/http/status/403/index.html @@ -36,7 +36,7 @@ Date: Wed, 21 Oct 2015 07:28:00 GMT

    Совместимость с браузером

    - +

    {{Compat("http/status", "403")}}

    diff --git a/files/ru/web/http/status/416/index.html b/files/ru/web/http/status/416/index.html index 05ffd0b379..d7035dfb3f 100644 --- a/files/ru/web/http/status/416/index.html +++ b/files/ru/web/http/status/416/index.html @@ -11,7 +11,7 @@ translation_of: Web/HTTP/Status/416

    Код ошибки HTTP 416 Range Not Satisfiable указывает, что сервер не может обслуживать запрошенные диапазоны. Наиболее вероятная причина заключается в том, что документ не содержит таких диапазонов или что значение {{HTTPHeader ("Range")}}, хотя и синтаксически корректно, не имеет смысла.

    -

    Cообщение ответа 416 содержит {{HTTPHeader("Content-Range")}}, указывающий на неудовлетворенный диапазон (это '*'), за которым следуют '/' и текущий ресурс. Например: Content-Range: */12777

    +

    Сообщение ответа 416 содержит {{HTTPHeader("Content-Range")}}, указывающий на неудовлетворенный диапазон (это '*'), за которым следуют '/' и текущий ресурс. Например: Content-Range: */12777

    Столкнувшись с этой ошибкой, браузеры обычно либо прерывают операцию (например, загрузка будет считаться не возобновляемой), либо снова запрашиваются ведь документ.

    diff --git a/files/ru/web/http/status/501/index.html b/files/ru/web/http/status/501/index.html index 4f13aabd5e..f781b3460e 100644 --- a/files/ru/web/http/status/501/index.html +++ b/files/ru/web/http/status/501/index.html @@ -4,7 +4,7 @@ slug: Web/HTTP/Status/501 translation_of: Web/HTTP/Status/501 ---
    -

    The HTTP 501 Not Implemented cерверный код ответа на ошибку указывает, что метод запроса не поддерживается сервером и не может быть обработан. Единственными методами, которые необходимы серверам для поддержки (и, следовательно, не должны возвращать этот код), являются {{HTTPMethod("GET")}} и {{HTTPMethod("HEAD")}}.

    +

    The HTTP 501 Not Implemented серверный код ответа на ошибку указывает, что метод запроса не поддерживается сервером и не может быть обработан. Единственными методами, которые необходимы серверам для поддержки (и, следовательно, не должны возвращать этот код), являются {{HTTPMethod("GET")}} и {{HTTPMethod("HEAD")}}.

    Обратите внимание, что 501 error не является чем-то, что вы можете исправить, но требует исправления веб-сервером, к которому вы пытаетесь получить доступ.

    diff --git a/files/ru/web/http/status/502/index.html b/files/ru/web/http/status/502/index.html index 0e1bccb304..0c90977db6 100644 --- a/files/ru/web/http/status/502/index.html +++ b/files/ru/web/http/status/502/index.html @@ -35,7 +35,7 @@ translation_of: Web/HTTP/Status/502

    Совместимость с браузерами

    - +

    {{Compat("http/status", "502")}}

    diff --git a/files/ru/web/http/status/index.html b/files/ru/web/http/status/index.html index 4ca660ba38..ec06ff4477 100644 --- a/files/ru/web/http/status/index.html +++ b/files/ru/web/http/status/index.html @@ -25,7 +25,7 @@ translation_of: Web/HTTP/Status

    Коды состояния определены в 10-ой секции RFC 2616. Обновленную спецификацию можно найти в RFC 7231 . 

    -

    Если Вы получли код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.

    +

    Если Вы получили код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.

    Следующая таблица содержит список всех кодов и их значения:

    @@ -63,7 +63,7 @@ translation_of: Web/HTTP/Status - + @@ -199,7 +199,7 @@ translation_of: Web/HTTP/Status - + @@ -243,7 +243,7 @@ translation_of: Web/HTTP/Status - + @@ -299,7 +299,7 @@ translation_of: Web/HTTP/Status - + @@ -344,7 +344,7 @@ translation_of: Web/HTTP/Status - + -- cgit v1.2.3-54-g00ecf
    Found {{HTTPMethod("GET")}} методы неизменны.
    Другие методы могут  быть превращены в {{HTTPMethod("GET")}}.[2]
    Веб-страница недоступна по непредвиденым причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.
    303
    103 Early Hints"Ранние подсказки". В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготовливать основной ответ. RFC 8297 (Experimental)."Ранние подсказки". В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ. RFC 8297 (Experimental). Только HTTP/1.1
    401 Unauthorized"Неавторизовано". Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. "Неавторизованно". Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.  HTTP/0.9 and later
    408 Request TimeoutОтвет с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соеднинение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения серфинга  (смотрите {{ bug(634278) }}, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения серфинга  (смотрите {{ bug(634278) }}, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений. HTTP/1.1 only
    416 Requested Range Not SatisfiableДиапозон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URIДиапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI HTTP/1.1 only
    505 HTTP Version Not Supported"HTTP-версия не поддерживается". HTTP-версия, используемая в запроcе, не поддерживается сервером."HTTP-версия не поддерживается". HTTP-версия, используемая в запросе, не поддерживается сервером. HTTP/1.1 only