Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1131451 of HTTP

  • URL ревизии: Web/HTTP
  • Заголовок ревизии: HTTP
  • ID ревизии: 1131451
  • Создано:
  • Автор: pk.prog
  • Это текущая ревизия? Нет
  • Комментарий
Метки: 

Содержание ревизии

{{ HTTPSidebar }}

Протокол передачи гипер текста ( Hypertext Transfer Protocol - HTTP) это прикладной протокол для передачи данных. Он используется для общения между веб браузерами и веб серверами, хотя в принципе HTTP может использоваться и для других целей. Протокол следует классической клиент-серверной модели, когда клиент открывает соединение, инициирует запрос, а затем ждет ответа. HTTP - это stateless-протокол, то есть сервер не сохраняет никаких данных (состояние) между парами запросов-ответов. Несмотря на то, что HTTP основан на TCP/IP , он так же может использовать любой транспорт, который не теряет молча сообщения (то есть обязан знать дошло ли сообщение до адресата). 

Учебники

Обзор HTTP
Представлены основные свойства клиент-серверного протокола: что можно сделать и для чего он предназначен
Эволюция HTTP
Краткое описание изменений, произошедших в HTTP, начиная с самых ранних версий, заканчивая новой HTTP/2 и далее.
HTTP-сообщения (HTTP Messages)
Описывает тип и структуру разных видов сообщений HTTP/1.x и HTTP/2.
Обычный сеанс HTTP
Показывает и описывает течение обычногое сеанса HTTP
Управление подключениями в HTTP/1.x
Описывает три модели управления подключыениями доступными в HTTP/1.x, их сильные и слабые стороны
HTTP-кэширование (HTTP Cache)
Кэширование это основной инструмент для повышения производительности веб-сайтов. Эта статья представляет разные виды кэша, и как можно использовать HTTP-заголовки для конфигурации и управления кэшированием.
HTTP куки (HTTP cookies)
Как работают куки можно почитать в RFC 6265. В момент получения HTTP запроса , сервер может послать Set-Cookie заголовок в ответе. После этого, значение куки посылается с каждым запросом к этому серверу. Делается это в форме Cookie HTTP header. Дополнительно, можно указать истечение срока куки, а так же ограничения для специфического домена или пути.
Контроль доступа (совместное использование ресурсов между разными источниками, HTTP access control (CORS))
Межсайтовые HTTP-запросы (кросс-сайтовые) - это запросы к ресурсам, находящимся домене отличающимся от того, с которого производится запрос. Например, ресурс, загружаемый с домена А (https://domaina.example), такой как HTML веб страница, запрашивает ресурс с домена Б (https://domainb.foo), например, изображение, используя тег img (https://domainb.foo/image.jpg).  Это происходит постоянно в мире веба: страницы загружают различные ресурсы в кроссайтовой манере, включая стили (CSS) , изображения, скрипты и другие ресурсы.
Контроль предварительной загрузки DNS (Controlling DNS prefetching)
Firefox как и большинство других браузеров выполняет предварительную загрузку DNS (DNS prefetching). Это действие, когда брайзеры превентивно выполняют разрешение доменных имён (получают имена доменов) для ссылок, по которым пользователь может перейти, а также для ссылок на ресурсы, такие как картинки, CSS,  JavaScript. Эта предварительная загрузка выполняется в фоновом режиме, так что вполне вероятно, что к моменту обращения к объектам в документе, DNS уже получен. Это уменьшает задержки, когда, например, пользователь кликает на ссылку.

Справочники

HTTP заголовки (HTTP headers)
Заголовки HTTP сообщения используются для точного описания загружаемого ресурса или поведения сервера или клиента. Пользовательские заголовки можно добавить используя 'X-' префикс; другие перечислены в  IANA registry, содержание которого в свою очередь определено в RFC 4229. IANA так же поддерживает регистр предложенных новых HTTP заголовков.
Методы HTTP запроса
Различные операции, которые выполняются с HTTP:
  • {{HTTPMethod("GET")}}
  • {{HTTPMethod("POST")}}
  • {{HTTPMethod("OPTIONS")}}
  • {{HTTPMethod("DELETE")}}
  • {{HTTPMethod("TRACE")}}
  • {{HTTPMethod("PATCH")}}
  • другие
 
Коды ответа (HTTP response codes)
Коды ответа HTTP указывают на результат выполнения определенного HTTP запроса. Ответы сгруппированы в пять категорий: информационные ответы, удачные ответы, перенаправления, ошибки клиента, и ошибки сервера.

Инструменты и ресурсы

Firefox Developer Tools
Network monitor
RedBot
Инструмент для проверки кэширования заголовков
Принципы работы современных веб-браузеров
Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем разработчикам.

См. также

{{ languages( { "ja": "ja/HTTP"} ) }}

Источник ревизии

<p>{{ HTTPSidebar }}</p>

<p class="summary">Протокол передачи гипер текста (&nbsp;<dfn>Hypertext Transfer Protocol -&nbsp;HTTP)</dfn>&nbsp;это <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> для передачи данных. Он используется для общения между веб браузерами и веб серверами, хотя в принципе 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 - это&nbsp;<a href="https://en.wikipedia.org/wiki/Stateless_protocol" title="https://en.wikipedia.org/wiki/Stateless_protocol">stateless-протокол</a>, то есть сервер не сохраняет никаких данных (состояние) между парами запросов-ответов. Несмотря на то, что HTTP основан на TCP/IP , он так же может использовать любой <a href="https://en.wikipedia.org/wiki/Transport_Layer">транспорт</a>, который не теряет молча сообщения (то есть обязан знать дошло ли сообщение до адресата).&nbsp;</p>

<div class="topicpage-table"><!-- div class="section" -->
<h2 class="Documentation" id="Documentation" name="Documentation">Учебники</h2>

<dl>
 <dt><a href="/en-US/docs/Web/HTTP/Overview">Обзор HTTP</a></dt>
 <dd>Представлены основные свойства клиент-серверного протокола: что можно сделать и для чего он предназначен</dd>
 <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="/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/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 запроса , сервер может послать Set-Cookie заголовок в ответе. После этого, значение куки посылается с каждым запросом к этому серверу. Делается это в форме <code>Cookie HTTP header</code>. Дополнительно, можно указать истечение срока куки, а так же ограничения для специфического домена или пути.</dd>
 <dt><a href="/en-US/docs/Web/HTTP/Access_control_CORS">Контроль доступа (совместное использование ресурсов между разными источниками, HTTP access control (CORS))</a></dt>
 <dd><strong>Межсайтовые HTTP-запросы</strong> (кросс-сайтовые) - это запросы к ресурсам, находящимся домене <strong>отличающимся </strong>от того, с которого производится запрос. Например, ресурс, загружаемый с домена А (<code>https://domaina.example</code>), такой как HTML веб страница, запрашивает ресурс&nbsp;с домена Б (<code>https://domainb.foo</code>), например, изображение, используя тег&nbsp;<code>img</code> (<code>https://domainb.foo/image.jpg</code>). &nbsp;Это происходит постоянно в мире веба: страницы загружают различные ресурсы в кроссайтовой манере, включая стили (CSS) , изображения, скрипты и другие ресурсы.</dd>
 <dt><a href="/en-US/docs/Web/HTTP/Controlling_DNS_prefetching">Контроль предварительной загрузки DNS (Controlling DNS prefetching)</a></dt>
 <dd>Firefox как и большинство других браузеров выполняет <strong>предварительную загрузку DNS (DNS&nbsp;prefetching)</strong>. Это действие, когда брайзеры превентивно выполняют разрешение доменных имён (получают имена доменов) для ссылок, по которым пользователь может перейти, а также для ссылок на ресурсы, такие как картинки, CSS,&nbsp; JavaScript. Эта предварительная загрузка выполняется в фоновом режиме, так что вполне вероятно, что к моменту обращения к объектам в документе, DNS уже получен. Это уменьшает задержки, когда, например, пользователь кликает на ссылку.</dd>
</dl>

<h2 id="Справочники">Справочники</h2>

<dl>
 <dt><a href="/en-US/docs/HTTP/Headers" title="/en-US/docs/HTTP/Headers">HTTP заголовки (HTTP headers)</a></dt>
 <dd>Заголовки HTTP сообщения используются для точного описания загружаемого ресурса или поведения сервера или клиента. Пользовательские заголовки можно добавить используя&nbsp;'X-' префикс; другие перечислены в &nbsp;<a class="external" href="https://www.iana.org/assignments/message-headers/perm-headers.html" title="https://www.iana.org/assignments/message-headers/perm-headers.html">IANA registry</a>, содержание которого в свою очередь определено в&nbsp;<a class="external" href="https://tools.ietf.org/html/rfc4229" title="https://tools.ietf.org/html/rfc4229">RFC 4229</a>. IANA так же поддерживает&nbsp;<a class="external" href="https://www.iana.org/assignments/message-headers/prov-headers.html" title="https://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 style="display:none">&nbsp;</span><span style="display:none"> </span></dd>
 <dt><a href="/en-US/docs/Web/HTTP/Status">Коды ответа (HTTP response codes)</a></dt>
 <dd>Коды ответа HTTP указывают на результат выполнения определенного&nbsp;HTTP запроса. Ответы сгруппированы в пять категорий: информационные ответы, удачные ответы, перенаправления, ошибки клиента, и ошибки сервера.</dd>
</dl>

<h2 id="Инструменты_и_ресурсы">Инструменты и ресурсы</h2>

<dl>
 <dt><a href="/ru/docs/Tools">Firefox Developer Tools</a></dt>
 <dd><a href="/ru/docs/Tools/Network_Monitor">Network monitor</a></dd>
 <dt><a href="https://redbot.org/">RedBot</a></dt>
 <dd>Инструмент для проверки кэширования заголовков</dd>
 <dt><a href="https://www.html5rocks.com/ru/tutorials/internals/howbrowserswork/">Принципы работы современных веб-браузеров</a></dt>
 <dd>Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем разработчикам.</dd>
</dl>
</div>

<h2 class="Community" id="Community" name="Community">См. также</h2>

<ul>
 <li><a href="/En/Controlling_DNS_prefetching" title="En/Controlling DNS prefetching">Controlling DNS&nbsp;prefetching</a></li>
 <li>The <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 Headers</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>
Вернуть эту версию