Глава 1. Принципы работы интернета.

Глава 1. Принципы работы интернета.

Интернет - Сеть из проводов, радиоволн и ретрансляторов. 

Для того, чтобы обмениваться данными, машинам необходим некий набор правил передачи - ПРОТОКОЛ.

Протокол передачи данных.

TCP (Transmission Control Protocol, протокол управления передачей данных.

HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста), базирующийся на TCP. Протокол HTTP как раз и задействуется браузерами и Web-серверами. 

Для различных целей используются разные протоколы, но для WEB нам нужно знать только об одном - это HTTP базирующийся на TCP (англ. transmission control protocol — протокол управления передачей данных).

Нам нужен только http протокол, но о TCP/IP нужно знать, что:

  • Даже если данные переданы не полностью (проблемы с кабелем) они будут запрошены и отправлены снова, пока не доставятся;
  • Система сама выбирает путь, по которому данные будут отправлены в кротчайший срок - маршрутизация;
  • Для более быстрой, передачи данные разбиваются на пакеты и могут быть отправлены разными маршрутами.

IP - адрес

У любого компьютера подключенного к сети должен быть идентификатор. Для этого используют IP - адреса. Выглядят они примерно так: 127.12.234.12, а у Localhost - 127.0.0.1. 

Доменное имя

Для удобства IP - адреса преобразуются в доменные имена - проще домены, посредствам службы доменных имён - DNS (англ. Domain Name System — система доменных имён).

Количество символов у домена произвольно. Домены делятся на уровни, например у домена info.bez-logiki.ru, RU - домен первого уровня, info.bez-logiki.ru - третьего (ещё такое сочетание многие называют поддоменом). В конце каждого домена ещё обязательно присутствует точка, её называют корневым доменом, но это нам не надо... )

Каждому IP - адресу может соответствовать несколько доменных имён, и все они будут вести в одно "место".

DNS сервером сначала обрабатывается домен первого уровня, затем его поддомены, и так далее. Т.е. в иерархическом порядке.

Все DNS серверы кэшируют свои данные, и обновляют их раз в несколько часов или суток. Поэтому при регистрации нового домена (или отключении существующего, смене NS записей) всегда приходится немного подождать!

Сервер

Сервер - это компьютер подключенный к сети интернет и к которому есть доступ. Он может хранить данные и давать клиенту к ним доступ.

Сервер - это именно компьютер (железка), он как правило имеет один стек TCP/IP и на нем запущен один экземпляр драйверов протоколов.

Не путать с WEB-сервером (сетевым демоном) - приложением обслуживающим пользователей WWW.

Узел

Любой уникальный IP адрес называется узлом. Интернет (логически) множество связанных узлов. 

На одной системе может быть несколько узлов (для почты, для WWW, для DNS), если у каждого из них есть свой IP.

Узлы "имеют" свои порты...

Порт

Порт - любое число которое идентифицирует программу для запроса данных из интернета. 

Как только клиент обращается к серверу, он сообщает ему номер порта который собирается использовать и сообщает свой (свободный) для "ответа", если на сервере порт существует и не занят другой программой, он отвечает клиенту на указанный им порт, что готов к работе (вольный пересказ в в рамках конспекта!).

Как правило, каждому сервису назначается свой порт. Например для WEB-сервера - это порт 80.

Сетевой демон, сервис, служба

Сетевой демон (сервис, служба) - это программа работающая на сервере, обслуживающая пользователей, т.е. программа-сервер. Например Web-сервер или FTP.

*Сам термин взялся из терминологии Unix, там демоном называют программу, которая постоянно работает в фоне, вне зависимости от действий пользователя и явно себя не показывающая. Поэтому - демон.

С Web-программированием сетевые демоны связаны только своим существованием... Написанием их занимаются системные программисты. На обычном хостинге доступа к ним нет.

*Фраза, что сервис работает на узле таком-то, порт такой-то, значит, что сервис - это всё-таки процесс, который работает на машине! А вот обратиться к нему можно по адресу узла с указанием порта!!! 

Хост

Хост - это узел, но не обязательно (если он виртуальный хост). 

В общем: любой узел - хост, но не любой хост - узел.

Виртуальный хост

Виртуальный хост - это хост, не имеющий уникального IP адреса, но доступный с указанием доп. адреса - например его DNS-имени.

Провайдер

Провайдер - это контора, которая даёт нам доступ в интернет.

Хостинг-провайдер

Другая контора, которая может создавать хосты (виртуальные и обычные), и продавать их нам. 

Хостинг

Это все те услуги, что и предоставляют хостинг-провайдеры.

Сайт

Часть логического пространства на хосте... организованный набор страниц, это могут быть просто HTML странички, или что-то более сложное. Один хост может содержать несколько сайтов, в разных каталогах.

HTML документ

Текстовый файл, содержащий данные в формате HTML.

HTML страница

Статическая или динамическая (в результате работы программы) страница в формате HTML.

Скрипт, сценарий

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

Web-программирование

Всё просто: Web-программирование - это разработка программ (скриптов), которые занимаются формированием HTML страниц.

Взаимосвязь терминов

  • Хостинг провайдер (владелец серверов) - имеет, обслуживает и предоставляет клиентам доступ к серверам (отдельные машины)
    • которые содержат УЗЛЫ (имеющие отдельные IP адреса)
      • На узле располагаются ХОСТЫ,
        могут быть обычными (имеют отдельный IP-адрес),
        могут быть виртуальными (имеют один IP-адрес, но разные имена)
        • Содержат сайты (часть хоста)
      • На узле так же работают службы (процессы на сервере)
        • доступные через порт (номер идентифицирующий процесс на узле)
  • Провайдер.