Что происходит, когда вы открываете веб сайт?

Каждый из нас уже привык заниматься так называемым серфингом веб-сайтов. Но как часто вы задумывались о том, что на самом деле происходит, когда вы открываете поисковую систему, любимый блог или архив новостей? Что на самом деле происходит за кулисами? Давайте разбираться.

Если вы хотите ознакомиться с данным материалом в видео формате, вы можете найти запись в лектории или просто перейти по ссылке. Также вы сможете получить методичку и перезентацию на данную тему под видео - лекцией.

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

До 1983 года люди для того, чтобы получить веб сайт оперировали IP адресами. Проблем не возникало до тех пор, пока количество адресов не превысило отметку в 1000, сложно было запомнить все адреса, да и мягко скажем не очень-то удобно с ними работать. Гораздо проще работать с человеко понятными адресами, так называемыми доменными именами, например “my-site.net”.

Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts находящегося в операционной системе, а затем в 1983 году была разработана DNS (Domain Name Servers) - система доменных имен. По сей день в популярных сетевых операционных системах файл hosts существует. Запрос к этому файлу имеет приоритет перед обращением к DNS-серверам. В отличие от DNS, содержимое файла контролируется администратором компьютера.

dia_1_640x480.jpg

Например пользователь ввел в адресною строку браузера адрес “my-site.net”. Первым делом служба операционной системы проверит файл hosts на наличие ip адреса сервера, соответствующего запрашиваемому доменному имени. Если такое соответствие было найдено, то запрос направляется прямиком на адрес сервера указанного в hosts, если нет, то запрос будет отправлен на DNS сервер, для того чтобы получить тот самый ip сервера, где лежит запрашиваемый веб-сайт.

Давайте убедимся в вышесказанном на практике. Пускай после обращения к сайту “my-site.net” через браузер firefox, откроется страница “google.com”. Для начала необходимо узнать IP адрес доменного имени “google.com”. Сделать это можно при помощи утилиты “host”

host google.com

В результате мы получим строку с IP адресом доменного имени google.com

google.com has address 216.58.211.142

Теперь откроем файл “/etc/hosts” и пропишим соответствие доменного имени “my-site.net” IP адресу “216.58.211.142”

vim /etc/hosts

216.58.211.142 my-site.net

Сохраним результат и попробуем открыть веб сайт “my-site.net” в браузере

Selection_073_640x480.png

Как видим в браузере отобразилась страница Google.

На самом деле существуют огромное количество вирусных ПО, которые заменяют файл hosts в вашей операционной системе, что способствует редиректу на фишинговые или другие страницы злоумышленников.

Ниже рассмотрена более прозрачная схема вышесказанного

Selection_042_640x480.png

Объяснение схемы:

  1. Пользователь отправляет запрос DNS серверу с целью получить ip адрес машины, на которой лежит веб-сайт
  2. DNS сервер возвращает ip адрес машины
  3. Браузер формирует HTTP запрос на сервер где лежит страница веб сайта
  4. Сервер отдает содержимое страницы, например в виде HTML. Браузер получив данные старается их отобразить

На самом деле содержимое сайта или иначе говоря данные отданное веб сервером (пункт 4) могут быть различных типов - но в целом это обычное текстовое представление в различных форматах. Как правило, если это обычный сайт - это текст написанный на языке гипертекстовой разметки HTML.

Абстрактное понимание того, что происходит когда вы открываете веб сайт просто необходимо любому веб разработчику.

Информация

Автор конспекта


Дата создания: 04.01.2019
Категория: Веб-разработка