DNS - зоны - немного теории примеры:
Вся информация о DNS хранится порциями (ресурсная запись или Resource Record). Каждая ресурсная запись содержит:
имя (NAME) - доменное имя, к которому привязана или которому “принадлежит” данная ресурсная запись,
TTL (Time To Live) - допустимое время хранения данной ресусной записи в кэше неответственного DNS-сервера,
тип (TYPE) ресурсной записи - определяет формат и назначение данной ресурсной записи,
класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети,
длина поля данных (RDLEN),
поле данных (RDATA), формат и содержание которого зависит от типа записи.
Часто используемые DNS-зоны:
- @ — символ «@» означает, что действие записи будет распространяться на указанную зону.
- subdom — набор букв и цифр, определяющий зону следующего уровня (поддомен), на которую распространяется действие. В нашем примере — действие записи будет распространяться на зону abc.domain.tld.
- * — символ «*» означает, что действие записи будет распространяться на все поддомены
Тип DNS-зоны
- A — используется для указания соответствия имени хоста IP-адресу.
- MX — используется для указания почтового сервера для домена.
- CNAME — используется для перенаправления имени хоста на другое имя.
- SRV — используется для указания сервера, предоставляющего услуги определенной службы. В грубом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену. Штатно поддерживается такими протоколами как XMPP(Jabber), SIP, LDAP. За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS.
- TXT — используется для указания дополнительной текстовой информации, которую хочет сообщить владелец домена.
Значение:
- Для A-записи следует указывать IP-адрес.
- Для MX-записи указывается имя почтового сервера. С точкой на конце! (для полного имени)
- Для CNAME-записи указывается имя хоста, на которое устанавливаем перенаправление. Точка на конце обязательна!
- Для SRV-записи указывается строка вида «приоритет вес порт значение», где приоритет, вес и порт должны состоять только из цифр, а значение — полное имя хоста с точкой на конце.
- Для TXT-записи указывается произвольная текстовая строка. Ограничение — запись может состоять только из букв латинского алфавита, цифр, пробелов и символов:
. , ; : - = " / ~ ?
Примеры DNS записей:
@ IN A 93.158.134.8
@ IN MX 10 ya.ru.
WWW IN CNAME ya.ru.
* IN CNAME ya.ru.
Более подробную информацию смотреть на wiki
Опубликовано Апрель 28, 2009 | автор: levik | Нет комментариев »
Кэширование
Кэширование - (в общем случае и упрощенно) временное сохранение информации для быстрого повторного доступа.
С точки зрения пользователя интернет, кэширование - это сохранение временных файлов на своем компьютере. Разные браузеры (internet explorer, mozilla firefox, google chrome, opera..) используют различные места для хранения временных файлов (Temporary Internet Files). Пользователь может и не подозревать о том, что часть файлов из интернета сохранена у него на компьютере.
Для администраторов (с увеличением оборудования увеличиваются и места для возможного сохранения информации) термин кэширование распространяется и на промежуточные устройства между веб-сервером и конечным пользователем (всевозможные Nat, proxy-серверы, маршрутизаторы.. и, возможно, другие сетевые устройства) Читать целиком »
Опубликовано Апрель 21, 2009 | автор: levik | Комментарии (3) »
Чтобы подключить на одной странице два (или более) редактора FCKEditor можно “дублированием кода” создать дополнительный объект, задать требуемый параметр name формы (при создании) и вывести код в нужное место.
$fckeditor= new FCKeditor('description');
//устанавливаем все настройки для первого fckeditor
$fckeditor->BasePath = '/fckeditor/';
$fckeditor->Height = '400px';
$fckeditor->Value = $value['description'];
$fckeditor->Create(); //выводим HTML-код первого редактора fckeditor
unset ($fckeditor); //не обязательно
$fckeditor= new FCKeditor(’full_description’); // второй редактор
//устанавливаем все настройки для первого fckeditor
$fckeditor->BasePath = ‘/fckeditor/’;
$fckeditor->Height = ‘400px’;
$fckeditor->Value = $value[’full_description’];
$fckeditor->Create(); //выводим HTML-код первого редактора fckeditor
unset ($fckeditor); //не обязательно
Способ, возможно, не самый рациональный, но рабочий. В общем-то ничего сложного, но может оказаться полезным для установки второго (третьего..) редактора “на скорую руку”
Опубликовано Апрель 13, 2009 | автор: levik | Комментарии (2) »
CURL (Client URL Library), libcurl - библиотека функций для работы с серверами по различным протоколам (http, ftp, https … и ряд других - более подробно смотрите описание последней версии).
В php включена (если точнее, имеется возможность включить - зависит от конфигурации сервера) поддержка curl. Проверить, поддерживается ли сервером функции curl проще всего, произведя вызов любой из функций, например
<?php
$ch = curl_init("http://www.example.com/");
?>
Если исполнение этого кода не приведет к ошибке - все в порядке, можем использовать CURL в “корыстных целях”. Если же “функция не существует”… Но, впрочем, это уже совсем другая история. А пока вернемся к нашим.. CURL ам.
В PHP самый простой вариант использования библиотеки обычно сводится к следующим шагам:
Инициализация - curl_init($url);
Установка параметров - curl_setopt($ch, $opt, $value);
Выполнение запроса - curl_exec($ch);
// Получение и обработка информации - обычно хватает результата, возвращенного предыдущей функцией, однако, существует несколько дополнительных функций, например curl_getinfo($ch);
Закрытие - curl_close($ch);
Особенности и подводные камни:
CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR при работе в WINDOWS будут правильно работать только при указании полного пути к файлу.
curl_setopt($ch,CURLOPT_COOKIEFILE,dirname(__FILE__).’/tmpfile.txt’;)
php class Snoopy позволяет использовать php почти как браузер - скачиваем, загружаем…
Опубликовано Апрель 7, 2009 | автор: levik | Нет комментариев »
При просмотре верстки в IE 6 у некоторых элементов могут появляться дополнительные “пустоты”, которые выступают за пределы элемента. Просто белая “торчащая” полоска.
Иногда к ним можно относиться не слишком критично - небольшое увеличение однотонного отступа в некоторых случаях может быть допустимо. Однако что делать, если из-за этого отступа сбивается фон, уходят “на нет” все усилия по созданию скругленных углов?
Для начала попробовать вычислить “торчащий” элемент, прописывая в css для ie ( if lte IE 6) border предполагаемого элемента, или заполняя этот элемент парой-тройкой цифр-букв. Иногда от непонятных пустот в IE помогает избавиться дописанный в “глючный” элемент. Или, как вариант, прописать для выпирающего элемента css-свойство zoom:1; которое является специфичным для Internet Explorer и влияет на так называемый hasLayout, отсутствие или наличие которого определяет ряд специфичных iE-багов: удвоение отступа плавающего элемента , 3px float bug и другие..
Судя по всему, это объясняется следующим:
MS-свойство hasLayout влияет на расширяемость и позиционирование фона (background). Например, по CSS-спецификации background-position: 0 0 должно соответствовать «углу отступа» (padding edge) элемента. В IE/Win это соответствует «углу границы» (border edge) при hasLayout = false и «углу отступа» при hasLayout = true:
http://csspractic.wordpress.com/2008/09/09/haslayout/
Опубликовано Апрель 3, 2009 | автор: levik | Нет комментариев »