Как устроен протокол 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%.