как нажать на ссылку тбо лампочка загорелась?

CrazyElk

Ребятыыы прочитал и страшно стало 😃.

Небольшой ликебез для начинающих WWW сервис-строителей. отталкиваясь от желания mozg

  • Клиенты тыкая на ссылки запускают программы на сервере,

Итак клиенты тыкая на ссылку (HTTP) всегда везде

  1. Просят установить соединение от своего компьютера (КПК, телефона) до компьютера указанного в ссылке. Указан он в первой в первая ее часть после типа протокола (http:\\) конкретно сюда на форум этот адрес rcopen.com - В процессе установления связи происходит много приседаний с бубнами, как то перевод имени в цифры (DNS) определение кому из физически достижимого оборудования поручить доставку (ARP) на сервере опеделение отвечающий за требуемый сервис (тот самый WWW сервер) - которые нам пока не важны но итог один - между двумя программами (броузер у клиента, WEB сервер на сервере) на разных компютерах установлен канал связи для передачи даных туда и обратно.
  2. по установленному каналу связи программа бровзер передает серверу фразу в стиле - GET <все что стоит в ссылке после имени сервера> HTTP/1.1. (для этой ветки GET /index.php?showtopic=84957&st=20 HTTP/1.1.) Которая по замыслу создателей WWW должна была указать на конкретный файл лежащий на сервере (вот такой странный файл якобы в корне с именем /index.php?showtopic=84957&st=20 ) коей надо было серверу открыть прочитать и все содержимое вернуть по каналу связи обратно бровзеру. В простейшем случае это так и есть файл содержимое которого HTML страница читаетется а содержимое передается по каналу связи клиентской программе бровзеру. После чего они говорят друг другу good bye и забывают друг о друге. Это в простейшем случае.

В более сложном случае, а соответствее случая сложному определяется web сервером обрабатывающим крик пользователя (Apache, IIS, Tomcat …) согласно своих настроек и разумения чуть чуть сложнее. Программа web сервер говорит —а понЯл на самом такого странного файла какой просит клиент на сервере нет. Но согласно моих настроек есть программа (скрипт, модуль …) которые если из попросить (запустить исполнить) передав им все что тут мне прислал клиент вернут мне готовое содержание которое я и перешлю клиенту . После чего web сервер запускает внешнюю программу исполняет скрипт, инициирует сервлет … (и еще тысячу и одни вариант что там ему подсказывает его его конфигуцрация) а результат работы этой программы (скрипта, JSP, ASP …) возвращает пользователю пол видом содержимого запрашиваемого файла. В нашем случае это скорее всего по куче признаков косвенных (99,999% 😃 это программа или модуль apache интерпритатор PHP который по переданной ему строке сообразит что надо взять файл скрипта index.php создать переменные showtopic и st присвоить им значения 84957 и 20 после чего исполнить все что написано в index.php а результат вернуть WWW серверу)

Ограничений на то что может делать программа вызываемая WWW сервером как она разбирает даные присланные пользователем xnj dspsdftn нет - это ее личное дело. Ограничений тут практически НИКАКИХ. Она может в свою очередь обращаться совершенно по другим правила к другим компьютерам, дергать порты того на котором она крутится обращаться к базам данных - что хочет то и делает (настолько наcколько позволяют администраторы компютера на котором она исполняется). За время прошедшее с начала зарождения WEB наработан много стандартных и проверенных путей как именно писать и подключать к WEB серверу программы (скрипты, JSP, …) разбирать даные ти т.д. и т.п. Но принципиальных ограничений и/или обязательных правил практически НЕТ. Хоть из BAT файла с помощью команд echo можно дать ответ. Главное чтобы получившая ответ программа (бровзер) догадалась что именно ей дали в ответ на ее крик хАчу (GET …) и как это присланное отобразить на экране ( или сохранит на диск, передать во внешнюю программу на клиентском компютере …). Обычно присылают HTML и бровзер просто его рисует на экране (в настоящий и момент ха словом “просто” крыться может много вплоть до того что в этом HTML пришлют целую программу оперативно прерисовывающую картинку по данным косультациий с сервером – AJAX, applet, flash программа …)

TCP/IP канал связи откуда бы его ни начинал клиент (провода, GPRS, WiFI, WiMAX, E_VDO ) и на каком бы устройстве не крутился бровзер (нотебук, КПК, телефон) используя стандартные протоколы можно дотянуть хоть до контроллера упаковав хоть в RS232 (протоколы PPP, SLIP) а и соответствующий стек TCP/IP на COM линии + простенькую программу WWW сервера разбирающую клиентский крик хАчу (GET …) упихать в туже мегу. Хоть последнее вовсе не обязательно можно все WWW HTML оставить на другой машине сервере, а контроллер звать как удобнее LPT, COM, USB из которых программа запускаемая WWW сервером для формирования ответа клиенту вытащит даные и сделает ответ для клиента. Контроллер станет программно проще.

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

WBR CrazyElk

P.S. Сами понимаете что крик клиента можно обработать в принципе как угодно и чем угодно. Используя стандартные компоненты apache, PHP, MySQL … мы просто минимизируем обьем собственного труда для достижения цели и в зависимости от предпочтений и/или возможностей можно взять совсем другой набор (Tomcat, jsp, applet-ы и servlet-ы), (IIS, ASP, activeX) - кому чего удобно иной раз бывает удобнее с 0 чем прикручивать монстра скажем для сервиса который все навсего возвращает - 1 число - температуру градусника.

Кстати часто можно и выгоднее сделать так чтобы контроллер таки имел WEB сервер и таки обрабатывал очень ограниченный круг запросов возвращая простые ответы данные через HTTP в одном из из популярных WWW форматов лутше всего в XML по ряду причин. ПОсле чего можно просто разместить все WWW формирование на сервере у хостера и программа на том языке/скрипте который разрешает хостер при получении запроса от клиента в свою очередь запросит у расположенного черт знает где через HTTP контроллера используя его стандартные запросы ( то что ему передают в GET) даные отформатирует их красиво сделает для клиента страницу WWW морды сформировав по данным нужный HTML. И спрашивать программа у хостера может контроллер по IP и своего сервера не надо и контроллеры по миру могут быть раскиданы . … короче много плюсов - хотя и минусы есть у подхода.

УФ.

mozg

ЫЫЫ что-то никак. не хочет работать 😵 .

Как я понимаю, DHCP раздаёт IP-шники компьютерам локальной сети.

Если его отрубить, поставить на один из компьютеров локалки выделенный ISP IP - 84.204.187.X, Gateway - 84.204.187.Y, DNS server - 10.2.0.10, а на роутер DI-524 В настройки LAN выставить IP - 84.204.187.Y и Subnet Mask - 255.255.255.0, то… ничего не работает. А вроде - должно.

Если сделать то-же но IP начинаются со 192,168 - то что-то работает. Странно…

Как я понимаю IP сервера должно быть таким, который выделил ISP, чтобы по одному IP и из локалки и из интернет сайт был виден (с локалкой проблем - нет)
DMZ - Хорошо, но первые 3 байта должны быть такими, как у роутера (у меня - 192,168,11), а IP, выделенный ISP - начинается с 84.204 😃

CrazyElk

В великом многообразии IP адресов желанием левой пятки разработчиков были выделены следующие диапазоны 10.*.*.*; 192.168.*.*; 127.0.0.0 ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Ничего особо кримнальтного в этих адресах нет за исключение того что 127.0.0.0 никогда не выйдет за преды компьютера а любые пакеты с адресами из 10 и 192.168 маршрутизатор находящийся на границе внутренней и внешней сети откажется выпускать наружу ибо назначение этих адресов адресация внутри собственной сети.

DHCP - раздает адреса компьютерам сети так как его сконфигурирует администратор. Чей DHCP тот и администрирует. ISP как сущность жадная до чужого добра выделяет обычно 1 единственный адрес для одного единственного устройства имеющегося у пользователя - об остальных компьютерах, роутерах, свичах и прочей сетевой мелочи он знать не хочет в глаза не видит (более того иногда пытается запретить ее использование совершенно не обоснованно). Поэтому пользователь должен сконфигурировать САМ свою сеть так чтобы его сетевое оборудование имея или получая от DHCP выдуманные с потолка адреса из диапазонов subNet 10 и/или из диапазона subNet 192.168 при общении между собой использовало их, а при общении с внешним миром поручало бы всю работу тому единственному и не повторимому устройству имеющему на внешнем интерфейсе (интерфейс соедененый с провайдером) адрес выделенный ISP от своего имени (адреса). С точки зрения внешнего мира в сети у пользователя есть один единственный адрес он и жнец и швец и на дуде игрец. На котором логически расположены все сервисы и сервера к которым захотел миру дать доступ пользователь (где именно располагаются на каких серверах и адресах реально внутри сетки пользователя эти сервера внешнему миру глубоко безразлично логически они все располагаются на единственном адресе том который выделил ISP и адрес этот может быть назначен толко одному устройству). Другое дело что современному устройству можно растолковать конфигурированием если таки поступает запрос на соединение с этим адресом по порту XXX то будь добр передай этот запрос во внутреннюю сетку на арес такой то порт такой то а его ответы оттранслируй обратно от своего имени (адреса) - это PortMapping. И наоборот если поступит запрос от когонибудь из внутренней сети наружу отправь его наружу от своего имени а полученный ответ верни тому кто рвался на волю - тот самый NAT. И волки сыты и овцы целы снаружи считают что это все делает единственный и неповторимый супер сервер с выделенным IP, а в сетки пользователя туда сюда обратно всем серверам приятно в строгом соответствии с политикой партии (то биш настройками сети). Так что IP сервера ожет быть любым, а если ему назначить IP выделенный ISP то именно этот сервер именно этим интерфесом (сервер может иметь много интерфейств сетевых карт, модемов и т.д. а адреса имеют именно интерфейсы) должен быть соединен с ISP и обслуживать проходящий трафик всей сети. Иначе выделенный адрес достается роутеру, соединяющему сетку пользователя с ISP, а он уже должен быть сконфигурирован так чтобы часть или все входящие запросы на соединение перебрасывать на сервер и ответы по этим запросам/каналам обратно.

WBR CrazyElk

Самовольно хватать ареса вне диапазонов 10 и 192.168 черевато аяяем и не работоспособностью. Современные оутеры и ADSL модемы (а точнее их производители) достаточно умыны чтобы по умолчанию в режиме воткнул пользуюсь сразу организовать пользователю и NAT и раздачу адресов по DHCP но вот если больше надо прикладовать руки

mozg

Спасибо. Понимания добавилось.
Очень не густо со свободным временем. Ещё немного повозился.

Попытался настроить apache на port binding, на что он мне сакзал

could not bind to address 192.186.11.188 port 80
could not bind to address 84.204.187.110 port 80

Настроил Virtual server на адрес своего компьютера - 192,168,11,188, public port - 80, private port - 80, protocol - TCP
настроил Demilitarized Zone на адрес своего компьютера.

Пока - безуспешно
---------

собераюсь покупать этот конструктор:

www.mntc.ru/projects/rc/

чтобы баловаться с вводом - выводом (они говорят к 19-му числу новая партия будет готова).

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

CrazyElk

2 mozg чтобы баловаться с вводом - выводом (они говорят к 19-му числу новая партия будет готова).

знаете это настораживает. На forum.ixbt.com/?id=48 авторы и разработчики этого конструктора появлялись с просьбами о комментариях и предложениях по его поводу другого их детища конструктора Кулибин . Люди там на форуме не злобные поэтому активно помогали в становлении идеях и пожеланиях. Настолько активно что авторы конструктора Кулибина по собственному почину решили отблагодарить самых активных участников выдачей бесплатного набор о чем и объявили громкогласно на форуме кому именно. Прошел ГОД никто ничего не получил бесплатно. Более того появился человек который слезно пожаловался что он заказал оплатил и вот уже месяц бегает за этой контрой в тщетной попытке получить заказанное и оплаченное (то у представителей нет веремени, то некомплект, то командировка, то они могут он не может …). Я оставил наблюдение на фазе через три дня опять попытаюсь встретится и получить.

Как справка ВСЕ компоненты этого набора доступны по отдельности в розницу в обычных магазинах. В частности то что они называют процессорм в специализированных магазинах (например терра электроника ) называется Head . Программы это свободно распрастраняемый софт бесплатно доступный у авторов. Единственная ценная часть этого пакета это собственно сам ПАКЕТ тоесть то что вы не собираете а все собранно и даны примеры для начального освоения. Но в свете выше изложенного на меня эта фирма произвела странное впечатление мягко говоря слегка не обязательного партнера. Если само руководство не является основной ценностью которую вы хотите купить то ябы не рекомендовал. Сходите на указанную мной конференцию поспрошайте местных гуру что вам лутше всего взять для ваших целей (цели естественно распишите настолко насколько подробно себе их представляете) там как раз AVR & ARM любители не злобные подскажут .