Заполните форму и наш менеджер свяжется с вами
Из чего состоит HTTP запрос и какие данные он передает

Из чего состоит HTTP запрос и какие данные он передает

article
banner

HTTP — это протокол передачи гипертекстовых данных. Когда вы вводите адрес сайта в браузере и на экране открывается веб-страница, вы используете эту технологию. За кадром остается код запроса и ответа. Рассказываем принцип работы HTTP простыми словами, как в учебнике информатики.

Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно

HTTP — что это такое

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol. В переводе расшифровка означает «протокол передачи гипертекста». Это технология, за счет которой работает интернет. Она обеспечивает передачу данных между браузером и сервером.

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

Сетевой протокол разработан в 1992 году. Актуальная версия HTTP 1.1 описана в спецификации RFC 2616. Это список правил, который описывает структуру HTTP запроса и ответа

Источник: ru.freepik.com

Зачем используют HTTP 

Обмен данными

Просмотр веб-страниц в интернете возможен благодаря HTTP. Сетевой протокол обеспечивает взаимодействие браузера и сервера. Передача данных выполняется через TCP/IP-соединение. На стороне сервера по умолчанию используется TCP-порт 80, но возможны и другие варианты.

Компоненты сетевого протокола:

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

Интеграция

HTTP поддерживает интеграцию с другими протоколами. Например, SOAP, XML-RPC и WebDAV. В спецификации 1.1 для смены протокола используется заголовок Upgrade. Клиент должен создать запрос с таким заголовком. Сервер не может изменить протокол самостоятельно. Когда возникает необходимость, он передает ответ 426 Upgrade Required.

Многие программы и веб-приложения поддерживают обмен данными с помощью HTTP через API. Так можно передавать любой формат файлов, в том числе JSON и XML.

Шифрование

В базовой версии нет инструмента шифрования. Для защиты данных используется расширение HTTPS. Расшифровка названия: HyperText Transfer Protocol Secure или «безопасный протокол передачи гипертекста». Большинство сайтов используют HTTPS. 

HTTPS преобразует данные, используя криптографический протокол TLS или SSL. Пользователи могут передавать логины и пароли, телефоны и адреса email, реквизиты банковских карт и другую личную информацию. Данные надежно защищены от перехвата или подмены.

При HTTPS-соединении на сервере используется TCP-порт 443. Он расшифровывает запросы на основе приватного ключа.

Как происходит обмен данными:

  1. Браузер запрашивает SSL-сертификат у сайта.
  2. Сайт отправляет клиенту SSL-сертификат в ответ.
  3. Браузер проверяет информацию в центре сертификации.
  4. Если сертификат подлинный, передача данных продолжается. Если обнаружена ошибка, пользователь получает уведомление, что соединение не безопасно.
  5. Используя асимметричный ключ, браузер и сайт договариваются о симметричном ключе.
  6. Клиент и сервер обмениваются зашифрованной информацией.
Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно

Как отправить запрос

  1. Открыть браузер и ввести адрес в командную строку. Например: synergy.ru. Для доступа к сайту не нужно указывать протокол. Он добавляется в стартовую строку автоматически.
  2. Браузер отправляет URL в доменную систему имен (DNS). Система находит IP-адрес сайта в базе данных и передает его клиенту.
  3. Клиент составляет запрос с вложенным IP-адресом и передает его на сайт.
  4. Сервер обрабатывает и генерирует ответ. В нем содержатся не только запрошенные данные (HTML-код главной страницы сайта). Ответ включает метаданные: дополнительную информацию, которая помогает упорядочить файлы.
  5. Браузер получает ответ и показывает главную страницу сайта.

Запрос выглядит так: 

GET / HTTP/1.1

host: www.synergy.ru.

Расшифровка структуры:

  • GET — метод. Описывает действие, которое должен выполнить сервер. В нашем примере: отправить код HTML-страницы клиенту.
  • / — унифицированный идентификатор ресурса (URI). Он состоит из адреса хоста (URL) и адреса страницы (URN), которые нужно указывать далее в тексте.
  • HTTP/1.1 версия сетевого протокола. Вариант 1.1 ставится по умолчанию. Если указать неправильную версию, могут возникать ошибки при чтении данных.
  • host: www.synergy.ru адрес хоста. URL автоматически меняется на IP-адрес сайта. URN в примере не указывается, потому что обращение идет к главной странице.

Ответ сервера выглядит так:

HTTP/1.1 200 OK

Content-Type: text/html; charset=UTF-8

Content-Length: число

<html> здесь код страницы </html> 

Расшифровка структуры:

  • HTTP/1.1 — версия сетевого протокола.
  • 200 OK — статус ответа. Статус означает, что запрос обработан успешно.
  • Content-Type — заголовок, который показывает формат и параметры файла.
  • Content-Length — заголовок, который сообщает размер файла в байтах.
  • <html> код </html> — тело ответа.

Источник: ru.freepik.com

Типичные ошибки и как их исправить

  • 300 Moved Permanently — адрес хоста (URL) навсегда изменился. Уточните новый адрес страницы.
  • 400 Bad Request — неправильный формат запроса. Убедитесь, что вы используете версию 1.1. Отключите плагины для браузера. Проблема может быть на стороне провайдера или сервера.
  • 401 Unauthorized — ошибка авторизации. Для доступа к сайту правильно укажите логин и пароль.
  • 404 Not Found — страница не найдена. Ошибка при вводе URL или указан адрес, которого не существует. Уточните адрес сайта и проверьте URL.
  • 403 Forbidden — доступ запрещен.
  • 405 Method Not Allowed — указанный в запросе метод не поддерживается. Попробуйте выполнить другое действие
  • 409 Conflict — конфликт в запросе. Проверьте версию протокола. Если запрос введен вручную, проверьте написанный код.
  • 500 Internal Server Error — внутренняя ошибка сервера. Попробуйте зайти на сайт позже.
  • 503 Forbidden — служба недоступна. Сервер перегружен или ведутся технические работы. Вернитесь на сайт позже.

Главное, что нужно знать

  • HTTP — это протокол, который описывает правила обмена данными между компьютером и сервером. Он позволяет работать с сайтами, просматривать картинки и видео, скачивать и загружать файлы. 
  • HTTP работает в браузерах или веб-приложениях. Он поддерживает интеграцию с другими сетевыми протоколами (WebSocket, SOAP, XML-RPC и WebDAV).
  • Обмен данными начинается по инициативе клиента. Браузер отправляет HTTP-запрос на сайт. Сервер обрабатывает его и генерирует ответ. Браузер принимает его и показывает веб-страницу пользователю.
  • Чтобы передавать данные в зашифрованном виде, используется расширение HTTPS. Для проверки безопасности соединения используются SSL-сертификаты.

Адреса поступления

ЦФО
Москва, Ленинградский пр., д. 80Г
Сокол
+7 495 800–10–01 8 800 100–00–11
banner
Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно
download
Всё самое важное — в личном кабинете абитуриента
Войти
школаколледжуниверситетбизнес-образованиекурсы
image
1000+программ
Образованиеhatдляhatкарьеры

В «Синергии» 1000+ образовательных программ

У нас есть решения для любого уровня, профессии и цели:
01Сформировать прочный фундамент знаний в&nbsp;школе
Сформировать прочный фундамент знаний в школе
02Получить качест&shy;венное среднее профессио&shy;нальное или&nbsp;высшее образование
Получить качест­венное среднее профессио­нальное или высшее образование
03Освоить новую специальность на&nbsp;<span style="white-space:nowrap;">онлайн-курсах</span>
Освоить новую специальность на онлайн-курсах
04Пройти результативную переподготовку или&nbsp;повысить квалификацию
Пройти результативную переподготовку или повысить квалификацию
05Достичь экспертного управленческого уровня с&nbsp;<span style="white-space:nowrap;">программой</span> MBA
Достичь экспертного управленческого уровня с программой MBA
Качество образования подтвержденомеждународными стандартами:
мы состоим в Европейском фонде гарантии качества электронного обучения и Великой хартии европейских университетов, участвуем в Международной ассоциации университетов при ЮНЕСКО
Подобрать программу обучения