Skip to content

Commit

Permalink
[ru] fix images and links in Web/HTTP/Overview (#22303)
Browse files Browse the repository at this point in the history
* [ru] fix images in 'Web/HTTP/Overview' (#22170)

* [ru] fix flaws and improve wording in 'Web/HTTP/Overview'
  • Loading branch information
leon-win authored Jul 22, 2024
1 parent 7f78067 commit 20c8a04
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions files/ru/web/http/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,23 @@ slug: Web/HTTP/Overview

{{HTTPSidebar}}

**HTTP** — это {{glossary("protocol","протокол")}}, позволяющий получать различные ресурсы, например HTML-документы. Протокол HTTP лежит в основе обмена данными в Интернете. HTTP является протоколом клиент-серверного взаимодействия, что означает инициирование запросов к серверу самим получателем, обычно веб-браузером (web-browser). Полученный итоговый документ будет (может) состоять из различных поддокументов, являющихся частью итогового документа: например, из отдельно полученного текста, описания структуры документа, изображений, видео-файлов, скриптов и многого другого.
**HTTP** — это {{glossary("protocol", "протокол")}}, для получения различных ресурсов, например, HTML-документов. Он лежит в основе обмена данными в Интернете. HTTP является протоколом клиент-серверного взаимодействия, что означает инициирование запросов к серверу самим получателем, обычно веб-браузером. Полученный итоговый документ как правило состоит из различных ресурсов, таких как текстовое содержимое, описание структуры документа, изображения, видео-файлы, скрипты и т.д.

![A Web document is the composition of different resources](fetching_a_page.png)
![Единый веб-документ, составленный из нескольких ресурсов с разных серверов.](https://mdn.github.io/shared-assets/images/diagrams/http/overview/fetching-a-page.svg)

Клиенты и серверы взаимодействуют, обмениваясь одиночными сообщениями (а не потоком данных). Сообщения, отправленные клиентом, обычно веб-браузером, называются _запросами_, а сообщения, отправленные сервером, называются _ответами_.
Клиенты и серверы взаимодействуют, обмениваясь одиночными сообщениями (а не потоком данных). Сообщения, отправленные клиентом, называются _запросами_, а сообщения, отправленные сервером, называются _ответами_.

![HTTP as an application layer protocol, on top of TCP (transport layer) and IP (network layer) and below the presentation layer.](http-layers.png)Хотя HTTP был разработан ещё в начале 1990-х годов, за счёт своей расширяемости в дальнейшем он все время совершенствовался. HTTP является протоколом прикладного уровня, который чаще всего использует возможности другого протокола - {{glossary("TCP")}} (или {{glossary("TLS")}} - защищённый TCP) - для пересылки своих сообщений, однако любой другой надёжный транспортный протокол теоретически может быть использован для доставки таких сообщений. Благодаря своей расширяемости, он используется не только для получения клиентом гипертекстовых документов, изображений и видео, но и для передачи содержимого серверам, например, с помощью HTML-форм. HTTP также может быть использован для получения только частей документа с целью обновления веб-страницы по запросу (например, посредством AJAX запроса).
![HTTP — это протокол прикладного уровня, расположенный поверх TCP (транспортный уровень) и IP (сетевой уровень) и ниже уровня представления.](https://mdn.github.io/shared-assets/images/diagrams/http/overview/http-layers.svg)

Хотя HTTP был разработан ещё в начале 1990-х годов, за счёт своей расширяемости в дальнейшем он все время совершенствовался. HTTP является протоколом прикладного уровня, который чаще всего использует возможности другого протокола - {{glossary("TCP")}} (или {{glossary("TLS")}} - защищённый TCP) - для пересылки своих сообщений, однако любой другой надёжный транспортный протокол теоретически может быть использован для доставки таких сообщений. Благодаря своей расширяемости, он используется не только для получения клиентом гипертекстовых документов, изображений и видео, но и для передачи содержимого серверам, например, с помощью HTML-форм. HTTP также может быть использован для получения только частей документа с целью обновления веб-страницы по запросу (например, посредством AJAX запроса).

## Составляющие систем, основанных на HTTP

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

Каждый запрос (англ. _request_) отправляется серверу, который обрабатывает его и возвращает ответ (англ. _response_). Между этими запросами и ответами как правило существуют многочисленные посредники, называемые {{glossary("Proxy_server","прокси")}}, которые выполняют различные операции и работают как шлюзы или {{glossary("cache","кэш")}}, например.

![Client server chain](client-server-chain.png)
![HTTP-запрос от клиента, пересылаемый несколькими прокси-серверами на сервер, и ответ, возвращающийся по тому же маршруту клиенту.](https://mdn.github.io/shared-assets/images/diagrams/http/overview/client-server-chain.svg)

Обычно между браузером и сервером гораздо больше различных устройств-посредников, которые играют какую-либо роль в обработке запроса: маршрутизаторы, модемы и так далее. Благодаря тому, что Сеть построена на основе системы уровней (слоёв) взаимодействия, эти посредники "спрятаны" на сетевом и транспортном уровнях. В этой системе уровней HTTP занимает самый верхний уровень, который называется "прикладным" (или "уровнем приложений"). Знания об уровнях сети, таких как представительский, сеансовый, транспортный, сетевой, канальный и физический, имеют важное значение для понимания работы сети и диагностики возможных проблем, но не требуются для описания и понимания HTTP.

Expand Down Expand Up @@ -132,23 +134,23 @@ HTTP/1.1 и более ранние HTTP сообщения человекочи

### Запросы

Примеры HTTP запросов:
Пример HTTP-запроса:

![A basic HTTP request](http_request.png)
![Обзор HTTP-запроса GET с заголовками](https://mdn.github.io/shared-assets/images/diagrams/http/overview/http-request.svg)

Запросы содержат следующие элементы:

- HTTP-[метод](/ru/docs/Web/HTTP/Methods), обычно глагол подобно {{HTTPMethod("GET")}}, {{HTTPMethod("POST")}} или существительное, как {{HTTPMethod("OPTIONS")}} или {{HTTPMethod("HEAD")}}, определяющее операцию, которую клиент хочет выполнить. Обычно, клиент хочет получить ресурс (используя `GET`) или передать значения [HTML-формы](/ru/docs/Web/Guide/HTML/Forms) (используя `POST`), хотя другие операции могут быть необходимы в других случаях.
- HTTP-[метод](/ru/docs/Web/HTTP/Methods), обычно глагол подобно {{HTTPMethod("GET")}}, {{HTTPMethod("POST")}} или существительное, как {{HTTPMethod("OPTIONS")}} или {{HTTPMethod("HEAD")}}, определяющее операцию, которую клиент хочет выполнить. Обычно, клиент хочет получить ресурс (используя `GET`) или передать значения [HTML-формы](/ru/docs/Learn/Forms) (используя `POST`), хотя другие операции могут быть необходимы в других случаях.
- Путь к ресурсу: URL ресурсы лишены элементов, которые очевидны из контекста, например без {{glossary("protocol","протокола")}} (`http://`), {{glossary("domain","домена")}} (здесь `developer.mozilla.org`), или TCP {{glossary("port","порта")}} (здесь `80`).
- Версию HTTP-протокола.
- [Заголовки](/ru/docs/Web/HTTP/Headers) (опционально), предоставляющие дополнительную информацию для сервера.
- Или тело, для некоторых методов, таких как `POST`, которое содержит отправленный ресурс.

### Ответы

Примеры ответов:
Пример ответа:

![](http_response.png)
![Обзор HTTP-ответа '200 OK' на запрос GET, включая заголовки ответа.](https://mdn.github.io/shared-assets/images/diagrams/http/overview/http-response.svg)

Ответы содержат следующие элементы:

Expand All @@ -160,6 +162,6 @@ HTTP/1.1 и более ранние HTTP сообщения человекочи

## Вывод

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

Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионный поток остаётся простым, позволяя исследовать и отлаживать с простым [монитором HTTP-сообщений](/ru/docs/Tools/Network_Monitor).
Хотя HTTP/2 добавляет некоторую сложность, помещая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась такой же как и в HTTP/1.0. Сессионный поток остаётся простым, его можно исследовать и отлаживать с помощью [Сетевого монитора](https://firefox-source-docs.mozilla.org/devtools-user/network_monitor/index.html).

0 comments on commit 20c8a04

Please sign in to comment.