Как устроен протокол HTTP и почему это важно

Как устроен протокол HTTP и почему это важно

Что нужно знать о соглашении, которое помогает нам посещать сайты.

Интернет состоит из передаваемых сообщений. Чаще всего они отправляются с использованием протокола HTTP.

Словом «протокол» обозначают соглашение. Представьте: вы находите на пороге листок бумаги со словом «бейсболка» и понимаете, что друг предлагает вам сегодня вместе посмотреть футбол. Вы договорились заранее, что слово «бейсболка» — это приглашение на просмотр матча. Но если бы вы отправили такое сообщение человеку, который не знает значения слова, то он бы нашел записку и ничего не понял. 

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

Рассказываем, как работает HTTP и для чего он нужен. 

Структура сообщения 

Представьте, что у вас есть робот. Вы можете попросить его перейти на любой адрес (IP) с сообщениями. Как только он придет по адресу — скажет, что у него есть сообщение, а потом произнесет его. Двери в дом (сервер) откроются только в случае, если слова произнесены правильно. Робот получит ответное сообщение и доставит его вам.

Существуют правила, определяющие, как выглядят сообщения запроса и ответа.

Ответ 

Браузер создает сообщение HTTP-запроса и отправляет его на сервер. Ответ сервера (часто — HTML-документ) пользователь по умолчанию не видит. Документ выглядит как структура веб-страниц, которая определяет, что должен отображать браузер.

Например, если вы перейдете на www.google.com, то получите взамен HTML-файл, который определяет, как сайт google.com будет отображаться в браузере.

Как работает HTTP

Пользователи могут взаимодействовать с веб-ресурсами. Например, с файлами HTML, с помощью передачи гипертекстовых сообщений между клиентами и серверами. 

HTTP-клиенты обычно используют соединения протокола управления передачей (TCP) для связи с серверами.

У HTTP есть методы запроса, которые зависят от задач. Вот основные:

  • GET полностью запрашивает конкретный ресурс.
  • HEAD запрашивает только информацию о файле и ресурсе и возвращает заголовки.
  • POST добавляет контент, сообщения или данные на новую страницу существующего ресурса.
  • PUT напрямую изменяет существующий веб-ресурс — метод используют для обновления и редактуры выбранного элемента.
  • DELETE избавляется от указанного ресурса — клиент вносит id сайта и передает ему переменную пути в URL. 
  • TRACE показывает пользователям любые изменения или дополнения, внесенные в веб-ресурс.
  • OPTIONS показывает пользователям, какие методы HTTP доступны для URL-адреса.
  • CONNECT преобразует соединение запроса в прозрачный туннель TCP/IP — это процесс, в ходе которого создается логическое соединение между двумя конечными точками.
  • PATCH частично изменяет веб-ресурс. Его используют, когда обновляешь одно поле из двух и более.

Три важных свойства HTTP

  • Работает без установления соединения

Это значит, что после выполнения запроса клиент отключается от сервера. Когда ответ готов, соединение восстанавливается для его доставки. Потом сервер снова закрывается.

  •  Не имеет состояния

Клиент и сервер знают друг о друге только во время текущего запроса. Если два компьютера захотят переподключиться, им нужно будет заново предоставить друг другу информацию. Второе соединение будет обрабатываться так же, как первое.

  •  Может доставлять любые данные

Если два компьютера знают, как отправлять информацию друг другу, HTTP может доставлять любые данные.

HTTP и HTTPS: в чем разница

HTTPS — это безопасный протокол передачи гипертекста. S (Secure) означает «безопасное шифрование».

У HTTPS есть открытый ключ. Он расшифровывается на стороне получателя и включен в сертификат SSL. Это можно назвать онлайн-удостоверением личности. Там сказано, что веб-сайт защищен от внешних угроз. 

Сайты, собирающие конфиденциальную информацию людей, включая домашние адреса и номера банковских карт, должны приобретать лицензию SSL.

SSL-шифрование дает преимущества для клиентов и сайтов. Вот основные:

#1. Безопасность: поскольку сертификат защищает конфиденциальную информацию, хакерам и похитителям личных данных гораздо сложнее взломать сайт. 

#2. Подлинность и надежность: люди хотят вести бизнес с безопасным сайтом. Они не будут ничего покупать на ресурсах, которые не проверены и не зашифрованы.

#3. Повышение рейтинга в поиске Google: в 2014 году Google заявил, что сертификат, установленный на сайте, улучшит позицию в рейтинге. В компании говорят, что это повышает уровень безопасности всех пользователей. 

#4. Повышенный коэффициент конверсии: исследование американской компании по производству программного обеспечения в области информационной безопасности Symantec показало, что у защищенных сайтов онлайн-магазинов увеличенный коэффициент конверсии на 18-87%.

Повышенная стоимость транзакции: клиенты не хотят тратить много денег, если не доверяют сайту. Исследование поставщика сертификатов SSL Comodo показало, что установленный цифровой сертификат может увеличить среднюю стоимость транзакции на 23%.

Ещё статьи
Инструкция от Product Analyst Lead в SQUAD.
История, архитектура и основы обучения.