как узнать https или http
HTTPS или HTTP — в чем разница? Объясняем просто!
При посещении любого сайта в интернете вы можете заметить, что его адрес начинается с «http://» или «https://». Что означает подобная конструкция, для чего используется и почему бывает двух видов – попробуем разобраться.
Что такое HTTP/HTTPS
HTTP и HTTPS – это протоколы передачи гипертекста. Когда вы посещаете какой-нибудь веб-ресурс (например, сайт, социальную сеть, электронную почту и пр.), происходит обмен данными между сервером и браузером: вы формируете и отправляете запрос, сервер получает и обрабатывает его, после чего отправляет вам результат, а браузер преобразует его в нужный вид.
Рекомендуем: Click.ru – маркетплейс рекламных платформ:
За этот обмен как раз и отвечают протоколы:
Нетрудно заметить, что протоколы отличаются друг от друга наличием буквы «S», означающей «Secure» («Безопасность»). Соответственно, HTTPS – это безопасный протокол передачи гипертекста. Он поддерживает шифрование при помощи криптографических протоколов SSL и TLS. Другими словами, HTTPS – это то же самое, что HTTP, только с защитой SSL-сертификатом.
Чем отличаются HTTP и HTTPS
Рассмотрим, что дает SSL-сертификат, и чем отличаются протоколы HTTP и HTTPS:
Что лучше
Нетрудно догадаться, что протокол HTTPS имеет неоспоримые преимущества перед НТТР. Во-первых, при его использовании шифруются все данные – URL, история просмотров, номера банковских карт, данные паспорта и любая другая информация. Во-вторых, поисковые системы отдают предпочтение сайтам на HTTPS при ранжировании. Это означает, что защищенный сайт будет отображаться в поисковой выдаче выше, чем незащищенный. Если вы заботитесь о SEO-продвижении своих ресурсов, обязательно придется использовать SSL-сертификат.
Наконец, защищенный протокол вызывает доверие у пользователей. Тем более, когда о незащищенном соединении предупреждает сама поисковая система. Никто не хочет, чтобы его личные данные были использованы третьими лицами.
Как перейти на HTTPS
Как вы уже догадались, протокол HTTPS должен быть на каждом сайте. Особенно он необходим интернет-магазинам, финансовым компаниям, почтовым сервисам и другим ресурсам, которые часто работают с данными своих пользователей.
Переход на HTTPS тесно связан с использованием SSL-сертификатов. Именно они обеспечивают зашифрованное соединение с сервером.
ТОП-12 хостингов с защитой от DDOS атак
На что следует обращать внимание при выборе хостинга? Большинство назовет условия обслуживания (размер диска, количество сайтов и прочее), поддерживаемые технологии, наличие бэкапов, цену. Но многие забудут о не менее важной вещи – защите от DDoS-атак. Каким бы хорошим и дешевым ни был ваш хостинг, он может не устоять перед большим количеством запросов, генерируемых злоумышленниками. Это приведет к перегрузке работы системы и «падению» сайта.
Шаг 1. Выбор сертификата
Перед переносом сайта на защищенный протокол вам понадобится сам сертификат. Существует несколько видов SSL-сертификатов, каждый из которых отличается по уровню защиты. Например:
Стандартные SSL-сертификаты «защищают» основной домен сайта. Для защиты поддоменов понадобится сертификат с соответствующей опцией (Wildcart). Также можете дополнительно воспользоваться печатью доверия SiteSeal.
Шаг 2. Покупка сертификата
После того, как вы выбрали подходящий сертификат, возникает вопрос – где его взять? Здесь у вас может быть небольшой выбор:
Купить сертификат вы можете у своего хостинг-провайдера. Просто выбираете тип сертификата, указываете домен и оплачиваете его. Также можете приобрести бесплатный SSL-сертификат от DomainSSL или Let’s Encrypt.
Шаг 3. Активация сертификата
Здесь все просто – все делается автоматически. Единственный нюанс – сроки. Для сертификатов низкого уровня активация произойдет практически мгновенно, а вот в случае сертификатов с проверкой вам придется подождать несколько дней (обычно от 3 до 7). В это время Центр сертификации будет проверять сведения об организации.
Шаг 4. Установка сертификата
Наконец, завершающий этап. После активации SSL-сертификата вы получите инструкции, как его установить. Сам процесс будет зависеть от того, где размещается сайт:
Также вам понадобится настроить редирект (чтобы не потерять трафик при переходе с НТТР на HTTPS), оповестить поисковые системы (через Google Search Console или Яндекс.Вебмастер) и, наконец, проверить правильность установки.
В чем различия между HTTP и HTTPS
HTTPS и HTTP – два протокола, с помощью которых передается информация в Интернете. Они предназначены для передачи текстовых данных между клиентом и сервером, а главное различие между ними – в наличии и отсутствии шифрования передаваемых данных.
Важной задачей владельца сайта является обеспечение безопасности при передаче информации и ее сохранности. Передача данных по протоколу HTTPS является таким решением.
Что такое HTTP — особенности протокола
HTTP представляет собой прикладной протокол 7 уровня. Действие осуществляется в следующем порядке: клиент направляет запрос к серверу расположения ресурса, протокол форматирует данные нужным образом и предоставляет результат, затем браузер отображает полученные данные. В общем, HTTP – это набор правил передачи информации между браузером пользователя и сервером сайта. В основе его работы находится существующая клиент-серверная передача данных:
В настоящее время HTTP протокол считается основным фактором нормальной работы интернета, обеспечивая передачу информации между серверами и браузером пользователя. К его достоинствам относятся:
Но есть один момент. Ресурсы с HTTP в основном используются в информационных и развлекательных сайтах, где безопасность данных не столь существенный вопрос, вследствие чего к нему меньше доверия клиентов.
Что такое HTTPS — достоинства и характеристики
HTTPS поддерживает шифрование с повышенным уровнем безопасного обмена данными. Домены, на которых установлен SSL-сертификат, являются платформой для применения данного расширения. Технологии для шифрования применяются во всех этапах обмена информации. Преимущества следующие:
1. Гарантированная безопасность — это решающий фактор при работе с конфиденциальными и финансовыми инструментами. Все ресурсы, работающие с обработкой персональных и финансовых данных работают по протоколу HTTPS;
2. Защита от хакерских атак, направленных на прослушивание соединения;
3. Поисковые системы настоятельно рекомендуют всем ресурсам перейти на HTTPS протокол;
4. Скорость загрузки данных практически одинакова с показателем HTTP. Безопасность важнее, чем несущественный прирост скорости передачи данных.
По протоколу HTTPS в большинстве случаев работают: интернет-магазины, сервисы-кэшбэк, платежные ресурсы с электронными кошельками, различные финансовые подразделения, транспортные предприятия, государственные сайты и другие подобные ресурсы.
На данный момент, фактически, использование HTTPS с сертификатом SSL — стандарт «де-факто» практически для любого сайта.
Различия SSL сертификатов
SSL-сертификаты имеют несколько разновидностей. Они классифицируются следующим доверительным факторам:
1. Проверка в упрощенном виде — DV (domain validation). Подтверждение права на пользование доменом. Обычно такой сертификат можно получить бесплатно.
2. Стандартная проверка OV (organization validation). Кроме права на владение доменом, подтверждается фактическое существование организации.
3. Расширенная проверка EV (extended validation). Подтверждает большую степень доверия – к перечисленным выше факторам прибавляется правомерное осуществление работы компании.
Топ-6 сервисов для проверки кроссбраузерности сайта
Что значит протокол безопасности сайта
9 ноября 2017 Опубликовано в разделах: Азбука терминов. 10912
Как узнать протокол сайта – по аббревиатуре HTTP (Hyper Text Transfer Protocol) или HTTPS (+ Secure) в адресной строке.
Протокол показывает, каким образом происходит обмен данными. Шифруются ли они, как именно отправляются. Сравнить это можно с обычной почтой. Вы можете послать книгу бандеролью, можете посылкой. Можете объявить ценность отправления.
В данном случае способ отправки — это протокол сайта.
Как работает протокол
HTTP действует как функция «вопрос-ответ». Клиент направляет запрос HTTP на сервер, предоставляющий нужные ему данные и пересылает ответ. В нем содержатся данные о запросе или запрашиваемое содержимое.
HTTP используется для поддержки промежуточных компонентов сети, для обеспечения взаимодействия между серверами и клиентами. Это поэтапная процедура. Клиент формирует запрос посредством создания TCP-подключения к порту на сервере, а последний просматривает этот порт и ожидает сообщения с запросом. После его получения, сервер направляет обратное письмо. Оно может состоять из запрошенного ресурса, наличия ошибок и прочих сведений.
Протокол безопасности сайта
При HTTP данные передаются в открытом виде, без защиты. Из начального, к конечному адресату информация передается через большое количество промежуточных соединений. Если хотя бы одно из них контролируется посторонним участником, то сведения могут быть перехвачены и использованы в корыстных целях.
Для многих ресурсов, в том числе и в платежных системах, сервисах обработки персональной информации, защита передаваемых данных крайне необходима, поэтому в них установлен протокол безопасности сайта HTTPS. Большинство современных сервисов действуют с его помощью.
Во всех браузерах поддерживается такая функция – она включается в работу автоматически, когда это требуется.
Проверка протокола сайта HTTPS: в чем его безопасность
Защиту пересылки информации по HTTPS гарантирует криптографический протокол SSL/TLS, шифрующий все передаваемые данные. По сути это обложка HTTPS, которая делает всю информацию недоступной для использования третьими лицами.
Особенности использования HTTPS:
Проверка протокола сайта осуществляется визуально (наименование можно увидеть в адресной строке).
Как функционирует безопасное HTTPS-соединение
В процессе создания соединения с помощью протокола безопасности сайта HTTPS, формируется специальный ключ, известный компьютеру пользователя и запрашиваемому серверу. С помощью ключа шифруются все пересылаемые данные. Несанкционированный доступ к ним невозможен, поскольку он включает в себя более ста символов.
Дополнительно в данный процесс включен еще один компонент обеспечения безопасности на основе HTTPS – цифровой сертификат, применяемый для идентификации сервера web-ресурса. В сертификат внесены все необходимые данные о владельце, включая цифровую подпись, используемую для подтверждения личности.
Процесс обмена между клиентом и сервером начинается только после этапа проверки валидности цифрового сертификата.
Где используется HTTPS
Проверка протокола сайта и поддержка HTTPS встроена во всех современных браузерах. Область использования достаточно широка. Например:
Даже в криптографических протоколах периодически появляются уязвимости, которые могут допустить перехват зашифрованных данных. Для устранения таких ошибок протоколы постоянно обновляются. Каждая новая версия, надежнее предыдущей, поэтому крайне важно использовать только последние обновления браузеров и других программ.
Поводом задуматься о переходе на HTTPS может послужить то, что поисковики намереваются в ближайшее время сайты без этого протокола помечать в выдаче как небезопасные и даже понижать их в ранжировании.
– Только качественный трафик из Яндекса и Google
– Понятная отчетность о работе и о планах работ
– Полная прозрачность работ
🕸 Что такое HTTP и HTTPS?
Что такое HTTP?
HTTP – широко распространённый протокол передачи данных, изначально предназначенный для гипертекстовых документов, то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам.
HTTP 1.1
Также HTTP часто используется как протокол передачи информации для других протоколов прикладного уровня, таких как SOAP, XML-RPC и WebDAV. В таком случае говорят, что протокол HTTP используется как «транспорт». API многих программных продуктов также подразумевает использование HTTP для передачи данных – сами данные при этом могут иметь любой формат, например, XML или JSON. Как правило, передача данных по протоколу HTTP осуществляется через TCP/IP-соединения. Серверное программное обеспечение при этом обычно использует TCP-порт 80 (и, если порт не указан явно, то обычно клиентское программное обеспечение по умолчанию использует именно 80-й порт для открываемых HTTP-соединений), хотя может использовать и любой другой.
Как отправить HTTP-запрос?
Чтобы сформировать HTTP-запрос, необходимо составить стартовую строку, а также задать по крайней мере один заголовок – это заголовок Host, который является обязательным, и должен присутствовать в каждом запросе. Дело в том, что преобразование доменного имени в IP-адрес осуществляется на стороне клиента, и, соответственно, когда вы открываете TCP-соединение, то удалённый сервер не обладает никакой информацией о том, какой именно адрес использовался для соединения. Однако фактически сетевое соединение во всех случаях открывается с узлом 212.24.43.44, и даже если первоначально при открытии соединения был задан не этот IP-адрес, а какое-либо доменное имя, то сервер об этом никак не информируется — и именно поэтому этот адрес необходимо передать в заголовке Host.
Метод (в англоязычной тематической литературе используется слово method, а также иногда слово verb – «глагол») представляет собой последовательность из любых символов, кроме управляющих и разделителей, и определяет операцию, которую нужно осуществить с указанным ресурсом. Спецификация HTTP 1.1 не ограничивает количество разных методов, которые могут быть использованы, однако в целях соответствия общим стандартам и сохранения совместимости с максимально широким спектром программного обеспечения как правило используются лишь некоторые, наиболее стандартные методы, смысл которых однозначно раскрыт в спецификации протокола.
URI (Uniform Resource Identifier, унифицированный идентификатор ресурса) – путь до конкретного ресурса (например, документа), над которым необходимо осуществить операцию (например, в случае использования метода GET подразумевается получение ресурса). Некоторые запросы могут не относиться к какому-либо ресурсу, в этом случае вместо URI в стартовую строку может быть добавлена звёздочка (астериск, символ «*»). Например, это может быть запрос, который относится к самому веб-серверу, а не какому-либо конкретному ресурсу.
Как прочитать отчет HTTP-запроса?
Версия протокола здесь задаётся так же, как в запросе.
Код состояния (Status Code) – три цифры (первая из которых указывает на класс состояния), которые определяют результат совершения запроса. Например, в случае, если был использован метод GET, и сервер предоставляет ресурс с указанным идентификатором, то такое состояние задаётся с помощью кода 200. Если сервер сообщает о том, что такого ресурса не существует – 404. Если сервер сообщает о том, что не может предоставить доступ к данному ресурсу по причине отсутствия необходимых привилегий у клиента, то используется код 403. Спецификация HTTP 1.1 определяет 40 различных кодов HTTP, а также допускается расширение протокола и использование дополнительных кодов состояний.
Безопасность HTTP-запроса
Сам по себе протокол HTTP не предполагает использование шифрования для передачи информации. Тем не менее, для HTTP есть распространённое расширение, которое реализует упаковку передаваемых данных в криптографический протокол SSL или TLS.
На данный момент HTTPS поддерживается всеми популярными веб-браузерами.
Что такое HTTPS?
HTTPS (Hypertext Transport Protocol Secure) – это протокол, который обеспечивает конфиденциальность обмена данными между сайтом и пользовательским устройством. Безопасность информации обеспечивается за счет использования криптографических протоколов SSL/TLS, имеющих 3 уровня защиты:
В каких случаях необходим сертификат HTTPS?
Обязательное использование защищенного протокола передачи данных требует вся информация, касающаяся проведения платежей в интернете: оплата товаров в интернет-магазинах любым способом (индивидуальная платежная карта, онлайн системы платежей и пр.), оплата услуг через интернет-банкинг, совершение платежей в онлайн сервисах (казино, online-курсы и т.п.) и многое другое.
Если на вашем сайте используется что-либо похожее, то вам стоит серьезно задуматься над переходом на HTTPS. Поэтому далее мы рассмотрим, что для этого необходимо.
Что нужно для перехода сайта на HTTPS?
Работа протокола HTTPS основана на том, что компьютер пользователя и сервер выбирают общий секретный ключ, с помощью которого и происходит шифрование передаваемой информации. Этот ключ уникальный и генерируется для каждого сеанса. Считается, что его подделать невозможно, так как в нем содержится более 100 символов. Во избежание перехвата данных третьим лицом используется цифровой сертификат – это электронный документ, который идентифицирует сервер. Каждый владелец сайта (сервера) для установки защищенного соединения с пользователем должен иметь такой сертификат.
В этом электронном документе указываются данные владельца и подпись. С помощью сертификата вы подтверждаете, что:
Первое, что делает браузер при установке соединения по протоколу HTTPS – проверку подлинности сертификата, и только в случае успешного ответа начинается обмен данными.
Сертификатов существует несколько видов в зависимости от следующих факторов:
Это уже тема для отдельной статьи. Выдают их специализированные центры сертификации на возмездной основе и на определенный период, поэтому важно не забывать продлевать действие сертификата.
Для начинающих пользователей также интересна тема про инструменты, которые необходимы для тестирования своего API – я готов продолжить серию публикаций.
Простым языком об HTTP
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.
HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).
Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.
Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.
Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Также HTTP часто используется как протокол передачи информации для других протоколов прикладного уровня, таких как SOAP, XML-RPC и WebDAV. В таком случае говорят, что протокол HTTP используется как «транспорт».
API многих программных продуктов также подразумевает использование HTTP для передачи данных — сами данные при этом могут иметь любой формат, например, XML или JSON.
Как правило, передача данных по протоколу HTTP осуществляется через TCP/IP-соединения. Серверное программное обеспечение при этом обычно использует TCP-порт 80 (и, если порт не указан явно, то обычно клиентское программное обеспечение по умолчанию использует именно 80-й порт для открываемых HTTP-соединений), хотя может использовать и любой другой.
Как отправить HTTP-запрос?
Самый простой способ разобраться с протоколом HTTP — это попробовать обратиться к какому-нибудь веб-ресурсу вручную. Представьте, что вы браузер, и у вас есть пользователь, который очень хочет прочитать статьи Анатолия Ализара.
Предположим, что он ввёл в адресной строке следующее:
Соответственно вам, как веб-браузеру, теперь необходимо подключиться к веб-серверу по адресу alizar.habrahabr.ru.
Для этого вы можете воспользоваться любой подходящей утилитой командной строки. Например, telnet:
telnet alizar.habrahabr.ru 80
Сразу уточню, что если вы вдруг передумаете, то нажмите Ctrl + «]», и затем ввод — это позволит вам закрыть HTTP-соединение. Помимо telnet можете попробовать nc (или ncat) — по вкусу.
После того, как вы подключитесь к серверу, нужно отправить HTTP-запрос. Это, кстати, очень легко — HTTP-запросы могут состоять всего из двух строчек.
Для того, чтобы сформировать HTTP-запрос, необходимо составить стартовую строку, а также задать по крайней мере один заголовок — это заголовок Host, который является обязательным, и должен присутствовать в каждом запросе. Дело в том, что преобразование доменного имени в IP-адрес осуществляется на стороне клиента, и, соответственно, когда вы открываете TCP-соединение, то удалённый сервер не обладает никакой информацией о том, какой именно адрес использовался для соединения: это мог быть, например, адрес alizar.habrahabr.ru, habrahabr.ru или m.habrahabr.ru — и во всех этих случаях ответ может отличаться. Однако фактически сетевое соединение во всех случаях открывается с узлом 212.24.43.44, и даже если первоначально при открытии соединения был задан не этот IP-адрес, а какое-либо доменное имя, то сервер об этом никак не информируется — и именно поэтому этот адрес необходимо передать в заголовке Host.
Стартовая (начальная) строка запроса для HTTP 1.1 составляется по следующей схеме:
Например (такая стартовая строка может указывать на то, что запрашивается главная страница сайта):
Метод (в англоязычной тематической литературе используется слово method, а также иногда слово verb — «глагол») представляет собой последовательность из любых символов, кроме управляющих и разделителей, и определяет операцию, которую нужно осуществить с указанным ресурсом. Спецификация HTTP 1.1 не ограничивает количество разных методов, которые могут быть использованы, однако в целях соответствия общим стандартам и сохранения совместимости с максимально широким спектром программного обеспечения как правило используются лишь некоторые, наиболее стандартные методы, смысл которых однозначно раскрыт в спецификации протокола.
URI (Uniform Resource Identifier, унифицированный идентификатор ресурса) — путь до конкретного ресурса (например, документа), над которым необходимо осуществить операцию (например, в случае использования метода GET подразумевается получение ресурса). Некоторые запросы могут не относиться к какому-либо ресурсу, в этом случае вместо URI в стартовую строку может быть добавлена звёздочка (астериск, символ «*»). Например, это может быть запрос, который относится к самому веб-серверу, а не какому-либо конкретному ресурсу. В этом случае стартовая строка может выглядеть так:
Версия определяет, в соответствии с какой версией стандарта HTTP составлен запрос. Указывается как два числа, разделённых точкой (например 1.1).
Для того, чтобы обратиться к веб-странице по определённому адресу (в данном случае путь к ресурсу — это «/»), нам следует отправить следующий запрос:
GET / HTTP/1.1
Host: alizar.habrahabr.ru
При этом учитывайте, что для переноса строки следует использовать символ возврата каретки (Carriage Return), за которым следует символ перевода строки (Line Feed). После объявления последнего заголовка последовательность символов для переноса строки добавляется дважды.
Впрочем, в спецификации HTTP рекомендуется программировать HTTP-сервер таким образом, чтобы при обработке запросов в качестве межстрочного разделителя воспринимался символ LF, а предшествующий символ CR, при наличии такового, игнорировался. Соответственно, на практике бо́льшая часть серверов корректно обработает и такой запрос, где заголовки отделены символом LF, и он же дважды добавлен после объявления последнего заголовка.
Если вы хотите отправить запрос в точном соответствии со спецификацией, можете воспользоваться управляющими последовательностями \r и \n:
Как прочитать ответ?
Стартовая строка ответа имеет следующую структуру:
Версия протокола здесь задаётся так же, как в запросе.
Код состояния (Status Code) — три цифры (первая из которых указывает на класс состояния), которые определяют результат совершения запроса. Например, в случае, если был использован метод GET, и сервер предоставляет ресурс с указанным идентификатором, то такое состояние задаётся с помощью кода 200. Если сервер сообщает о том, что такого ресурса не существует — 404. Если сервер сообщает о том, что не может предоставить доступ к данному ресурсу по причине отсутствия необходимых привилегий у клиента, то используется код 403. Спецификация HTTP 1.1 определяет 40 различных кодов HTTP, а также допускается расширение протокола и использование дополнительных кодов состояний.
Пояснение к коду состояния (Reason Phrase) — текстовое (но не включающее символы CR и LF) пояснение к коду ответа, предназначено для упрощения чтения ответа человеком. Пояснение может не учитываться клиентским программным обеспечением, а также может отличаться от стандартного в некоторых реализациях серверного ПО.
После стартовой строки следуют заголовки, а также тело ответа. Например:
Тело ответа следует через два переноса строки после последнего заголовка. Для определения окончания тела ответа используется значение заголовка Content-Length (в данном случае ответ содержит 7 восьмеричных байтов: слово «Wisdom» и символ переноса строки).
Но вот по тому запросу, который мы составили ранее, веб-сервер вернёт ответ не с кодом 200, а с кодом 302. Таким образом он сообщает клиенту о том, что обращаться к данному ресурсу на данный момент нужно по другому адресу.
В заголовке Location передан новый адрес. Теперь URI (идентификатор ресурса) изменился на /users/alizar/, а обращаться нужно на этот раз к серверу по адресу habrahabr.ru (впрочем, в данном случае это тот же самый сервер), и его же указывать в заголовке Host.
GET /users/alizar/ HTTP/1.1
Host: habrahabr.ru
В ответ на этот запрос веб-сервер Хабрахабра уже выдаст ответ с кодом 200 и достаточно большой документ в формате HTML.
Если вы уже успели вжиться в роль, то можете теперь прочитать полученный от сервера HTML-код, взять карандаш и блокнот, и нарисовать профайл Ализара — в принципе, именно этим бы на вашем месте браузер сейчас и занялся.
А что с безопасностью?
Сам по себе протокол HTTP не предполагает использование шифрования для передачи информации. Тем не менее, для HTTP есть распространённое расширение, которое реализует упаковку передаваемых данных в криптографический протокол SSL или TLS.
Название этого расширения — HTTPS (HyperText Transfer Protocol Secure). Для HTTPS-соединений обычно используется TCP-порт 443. HTTPS широко используется для защиты информации от перехвата, а также, как правило, обеспечивает защиту от атак вида man-in-the-middle — в том случае, если сертификат проверяется на клиенте, и при этом приватный ключ сертификата не был скомпрометирован, пользователь не подтверждал использование неподписанного сертификата, и на компьютере пользователя не были внедрены сертификаты центра сертификации злоумышленника.
На данный момент HTTPS поддерживается всеми популярными веб-браузерами.
А есть дополнительные возможности?
Протокол HTTP предполагает достаточно большое количество возможностей для расширения. В частности, спецификация HTTP 1.1 предполагает возможность использования заголовка Upgrade для переключения на обмен данными по другому протоколу. Запрос с таким заголовком отправляется клиентом. Если серверу требуется произвести переход на обмен данными по другому протоколу, то он может вернуть клиенту ответ со статусом «426 Upgrade Required», и в этом случае клиент может отправить новый запрос, уже с заголовком Upgrade.
Такая возможность используется, в частности, для организации обмена данными по протоколу WebSocket (протокол, описанный в спецификации RFC 6455, позволяющий обеим сторонам передавать данные в нужный момент, без отправки дополнительных HTTP-запросов): стандартное «рукопожатие» (handshake) сводится к отправке HTTP-запроса с заголовком Upgrade, имеющим значение «websocket», на который сервер возвращает ответ с состоянием «101 Switching Protocols», и далее любая сторона может начать передавать данные уже по протоколу WebSocket.
Что-то ещё, кстати, используют?
На данный момент существуют и другие протоколы, предназначенные для передачи веб-содержимого. В частности, протокол SPDY (произносится как английское слово speedy, не является аббревиатурой) является модификацией протокола HTTP, цель которой — уменьшить задержки при загрузке веб-страниц, а также обеспечить дополнительную безопасность.
Увеличение скорости обеспечивается посредством сжатия, приоритизации и мультиплексирования дополнительных ресурсов, необходимых для веб-страницы, чтобы все данные можно было передать в рамках одного соединения.
Опубликованный в ноябре 2012 года черновик спецификации протокола HTTP 2.0 (следующая версия протокола HTTP после версии 1.1, окончательная спецификация для которой была опубликована в 1999) базируется на спецификации протокола SPDY.
Многие архитектурные решения, используемые в протоколе SPDY, а также в других предложенных реализациях, которые рабочая группа httpbis рассматривала в ходе подготовки черновика спецификации HTTP 2.0, уже ранее были получены в ходе разработки протокола HTTP-NG, однако работы над протоколом HTTP-NG были прекращены в 1998.
На данный момент поддержка протокола SPDY есть в браузерах Firefox, Chromium/Chrome, Opera, Internet Exporer и Amazon Silk.
И что, всё?
В общем-то, да. Можно было бы описать конкретные методы и заголовки, но фактически эти знания нужны скорее в том случае, если вы пишете что-то конкретное (например, веб-сервер или какое-то клиентское программное обеспечение, которое связывается с серверами через HTTP), и для базового понимания принципа работы протокола не требуются. К тому же, всё это вы можете очень легко найти через Google — эта информация есть и в спецификациях, и в Википедии, и много где ещё.
Впрочем, если вы знаете английский и хотите углубиться в изучение не только самого HTTP, но и используемых для передачи пакетов TCP/IP, то рекомендую прочитать вот эту статью.
Ну и, конечно, не забывайте, что любая технология становится намного проще и понятнее тогда, когда вы фактически начинаете ей пользоваться.