|
|
|
| Теоретически - запрос к whois и проход по реферальным серверам. На практике - подобные сервисы (например, у хостеров) - работают слишком быстро для того, чтобы можно было предположить, что они посылают запросы на разные whois-сервера. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.04.2006 в 16:45)
| | Поиск ведется по DNS-серверам, а эти сервера работают довольно быстро. | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 17:05)
| | А как по ним ведется поиск? | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.04.2006 в 17:10)
| | Ну в тонкостях рассказать не смогу, но примерную картину знаю. Вы посылаете запрос на DNS-сервер( с указанием домена), а на сервере проверяется присвоен ли этому домену какой-либо IP-адрес. Если да, то следовательно домен занят, если нет, то свободен. А работают так быстро за счет большого объема памяти, в которой они хранят очень большое количество адресов. | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 17:48)
| | Если я правильно понял, то все сводится к поиску 404-х ошибок. | |
|
|
|
|
|
|
|
для: Киналь
(18.04.2006 в 18:12)
| | Хммм.... а ведь правда - это самое скорое. Или может случиться что-то? Например - нет индексной странички на домене... | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 17:48)
| | Это понятно, но DNS-сервер - это только слово. На практике - на какой адрес слать? А такого не бывает - DNS-сервера - это распределенная сеть. Соответственно - этот метод - теоретический. На практике он неработоспособен, к сожалению.. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.04.2006 в 18:17)
| | То есть DNS это только слово? Или я вас не понял. DNS это централизованная служба, основанная на рспределенной базе отношений " доменное имя - IP-адрес". Как это на практике не работоспособен? Конечно DNS это не один сервер, это огромное количество серверов, так как практически у каждого(или вообще у каждого) домена есть свой DNS сервер. Именно так оно и работает. | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 19:31)
| | Ну так я и говорю - 404-я. Ведь, насколько я знаю, система такая: запрос в виде доменного имени идет на ближайший DNS-сервер; если имени соответствует IP, идет соединение, иначе 404. Описанное является единственным способ общения с DNS-серверами.
Или я не прав? | |
|
|
|
|
|
|
|
для: Киналь
(18.04.2006 в 19:43)
| | Думаю что на счет 404 вы не правы. Ведь страница(или как лучше сказать сайт) может отсутствовать по данному адресу, но адрес занят. Ведь многие порталы специально для своего сайта делают 404-ю страницу, ну к примеру в стиле сайта. К примеру во время проведения работ или еще чего-то. Да и вообще, вот представьте, вы купили себе адрес kinal.ru, но сайт не заливали, у вас там вообще ничего нет. Что вы получите при запросе страницы? Скорей всего 404. | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 20:16)
| | Да, действительно, не подумал... Тогда только whois, значит. Либо еще вариант - возможно, в сети есть периодически обновляющиеся базы занятых доменов (по регионам, или по алфавиту). Хотя вряд ли - даже список имен в текстовом формате займет кучу места. | |
|
|
|
|
|
|
|
для: Киналь
(18.04.2006 в 21:26)
| | Но это долго. Хостинги явно не так определяют. Да и любой сервис по определению занятости... Они явно (судя по скорости) - не обращаются к паре-тройке-десятку whois-серверов.
А обращаться к одному... это как-то нелогично. Надежность определения сильно низкая... | |
|
|
|
|
|
|
|
для: Mefisto84
(18.04.2006 в 19:31)
| | Это понятно. Но как вы предлагаете это технически реализовать? Запрос куда посылать? В каком формате? Что будет в ответе?
Мне известны только два метода. Парсинг whois (долго... по многим пройтись придется) и парсинг подобных сервисов (ненадежно. А вдруг сервис прикроется?). Вот Киналь подсказал и третий. Но он - полурабочий, так как домен может быть занят, а странички - не закачаны.
Вы, видимо, имеете ввиду - именно первый метод. Парсинг whois... по очереди, перебегая по серверам. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.04.2006 в 20:40)
| | Хорошо, распишу все подробно :-) Существует 2 способа поиска имен. В первом варианте работу по поиску IP-адреса координирует DNS-клиент:
1. DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени.
2. DNS-сервер отвечает, указывая адрес следующего сервера, обслуживающего домен верхнего уровня, заданного в старшей части запрошенного имени.
3. Клиент делает запрос следующего сервера, который отсылает его к серверу нужного поддомена и.т.д., пока не будет найден сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту.
Так как эта схема загружает клиента достаточно сложной работой, она применяется редко.
Во-втором случае реализуется другая процедура.
1. Клиент запрашивает локальный DNS-сервер, то есть тот сервер, обслуживающий поддомен, к которому принадлежит имя клиента.
2. Если локальный сервер знает ответ, то он сразу же возвращает его клиенту; это может соответствовать случаю когда запрошенное имя входит в тот же поддомен, что и имя клиента, а также случаю, когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем КЭШе.(это память про которую я вам уже говорил, за счет именно её сервера работают очень быстро, и не тратится так много времени как вы думаете).
3. Если локальный сервер не знает ответ, то он выполняет запросы к корневому серверу и т.д. точно так же, как это делает клиент в первом варианте. Получив ответ, он передает его клиенту, который все это время просто ожидает его от своего локального DNS-сервера.
И еще раз повторюсь почему поиск происходит так быстро: DNS-серверы широког применяют процедуру кэширования проходящих через них ответов. Что бы служба DNS могла оперативно обрабатывать изменения, происходящие в сети, ответы кэшируются на определенное время – обычно от нескольких часов до нескольких дней.
Ну вот, вроде бы все рассказал. Спрашивайте если что то не понятно, без проблем, постараюсь объянить. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.04.2006 в 16:45)
| | Посмотрите скрипт в аттаче - руки не доходят его выложить в примеры на PHP... | |
|
|
|
|
|
|
|
для: cheops
(19.04.2006 в 17:57)
| | класс! я заменила свой класс на этот скриптик. мне как раз нужен был просто ответ - занят или нет,
а класс выдавал кучу лишней информации... спасибо! | |
|
|
|
|
|
|
|
для: elenaki
(20.04.2006 в 09:37)
| | Я собственно его из вашего класса и передел тогда, но только уже тему не мог найти, чтобы его опубликовать. | |
|
|
|
|
|
|
|
для: cheops
(19.04.2006 в 17:57)
| | Блеск. Одно интересно - откуда писатель узнал все эти сервера? И соотношение... например - "com","whois.verisign-grs.net" - почему com именно на whois.verisign-grs.net ? | |
|
|
|
|