Как передаются веб-страницы при помощи HTTP-запросов
Вы когда-нибудь задумывались, что происходит за кадром, когда вы открываете браузер и вводите адрес сайта URL (унифицированный ресурсный указатель), например facebook.com? После нажатия клавиши «Ввод», вы невольно запускаете сложный механизм, о котором даже не подозреваете.
Что же происходит в скрытой от глаз пользователей, обратной стороне интернета? В этот момент ваш компьютер связывается с другим компьютером (сервером), который физически может находиться где-угодно, на другом континенте или в соседнем здании. Ваш компьютер просит прислать веб-страницу, затем сервер отвечает вашему компьютеру на языке HTTP (протокол передачи гипертекста). На языке HTTP происходит общение между компьютерами, состоящее из GET-запросов.
Когда вы заходите на facebook.com, как авторизованный пользователь, то ваш компьютер отправляет GET-запрос к серверу фейсбука GET /login. Этот запрос говорит о том, что вы просите HTML (язык гипертекстовой разметки) страницу для входа на фейсбук. Этот язык объясняет браузеру, как должна выглядеть отдаваемая веб-страница. Представьте себе страницу с кулинарными рецептами, на языке HTML сервер объясняет, какого размера и цвета должен быть шрифт на странице. Какие поставить ссылки на другие страницы и так далее. Сама текстовая информация находится непосредственно на HTML-странице, а медиа-контент подключается к странице, как отдельные файлы со своими URL. Для отображения медиа-контента на сайте, нужно сделать дополнительные GET-запросы к серверу. Для каждого изображения или видео-ролика, отправляется отдельный HTTP-запрос. Если на странице очень много изображений (фотографий рецептов), то и страница загружается медленнее. Подробнее про HTML-язык вы можете узнать, посмотрев мой видео-курс.
Когда вы заполняете форму или вбиваете поисковый запрос на сайте, то сами отправляете информацию на сервер. Браузер отправляет вашу информацию серверу в текстовом виде при помощи POST-запроса. Вы заходите на фейсбук и заполняете поля формы для авторизации, таким образом вы отправляете серверу POST-запрос: адрес страницы для входа на фейсбук, ваш логин и пароль. Ваш запрос уходит на сервер, если на сервере уже хранится информация о вас, то он узнает вас и отправляет страницу с приветствием.
Кроме веб-страницы сервер отправляет вам персонализированные cookies (куки). Браузер обнаруживает куки и сохраняет их в своем хранилище (Local Storage). Cookies хранят ваш идентификационный номер и позволяют сайту помнить, кто вы такой и какие вы произвели настройки. Когда вы обновите страницу или снова зайдете на facebook.com, браузер автоматически добавит ваш ID к запросу на сервер. Сервер примет запрос с вашим ID и поймет, от кого пришел запрос.
Вся информация в интернете отправляется в обычном текстовом виде, что позволяет хакерам перехватить любую личную информацию. Владельцы сайтов должны позаботиться о безопасности своих сайтов, чтобы не пострадали их посетители. Чтобы сделать сайты безопасными, нужно чтобы все запросы передавались по безопасному каналу - по SSL (уровню защищенных сокетов)и TLS (протоколу защиты транспортного уровня). SSL и TLS создают дополнительный слой защиты, который оборачивает все ваши данные и предотвращает их перехват и подмену. Если рядом с https отображается иконка замочка, значит данные передаются по защищенному каналу.
Протокол HTTPS обеспечивает защиту и безопасность ваших HTTP-запросов. Сервер предоставляет браузеру цифровой сертификат, заверяющий подлинность сайта. Цифровые сертификаты выдаются центрами сертификации, которые проверяют подлинность веб-сайтов и выпускают для них сертификаты. На практике же, вопросом выдачи сертификатов занимаются хостинги, где вы размещаете свои веб-сайты.
Если сказать в двух словах, то HTTP отвечает за отправку и получение HTML текстов и медиа-файлов.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.