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