HTTP

Материал из Циклопедии
(перенаправлено с «Hypertext Transfer Protocol»)
Перейти к навигации Перейти к поиску
Сетевой протокол
HTTP
Название

Протокол передачи гипертекста

Уровень (по модели OSI)

прикладной

Создан в

1997 год

Основные реализации (клиенты)

веб-браузеры

HTTP протокол: понимать web лучше // letsCode [18:12]
6. Web-технологии. Протокол HTTP / Технострим // Технострим Mail.Ru Group [58:53]

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

История[править]

Разработка HTTP была инициирована Тимом Бернерсом-Ли в CERN в 1989 году. Разработка первых HTTP-запросов для комментариев (RFC) была скоординированной работой Инженерного совета Интернета (IETF) и Консорциума World Wide Web (W3C), а позже работа была передана в IETF.

HTTP/1.1 был впервые задокументирован в RFC 2068 в 1997 году, а по состоянию на 2021 год он (плюс более старые версии) менее популярен (используется менее 45 % веб-сайтов; это всегда протокол резервного копирования) для веб-обслуживания, чем его преемники. Эта спецификация была отменена RFC 2616 в 1999 году, который также был заменен семейством RFC RFC 7230 в 2014 году.

HTTP/2 является более эффективным выражением семантики HTTP «на проводе», был опубликован в 2015 году и используется более чем на 50 % веб-сайтов; теперь он поддерживается практически всеми веб-браузерами[2] и основными веб-серверами через Transport Layer Security (TLS) с использованием расширения Application-Layer Protocol Negotiation (ALPN)[3], где требуется TLS 1.2 или новее.[4][5]

HTTP/3 является предлагаемым преемником HTTP/2[6][7], который уже используется более чем 5,8 % веб-сайтов; и используется более чем в 7,5 % настольных компьютеров (по умолчанию включено в последней версии macOS), используя UDP вместо TCP для основного транспортного протокола. Как и HTTP/2, он не отменяет предыдущие основные версии протокола. Поддержка HTTP/3 была добавлена ​​в Cloudflare и Google Chrome в сентябре 2019 года[8][9] и может быть включена в стабильных версиях Chrome и Firefox.[10]

Технические сведения[править]

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

Веб-браузер — это пример user agent (UA). Другие типы пользовательских агентов включают программное обеспечение индексирования, используемое поставщиками поиска (веб-сканеры), голосовыми браузерами, мобильными приложениями и другим программным обеспечением, которое получает доступ, потребляет или отображает веб-контент.

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

HTTP — это протокол прикладного уровня, разработанный в рамках набора Интернет-протоколов. Его определение предполагает лежащий в основе и надежный протокол транспортного уровня[11] и обычно используется протокол управления передачей (TCP). Однако HTTP может быть адаптирован для использования ненадежных протоколов, таких как протокол дейтаграмм пользователя (UDP), например, в HTTPU и протоколе обнаружения простых служб (SSDP).

Ресурсы HTTP идентифицируются и размещаются в сети с помощью универсальных указателей ресурсов (URL) с использованием схем универсальных идентификаторов ресурсов (URI) http и https. Как определено в RFC 3986, URI кодируются как гиперссылки в HTML-документах, чтобы формировать взаимосвязанные гипертекстовые документы.

HTTP/1.1 — это версия исходного HTTP (HTTP/1.0). В HTTP/1.0 для каждого запроса ресурса выполняется отдельное соединение с одним и тем же сервером. HTTP/1.1 может повторно использовать соединение несколько раз для загрузки изображений, скриптов, таблиц стилей и т. д. после того, как страница была доставлена. Таким образом, связь HTTP/1.1 имеет меньшую задержку, поскольку установление TCP-соединений сопряжено со значительными накладными расходами.[12]

Источники[править]

  1. ↑ Fielding, Roy T.; Gettys, James; Mogul, Jeffrey C. & Nielsen, Henrik Frystyk (June 1999), «Hypertext Transfer Protocol – HTTP/1.1», IETF 
  2. ↑ Can I use... Support tables for HTML5, CSS3, etc. caniuse.com. Проверено 2 июня 2020.
  3. ↑ Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension. IETF (July 2014).
  4. ↑ Hypertext Transfer Protocol Version 2, Use of TLS Features. Проверено 10 февраля 2015.
  5. ↑ Benjamin, David Using TLS 1.3 with HTTP/2англ.. tools.ietf.org. — «This lowers the barrier for deploying TLS 1.3, a major security improvement over TLS 1.2.»  Проверено 2 июня 2020.
  6. ↑ Bishop, Mike Hypertext Transfer Protocol Version 3 (HTTP/3)англ.. tools.ietf.org (July 9, 2019). Проверено 16 августа 2019.
  7. ↑ Cimpanu, Catalin. HTTP-over-QUIC to be renamed HTTP/3 | ZDNetангл., ZDNet.
  8. ↑ Cimpanu, Catalin Cloudflare, Google Chrome, and Firefox add HTTP/3 support. ZDNet (26 September 2019). Проверено 27 сентября 2019.
  9. ↑ HTTP/3: the past, the present, and the futureангл.. The Cloudflare Blog (2019-09-26). Проверено 30 октября 2019.
  10. ↑ Firefox Nightly supports HTTP 3 - General - Cloudflare Community (2019-11-19). Проверено 23 января 2020.
  11. ↑ «RFC 2616», с. 12 
  12. ↑ Classic HTTP Documents. W3.org (1998-05-14). Проверено 1 августа 2010.

Ссылки[править]

 
Глобально

Всемирная паутина (Веб 1.0 • Веб 2.0 • Веб 3.0) • Семантическая паутина • Интернет (в России) • Русскоязычный Интернет • Рунет (термин) • Провайдер

Локально

Домен • Сайт (плохо грузится) • Портал • Страница • Служба • Кольцо

Виды сайтов
и сервисов

Виртуальный атлас • Баннерная сеть • Библиотека • Блог (платформа) • Видеохостинг • Вики • Сайт-визитка • Вопрос-ответ • Закладки • Службы знакомств • Браузерная игра • Каталог ресурсов • Интернет-магазин • Интернет-издание • Микроблог • Новостной сайт • Поисковая система • Порносайт • Веб-почта • Социальная сеть • Тамблелог • BitTorrent-трекер • Файлообменник • Форум (Сервис • Имиджборд) • Фотохостинг • Чат

Создание и
обслуживание

Мастер • Разработка • Дизайн • Вёрстка • Программирование • Юзабилити • Опыт взаимодействия • Продвижение сайта • Поисковая оптимизация (SEO) • Хостинг • Системный администратор • Модератор • Учётная запись • Онлайн-трансляция • Авторизация

Типы макетов,
страниц, сайтов

Статический • Динамический • Фиксированный • Резиновый • Динамично эластичный • Адаптивный

Техническое

Веб-сервер (сравнение) • Браузер (сравнение) • Cookie • DNS • CMF • CMS • HTTP (ответы • заголовки) • SPDY • QUIC • CGI • HTML • XHTML • IP-адрес • CSS • JavaScript • DHTML • Cookie • DOM • XML • AJAX • JSON • Flash • RSS • TCP/IP • Atom • Микроформат • favicon.ico • robots.txt • Sitemaps • VPN • Карта сайта • Уникальный посетитель • .htaccess

Маркетинг

Аффилиат • Интернет-маркетинг • Интернет-реклама • Баннер • Контекстная реклама • Тизер • Управление интернет-магазином • Киберсквоттинг • Монетизация

Социум и культура

Астротурфинг • Блогер • Блогосфера • Интернет-зависимость • Интернет-право • Интернет-сообщество (районное) • Сетевая литература • Сетевой этикет • Стример • Хейтер • Роберт Эллиот Кан • Цифровой аватар

 
Физический

Ethernet • RS-232 • EIA-422 • RS-449 • RS-485

Канальный

Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • Shortest Path Bridging • SMDS • STP • ERPS

Сетевой

IPv4 • IPv6 • IPsec • ICMP • IGMP • ARP • RARP • RIP2 • OSPF • EIGRP

Транспортный

TCP(Crypt) • UDP • SCTP • DCCP • RDP/RUDP • RTP • GRE

Сеансовый

ADSP • H.245 • iSNS • NetBIOS • PAP • RPC • L2TP • PPTP • RTCP • SMPP • SCP • ZIP • SDP

Представления

XDR • SSL • TLS

Прикладной

BGP • HTTP(S) • DHCP • IRC • SNMP • DNS(SEC) • NNTP • XMPP • SIP • IPP • NTP • SNTP • Электронная почта (SMTP • POP3 • IMAP4) • Передача файлов (FTP • TFTP • SFTP • WebDAV) • SMB • Удалённый доступ (rlogin • Telnet • SSH • RDP)

Другие прикладные

Bitcoin • OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype

Разное

Протокол передачи данных • Протоколы модемной связи