1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
---
title: HTTP
slug: Web/HTTP
tags:
- HTTP
- 'l10n:priority'
- Веб
- Справка
translation_of: Web/HTTP
---
<p>{{HTTPSidebar}}</p>
<p class="summary"><strong>Протокол передачи гипертекста (<dfn>Hypertext Transfer Protocol - HTTP)</dfn></strong> - это <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F">прикладной протокол</a> для передачи гипертекстовых документов, таких как HTML. Он создан для связи между веб-браузерами и веб-серверами, хотя в принципе HTTP может использоваться и для других целей. Протокол следует классической <a href="https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80">клиент-серверной модели</a>, когда клиент открывает соединение для создания запроса, а затем ждёт ответа. HTTP - это <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%B1%D0%B5%D0%B7_%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F">протокол без сохранения состояния</a>, то есть сервер не сохраняет никаких данных (состояние) между двумя парами "запрос-ответ". Несмотря на то, что HTTP основан на TCP/IP, он также может использовать любой другой протокол <a href="https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BD%D1%8B%D0%B9_%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C">транспортного уровня</a> с гарантированной доставкой.</p>
<div class="column-container">
<div class="column-half">
<h2 class="Documentation" id="Documentation" name="Documentation">Учебники</h2>
<p>Узнайте, как использовать HTTP, благодаря учебникам и руководствам.</p>
<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/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>
<dl>
<dt><a href="/en-US/docs/Web/HTTP/Access_control_CORS">Контроль доступа (совместное использование ресурсов между разными источниками, HTTP access control (CORS))</a></dt>
<dd><strong>Межсайтовые HTTP-запросы</strong> (кросс-сайтовые) - это HTTP-запросы к ресурсам, находящимся в домене, <strong>отличающемся </strong>от того, с которого производится запрос. Например, HTML-страница, загружаемая с домена А (<code>http://domaina.example</code>), запрашивает изображение с домена Б (<code>http://domainb.foo</code>), используя тег <code>img</code> (<code>http://domainb.foo/image.jpg</code>). Это происходит постоянно в мире веба: страницы загружают различные ресурсы в кросс-сайтовой манере, включая стили (CSS), изображения, скрипты и другие ресурсы. CORS позволяет разработчикам сайтов контролировать межсайтовые запросы.</dd>
</dl>
<dl>
<dt><a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP">Эволюция HTTP</a></dt>
<dd>Краткое описание изменений, произошедших в HTTP, начиная с самых ранних версий, заканчивая новой HTTP/2 и далее.</dd>
<dt><a href="https://wiki.mozilla.org/Security/Guidelines/Web_Security">Принципы веб-безопасности Mozilla</a></dt>
<dd>Сборник советов для помощи в разработке защищённых веб-приложений.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Messages">HTTP-сообщения (HTTP Messages)</a></dt>
<dd>Описывает тип и структуру разных видов сообщений HTTP/1.x и HTTP/2.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Session">Обычный сеанс HTTP</a></dt>
<dd>Показывает и описывает течение обычного сеанса HTTP.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x">Управление подключениями в HTTP/1.x</a></dt>
<dd>Описывает три модели управления подключениями, доступными в HTTP/1.x, их сильные и слабые стороны.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Controlling_DNS_prefetching">Контроль предварительной загрузки DNS (Controlling DNS prefetching)</a></dt>
<dd>Firefox, как и большинство других браузеров, выполняет <strong>предварительную загрузку DNS (DNS prefetching)</strong>. Это действие, когда браузеры превентивно выполняют разрешение доменных имён (получают имена доменов) для ссылок, по которым пользователь может перейти, а также для ссылок на ресурсы, такие как картинки, CSS, JavaScript. Эта предварительная загрузка выполняется в фоновом режиме, так что вполне вероятно, что к моменту обращения к объектам в документе DNS уже получен. Это уменьшает задержки, когда, например, пользователь кликает на ссылку.</dd>
</dl>
</div>
<div class="column-half">
<h2 id="Справочники">Справочники</h2>
<p>Глубже изучите HTTP с помощью справочников и документации.</p>
<dl>
<dt><a href="/en-US/docs/HTTP/Headers" title="/en-US/docs/HTTP/Headers">HTTP-заголовки (HTTP Headers)</a></dt>
<dd>Заголовки HTTP-сообщения используются для точного описания загружаемого ресурса или поведения сервера или клиента. Пользовательские заголовки можно добавить, используя <code>X-</code> префикс; другие перечислены в <a class="external" href="http://www.iana.org/assignments/message-headers/perm-headers.html" title="http://www.iana.org/assignments/message-headers/perm-headers.html">IANA registry</a>, содержание которого в свою очередь определено в <a class="external" href="http://tools.ietf.org/html/rfc4229" title="http://tools.ietf.org/html/rfc4229">RFC 4229</a>. IANA так же поддерживает <a class="external" href="http://www.iana.org/assignments/message-headers/prov-headers.html" title="http://www.iana.org/assignments/message-headers/prov-headers.html">регистр предложенных новых HTTP-заголовков</a>.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Methods">Методы HTTP-запроса</a></dt>
<dd>Различные операции, которые выполняются с HTTP:
<ul>
<li>{{HTTPMethod("GET")}}</li>
<li>{{HTTPMethod("POST")}}</li>
<li>{{HTTPMethod("OPTIONS")}}</li>
<li>{{HTTPMethod("DELETE")}}</li>
<li>{{HTTPMethod("TRACE")}}</li>
<li>{{HTTPMethod("PATCH")}}</li>
<li>другие</li>
</ul>
<span class="hidden"> </span><span class="hidden"> </span></dd>
<dt><a href="/en-US/docs/Web/HTTP/Status">Коды ответа (HTTP response codes)</a></dt>
<dd>Коды ответа HTTP указывают на результат выполнения определённого HTTP-запроса. Ответы сгруппированы в пять категорий: информационные ответы, удачные ответы, перенаправления, ошибки клиента и ошибки сервера.</dd>
<dt><a href="/en-US/docs/Web/HTTP/Headers/Content-Security-Policy">Директивы CSP</a></dt>
<dd>Поля заголовка ответа {{HTTPHeader("Content-Security-Policy")}} позволяют администраторам веб-сайтов контролировать ресурсы, которые браузер пользователя может загрузить на данную веб-страницу. За некоторым исключением, эти политики связаны с указанием сервера-источника и адресов доступа (обращения) скриптов.</dd>
</dl>
<h2 id="Инструменты_и_ресурсы">Инструменты и ресурсы</h2>
<p>Полезные инструменты и ресурсы для понимания и отладки HTTP.</p>
<dl>
<dt><a href="/ru/docs/Tools">Инструменты разработчика Firefox</a></dt>
<dd><a href="/ru/docs/Tools/Network_Monitor">Сетевой монитор</a></dd>
<dt><a href="https://observatory.mozilla.org/">Mozilla Observatory</a></dt>
<dd>Проект, созданный в помощь разработчикам, системным администраторам и специалистам по безопасности для создания безопасных и надёжных сайтов.</dd>
<dt><a href="https://redbot.org/">RedBot</a></dt>
<dd>Инструмент для проверки кеширования заголовков.</dd>
<dt><a href="http://www.html5rocks.com/ru/tutorials/internals/howbrowserswork/">Принципы работы современных веб-браузеров</a></dt>
<dd>Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем веб-разработчикам.</dd>
</dl>
</div>
</div>
<h2 class="Community" id="Community" name="Community">Смотрите также</h2>
<ul>
<li><a href="/En/Controlling_DNS_prefetching" title="En/Controlling DNS prefetching">Controlling DNS prefetching</a></li>
<li><a href="/en/HTTP_Pipelining_FAQ" title="https://developer.mozilla.org/en/HTTP_Pipelining_FAQ">HTTP pipelining FAQ</a></li>
<li><a href="/en/Web_Development/HTTP_cookies" title="HTTP cookies">HTTP cookies</a></li>
<li><a href="/en-US/docs/HTTP/Headers" title="/en-US/docs/HTTP/Headers">HTTP заголовки</a></li>
<li><a href="/en-US/docs/HTTP/Basic_access_authentication" title="/en-US/docs/HTTP/Basic_access_authentication">Basic access authentication</a></li>
<li><a href="/en-US/docs/HTTP/Access_control_CORS" title="/en-US/docs/HTTP/Access_control_CORS">HTTP access control (CORS)</a></li>
</ul>
<p>{{ languages( { "ja": "ja/HTTP"} ) }}</p>
|