До сих пор мы создавали только отдельные документы, демонстрирующие некоторые возможности языка HTML. Ваш сервер WWW будет, возможно, состоять из многих документов HTML, ссылающихся друг на друга и на другие ресурсы Internet.
В этой главе мы расскажем о том, как создавать различные ссылки, в том числе с использованием сегментированной графики.
Как мы уже говорили, документы HTML передаются из сервера WWW удаленным пользователям с помощью протокола HTTP. Для ссылки на сетевые ресурсы через протокол HTTP используется следующая форма универсального идентификатора ресурсов URL:
http://host[:port][path]
Параметр host обязательный. Он должен быть указан как доменный адрес или как адрес IP (в виде четырех десятичных чисел). Например:
http://www.microsoft.com http://154.23.12.101
Если указать первую из этих ссылок навигатору, вы попадете на главную страницу сервера корпорации Microsoft. Эта страница содержит ссылки на другие страницы и ресурсы.
Каждому доменному адресу соответствует адрес IP, который нетрудно узнать, загрузив главную страницу сервера WWW в окно навигатора. Ссылка может содержать адрес IP в явном виде, однако по возможности этого следует избегать.
Необязательный параметр port задает номер порта для работы с протоколом HTTP. По умолчанию используется порт с номером 80, однако для специализированных серверов WWW это может быть и не так.
Что такое порт?
Номер порта идентифицирует программу, работающую в узле сети TCP/IP и взаимодействующую с другими программами, расположенными на том же или на другом узле сети. Если вы разрабатываете программу, передающую данные через сеть TCP/IP с использованием, например, интерфейса Windows Sockets, то при создании канала связи с уделенным компьютером вы должны указать не только адрес IP, но и номер порта, который будет использован для передачи данных. Подробнее об этом вы можете прочитать в 23 томе “Библиотеки системного программиста”, который называется “Глобальные сети компьютеров. Практическое введение в Internet, E-Mail, FTP, WWW и HTML, программирование для Windows Sockets”.
Ниже мы показали, как нужно указывать в адресе URL номер порта:
http://www.myspecial.srv/:82
Теперь займемся параметром path, определяющем путь к объекту.
Обычно любой сервер WWW имеет корневой каталог, в котором расположены подкаталоги. Как в корневом каталоге, так и в подкаталогах могут находиться документы HTML, двоичные файлы, файлы с графическими изображениями, звуковые и видео-файлы, расширения сервера в виде программ CGI или библиотек динамической компоновки, дополняющих возможности сервера (такие, как библиотеки ISAPI для сервера Microsoft Information Server).
Если в качестве адреса URL указать навигатору только доменное имя сервера, сервер перешлет навигатору свою главную страницу. Имя файла этой страницы зависит от сервера. Большинство серверов на базе операционной системы UNIX посылают по умолчанию файл документа с именем index.html. Сервер Microsoft Information Server может использовать для этой цели имя default.htm или любое другое, определенное при установке сервера, например, home.html или home.htm.
Для ссылки на конкретный документ HTML или на файл любого другого объекта необходимо указать в адресе URL его путь, например:
http://www.glasnet.ru/~frolov/index.html http://www.dials.ccas.ru/frolov/bin/dbsp26.lzh
Корневой каталог сервера WWW обозначается символом /. В спецификации протокола HTTP сказано, что если путь не задан, то используется корневой каталог.
Ссылка создается с помощью оператора <A>, который используется в паре с оператором </A>. Между этими операторами располагается текст ссылки, который отображается в окне просмотра навигатора и выделяется подчеркиванием, а также изменением цвета.
Перечислим основные параметры оператора <A>.
Параметр |
Описание |
HREF |
Адрес URL файла документа HTML или другого объекта, на который сделана ссылка в операторе <A>. Если в адресе не указан путь, поиск файла будет выполняться в том же каталоге, где находится текущий документ |
NAME |
Имя ссылки в документе HTML. Используется для организации ссылок внутри одного и того же документа HTML |
TARGET |
Параметр TARGET задает имя окна, в которое должен быть загружен документ. Этот параметр используется при работе с фреймами, которым в нашей книге посвящена отдельная глава. Можно указывать также следующие значения: |
TITLE |
Название, которое появится в окне навигатора при выборе ссылки на объект. Удобно при организации ссылок на графические изображения и аналогичные объекты, не имеющих названий |
Оставим пока в стороне вопрос использования параметра TARGET. Мы вернемся к этому параметру при обсуждении фреймов, а сейчас приведем несколько простых примеров.
Ниже мы показали исходный текст документа HTML, в котором имеется несколько ссылок на другие документы HTML:
<HTML> <BODY BGCOLOR="#B0FFD8"> <BASEFONT SIZE=2> <LEFT> <A HREF="http://www.glasnet.ru/~frolov/index.html" TARGET="_top">Домашняя страница</A><BR> <A HREF="main.htm" TARGET="main page">Добро пожаловать</A><BR> <A HREF="news.htm" TARGET="main page">Новости</A><BR> <P><A HREF="books.htm" TARGET="main page">Книги</A><BR> <P><A HREF="capital.htm" TARGET="main page">КАПИТАЛ</A><BR> <A HREF="terra.htm" TARGET="main page">КОМПЬЮТЕРРА</A><BR> <P><A HREF="virchk.htm" TARGET="main page">Вирусы</A><BR> <P><A HREF="frends.htm" TARGET="main page">Партнеры и друзья</A><BR> <P><A HREF="../eng/home.htm" TARGET="_top">Set English Language</A><BR> </LEFT> </BODY> </HTML>
Первая ссылка - на адрес http://www.glasnet.ru/~frolov/index.html (это наша домашняя страничка на сервере GlasNet). Адрес URL документа, на который выполняется ссылка, указан с помощью параметра HREF. Здесь мы указали полный путь к документу HTML:
<A HREF="http://www.glasnet.ru/~frolov/index.html" TARGET="_top">Домашняя страница</A><BR>
Параметр TARGET указан потому, что приведенный выше документ является составной частью документа, созданного с использованием фреймов. Он имеет значение _top, поэтому при загрузке документ полностью займет окно навигатора, а не будет загружен в один из фреймов. Если вы не пользуетесь фреймами, параметр TARGET можно не указывать.
Между операторами <A> и </A> расположена строка “Домашняя страница”. При отображении документа эта строка будет выделена подчеркиванием. Если пользователь сделает щелчок по указанной строке, в окно навигатора будет загружен документ HTML с адресом http://www.glasnet.ru/~frolov/index.html.
Следующие несколько ссылок адресуются к страницам, расположенным в том же каталоге, что и текущий документ. Поэтому вместо полного пути в параметре HREF задано только имя файла:
<A HREF="main.htm" TARGET="main page">Добро пожаловать</A><BR>
Содержимое документа будет загружено в окно, созданное с именем main page.
Обратите также внимание на последнюю ссылку в нашем документе:
<P><A HREF="../eng/home.htm" TARGET="_top">Set English Language</A><BR>
Здесь мы ссылаемся на документ, расположенный в каталоге eng. Этот каталог записан в родительском каталоге (по отношению к тому каталогу, в котором находится текущий документ).
Если длина документа HTML велика, имеет смысл организовать ссылки на его отдельные логически самостоятельные части, расположив их, например, в начале документа. Такие ссылки мы будем называть локальными ссылками в документе.
Пусть вы создаете документ с именем book.htm, который состоит из нескольких глав. В начале документа вы желаете разместить оглавление, содержащее ссылки на отдельные главы.
Прежде всего вы должны определить в начале каждой главы локальные метки. Для этого следует использовать оператор <A> с параметром NAME, как это показано ниже:
<H2><A NAME="Chapter1">Первая глава</A></H2> . . . Содержимое главы . . . <H2><A NAME="Chapter2">Вторая глава</A></H2> . . . Содержимое главы . . . <H2><A NAME="Chapter3">Третья глава</A></H2> . . . Содержимое главы . . . <H2><A NAME="Chapter4">Четвертая глава</A></H2> . . . Содержимое главы . . .
Здесь для заголовков глав определяются метки с именами Chapter1, Chapter2, Chapter3 и Chapter4.
Ссылки на созданные таким образом локальные метки выполняются также с помощью оператора <A>, имеющего параметр HREF:
<A HREF="book.htm#Chapter1">Первая глава</A> <A HREF="book.htm#Chapter2">Вторая глава</A> <A HREF="book.htm#Chapter3">Третья глава</A> <A HREF="book.htm#Chapter4">Четвертая глава</A>
Когда пользователь сделает щелчок по локальной ссылке, текущий документ будет сдвинут в окне навигатора по вертикали таким образом, что строка, на которую была сделана ссылка, окажется в верхней части этого окна. Таким образом пользователь, загрузив документ, может легко перейти к просмотру любой его части.
Заметим, однако, что загрузка большого документа может потребовать много времени. Поэтому следует рассмотреть возможность разделения документа на несколько файлов HTML с организацией оглавления в виде отдельного документа, содержащего только ссылки.
В листинге 5.1 мы привели исходный текст документа HTML, в котором созданы две локальные ссылки на две таблицы, имеющие различное оформление.
Листинг 5.1. Файл chap5\local.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE>Локальные ссылки в документе HTML</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> <P><A HREF="local.htm#tab1_1">Таблица с двойным заголовком</A> <P><A HREF="local.htm#tab1_2">Таблица с двойным заголовком и подписью</A> <H2><A NAME="tab1_1">Таблица с двойным заголовком</A></H2> <TABLE BORDER WIDTH=100%> <CAPTION VALIGN=TOP ALIGN=RIGHT>Табл. 1.1. Таблица с двойным заголовком</CAPTION> <TR><TH COLSPAN=3>Заголовок для всех столбцов</TH></TR> <TR><TH COLSPAN=2>Стобец 1 и 2</TH><TH>Столбец 3</TH></TR> <TR><TD>000</TD><TD>001</TD><TD>002</TD></TR> <TR><TD>010</TD><TD>011</TD><TD>012</TD></TR> <TR><TD>100</TD><TD>101</TD><TD>102</TD></TR> </TABLE> <H2><A NAME="tab1_2">Таблица с двойным заголовком и подписью</A></H2> <TABLE BORDER WIDTH=100%> <CAPTION ALIGN=BOTTOM>Табл. 1.2. Таблица с двойным заголовком</CAPTION> <TR><TH COLSPAN=3>Заголовок для всех столбцов</TH></TR> <TR><TH COLSPAN=2>Стобец 1 и 2</TH><TH>Столбец 3</TH></TR> <TR><TD>000</TD><TD>001</TD><TD>002</TD></TR> <TR><TD>010</TD><TD>011</TD><TD>012</TD></TR> <TR><TD>100</TD><TD>101</TD><TD>102</TD></TR> </TABLE> </BODY> </HTML>
Ссылки в виде текстовых строк удобны, так как после посещения соответствующих страниц они меняют свой цвет. Однако более привлекательно выглядят ссылки, оформленные с использованием графических изображений.
Для выполнения такого оформления у вас есть две возможности.
Во-первых, вы можете вставить между операторами <A> и </A> графическое изображение небольшого размера. При этом оно будет использовано как чувствительная область. Если сделать щелчок левой клавишей мыши по этой области, произойдет загрузка объекта, указанного в ссылке.
Во-вторых, для организации ссылок можно применить так называемые сегментированные графические изображения (image maps). Такие изображения разделяются на несколько чувствительных областей, с каждой из которых при помощи отдельного текстового файла связывается та или иная ссылка.
Рассмотрим обе эти возможности.
Это очень просто. Вы вставляете изображение между операторами <A> и </A> с помощью оператора <IMG>, например:
<A HREF="http://www.dials.ccas.ru/frolov/home.htm" <IMG>SRC="homepage.GIF" BORDER=0></A>
Здесь на месте ссылки в документе появляется графическое изображение, записанное в файле homepage.GIF. Если сделать щелчок левой клавишей мыши по этому изображению, в окно навигатора будет загружен документ, имеющий адрес http://www.dials.ccas.ru/frolov/home.htm. Обратите также внимание на то, что мы убрали рамку вокруг графического изображения, указав значение параметра BORDER, равное нулю.
Графические изображения можно разместить в ячейках таблицы. Вы можете расположить в такой ячейке и ссылку, выполненную с использованием графики. Вот, например, как оформлена на нашем сервере WWW ссылка на архив исходных текстов к 14 тому нашей серии книг “Библиотека системного программиста”:
<HTML> <BODY BGCOLOR="#FFFFFF"> <H2>Графический интерфейс GDI в Microsoft Windows</H2> <P><ADDRESS>© Александр Фролов, Григорий Фролов<BR> Том 14, М.: Диалог-МИФИ, 1994, 288 стр.</ADDRESS> <HR> <TABLE> <TR> <TD> <P><A HREF="http://www.dials.ccas.ru/frolov/bin/dbsp14.lzh" <IMG>SRC="disk.GIF" BORDER=0></A> <BR> </TD> <TD>Дискета с исходными текстами программ, 208 Кбайт</TD> </TABLE> . . . </BODY> </HTML>
В файле disk.GIF, как нетрудно догадаться, находится изображение дискеты. Сделав щелчок по этому изображению, вы сможете загрузить к себе архив исходных текстов.
Для того чтобы сделать сегментированное графическое изображение, вам не потребуются специальные графические редакторы. Вы можете воспользоваться любым редактором, способным сохранять изображение в формате GIF.
Нарисовав изображение, определите координаты чувствительных областей, которые будут использованы для ссылок (в пикселах). Каждое изображение может содержать произвольное количество чувствительных областей.
Теперь вам нужно подготовить описание этих областей (карту областей), воспользовавшись для этого операторами <MAP> и </MAP>.
Оператор <MAP> имеет один параметр - имя карты чувствительных областей сегментированного графического изображения. Между операторами <MAP> и </MAP> располагаются операторы <AREA…>, параметры которых описывают отдельные чувствительные области:
<MAP NAME="image_map"> <AREA...> <AREA...> </MAP>
Пусть, например, мы подготовили графическое изображение, показанное на рис. 5.1.
Рис. 5.1. Графическое изображение с тремя чувствительными областями buttons.GIF
На этом изображении имеются три области в виде прямоугольников с координатами, каждый из которых имеет свой цвет. Карта, описывающая эти области, имеет следующий вид:
<MAP NAME="buttons"> <AREA SHAPE="RECT" COORDS="10,10,30,20" HREF="blue.htm"> <AREA SHAPE="RECT" COORDS="10,30,30,40" HREF="yellow.htm"> <AREA SHAPE="RECT" COORDS="40,10,60,40" HREF="red.htm"> </MAP>
Параметр NAME оператора <MAP> имеет значение buttons. Это название карты чувствительных областей, которое будет использовано при вставке сегментированного графического изображения в документ HTML.
Оператор <AREA> имеет три параметра: SHAPE, COORDS и HREF.
Параметр SHAPE задает форму чувствительной области. Для этого параметра вы можете указывать следующие значения:
Значение параметра SHAPE |
Форма чувствительной области |
RECT |
Прямоугольная область. Параметр COORDS задает координаты верхнего левого и правого нижнего углов области |
CIRC |
Окружность. Через параметр COORDS передаются три значения: координата центра окружности по оси X, координата центра окружности по оси Y, и радиус окружности |
POLY |
Многоугольник. Параметр COORDS задает координаты вершин многоугольника в виде пар значений |
Параметр HREF оператора MAP задает адрес URL объекта, который должен быть загружен, когда пользователь делает щелчок левой клавишей мыши по чувствительной области.
Дополнительно с помощью параметра NOHREF можно указать области, нечувствительные к щелчкам мыши.
После того как вы создали карту чувствительных областей, можно вставлять сегментированное изображение в документ HTML. Эта процедура выполняется с помощью оператора <IMG>, для которого дополнительно указывается параметр USEMAP:
<IMG SRC="buttons.GIF" BORDER=0 USEMAP="#buttons">
В параметре USEMAP указывается имя карты чувствительных областей. Если эта карта располагается в том же файле, что и ссылка на сегментированное изображение, имя карты записывается в параметре USEMAP после символа #. Если же карта находится в отдельном файле (что допустимо), перед символом # необходимо указать имя файла, содержащего карту:
<IMG SRC="buttons.GIF" BORDER=0 USEMAP="map.htm#buttons">
В некоторых случаях удобнее размещать карту именно в отдельном файле, чтобы при редактирования сегментированного изображения и соответствующей карты не затрагивать документ, в который это изображение вставлено.
В листинге 5.2 мы привели исходный текст документа HTML, в котором используется сегментированная графика.
Листинг 5.2. Файл chap5\imgmap\imgmap.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE>Сегментированная графика для ссылок</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> <MAP NAME="buttons"> <AREA SHAPE="RECT" COORDS="10,10,30,20" HREF="blue.htm"> <AREA SHAPE="RECT" COORDS="10,30,30,40" HREF="yellow.htm"> <AREA SHAPE="RECT" COORDS="40,10,60,40" HREF="red.htm"> <AREA SHAPE="RECT" COORDS="0,0,70,50" NOHREF> </MAP> <IMG SRC="buttons.GIF" BORDER=0 USEMAP="#buttons"> </BODY> </HTML>
Этот документ ссылается на графический файл buttons.GIF, показанный на рис. 5.1. Обратите внимание, что последний оператор <AREA> описывает всю поверхность изображения, как нечувствительную к щелчкам мыши. Тем не менее, области, описанные ранее другими операторами <AREA>, будут работать в качестве чувствительных областей. Это происходит потому, что если области перекрываются, то навигатор использует первое описание, которое встретилось в карте.
Для чего лучше всего использовать сегментированную графику?
Наиболее очевидное применение - использование ссылок для описания отдельных фрагментов сложного изображения, такого, например, как географическая карта, образ экрана работающей программы, и тому подобное.
Если все, что вы собираетесь сделать при помощи сегментированной графики - это размещение панели с кнопками, то имеет смысл рассмотреть вариант использования таблицы, в ячейках которой находятся изображения отдельных кнопок. Этот вариант хорош тем, что будет работать даже в таких навигаторах, которые не способны распознавать сегментированную графику (например, навигатор NSCA Mosaic).
Мы рассмотрели вариант использования сегментированной графики, когда карта чувствительных областей сохраняется в документе HTML. Это наиболее простой способ. Для полноты изложения заметим, что существует еще один способ работы с сегментированной графикой, при котором информация о чувствительных областях хранится на сервере. В нашей книге мы не будем рассматривать второй способ, так как он предполагает использование более сложных методов.
Описанная выше методика подготовки сегментированных графических изображений не слишком удобна, так как вам необходимо вручную создавать карту чувствительных областей. Между тем вы можете бесплатно загрузить из Internet приложение Map This!, созданное специально для работы с сегментированной графикой. Ниже мы привели адрес сервера WWW, где вы можете получить самую свежую версию приложения Map This!:
http://www.ecaetc.ohio-state.edu/tc/mt
Главное окно этого приложения показано на рис. 5.2.
Рис. 5.2. Главное окно приложения Map This!
В приложение Map This! встроен редактор областей, позволяющий задавать чувствительные области визуально при помощи мыши. При этом вы просто рисуете границы областей поверх изображения.
Органы управления, расположенные на инструментальной линейке, позволяют вам выбрать нужную форму области - прямоугольную, круглую или многоугольную.
Помимо редактирования областей, приложение Map This! может автоматически создавать карту областей в одном из трех форматов, в частности, в формате, необходимом для включения карты в документ HTML.
Работая со списком областей, вы можете указать для каждой области адрес URL объекта, на который при помощи этой области создается ссылка. Список областей можно редактировать, изменяя адрес ссылки, добавляя в список новые области или удаляя существующие.
Ниже мы привели сокращенный образец документа HTML, который был создан приложением Map This! для изображения, входящего в комплект этого приложения:
<BODY> <MAP NAME="Country Lake"> <!-- #$-:Image Map file created by Map THIS! --> <!-- #$-:Map THIS! free image map editor by Todd C. Wilson --> <!-- #$-:Please do not edit lines starting with "#$" --> <!-- #$VERSION:1.30 --> <!-- #$DESCRIPTION:Just a test map to show what can be done without resorting --> <!-- #$DESCRIPTION:to lots of writing down points and wasting time. --> <!-- #$AUTHOR:Todd Wilson --> <!-- #$DATE:Thu Feb 06 10:11:27 1997 --> <!-- #$PATH:C:\Program Files\MapThis\Examples\ --> <!-- #$GIF:LAKE.GIF --> <AREA SHAPE=RECT COORDS="213,296,289,336" HREF="door.html"> <AREA SHAPE=CIRCLE COORDS="499,355,14" HREF="liferaft.html"> <AREA SHAPE=POLY COORDS="637,362,551,366,550,373,545,375,448,366,371, 367,347,367,336,367,293,356,256,352,0,356,0,477,640,478,637,365,637,362,637,362" HREF="lake.html"> <AREA SHAPE=RECT COORDS="125,308,167,335" HREF="lunch.htm" ALT="Table"> <AREA SHAPE=RECT COORDS="350,335,539,365" HREF="boat.html"> . . . <AREA SHAPE=RECT COORDS="332,275,362,323" HREF="lady.htm" ALT="The lady in the pink shirt"> <AREA SHAPE=RECT COORDS="86,205,289,339" HREF="house.html"> <AREA SHAPE=RECT COORDS="292,261,325,328" HREF="house.html"> <AREA SHAPE=POLY COORDS="97,173,88,199,290,201,283,174,97,173,97,173" HREF="roof.html"> <AREA SHAPE=POLY COORDS="292,225,292,259,332,257,319,228,292,228,294,224, 292,225,292,225" HREF="roof.html"> <AREA SHAPE=POLY COORDS="0,136,81,197,80,335,0,335,0,216,0,136,0,136" HREF="mountain.html" ALT="the left mountain"> . . . <AREA SHAPE=default HREF="tryagain.html"> </MAP></BODY>
Как видите, это практически готовый документ, содержимое которого можно использовать для создания собственного документа HTML с сегментированной графикой.
Документы HTML могут содержать ссылки на такие ресурсы сети Internet, как электронные почтовые адреса, серверы FTP, электронные конференции и так далее. Ниже мы привели примеры указания значений параметра HREF оператора <A…> для некоторых наиболее важных ресурсов:
Пример |
Описание |
HREF="http://...” |
Ссылка на объект, который будет передаваться с использованием протокола HTTP. Это может быть документ или любой произвольный объект, например, двоичный файл |
HREF="ftp://..." |
Ссылка на сервер FTP |
HREF="mailto:..." |
Ссылка на электронный почтовый адрес. Когда пользователь выбирает такую ссылку, на экране появляется окно почтовой программы, подключенной к навигатору. С помощью этого окна пользователь может послать электронной письмо по адресу, указанному в ссылке |
HREF="news:..." |
Ссылка на электронную конференцию |
HREF="nntp://..." |
Ссылка на сервер электронной конференции |
HREF="telnet://..." |
Активизация сеанса удаленного доступа к узлу сети Internet с использованием протокола TELNET |
HREF="gopher://...” |
Ссылка на сервер Gopher |
Первый из приведенных примеров вам уже знаком. Вы использовали этот формат параметра HREF для ссылки на документы HTML. Обратим ваше внимание, что таким образом вы можете сделать ссылку на произвольный двоичный файл, графическое изображение или на другой объект.
Зачем это может понадобиться?
Помимо текста, графических изображений, встроенных в документ оператором <IMG>, видео и звуковых файлов, вы можете разместить в каталогах сервера WWW произвольные файлы, например, архивы программ. Если сделать ссылку на эти файлы с использованием протокола HTTP, они будут загружены навигатором, который может затем выполнить над ними различные действия, от простой записи в виде файла на локальный диск, до запуска приложения, способного обработать принятые данные.
Например, на нашем сервере лежат файлы lzh, в которых находятся архивы исходных текстов к томам серии “Библиотека системного программиста”. Ссылка на файлы архивов выглядит следующим образом:
<A>HREF="http://www.dials.ccas.ru/frolov/bin/dbsp11.lzh" <IMG>SRC="disk.GIF" BORDER=0></A>
Когда пользователь сделает щелчок по графическому изображению, навигатор отобразит на экране диалоговую панель с предложением сохранить файл на локальном диске.
Указанным способом часто оформляются ссылки на графические файлы большого размера. Документ HTML при этом содержит либо текстовое описание такого изображения, либо небольшую пиктограмму. Сделав щелчок, пользователь может загрузить в окно навигатора полное изображение и при необходимости сохранить его затем на диске.
Во многих случаях наряду с сервером WWW вы захотите создать и собственный сервер FTP. Сервер FTP, так же как и сервер WWW, можно указывать с использованием либо прямого адреса IP, либо (что лучше) с использованием доменного адреса. Ссылки на серверы FTP в документах HTML размещаются, как правило, для того чтобы пользователь мог загрузить оттуда какой-либо двоичных файл.
Заметим, что вы можете обеспечить загрузку двоичных файлов и через протокол HTTP, расположив эти файлы в каталогах сервера WWW. Для пользователя нет особой разницы, откуда он будет получать ваши файлы - из сервера WWW или из сервера FTP. Однако если ваши серверы являются виртуальными и находятся у поставщика услуг Internet, оплата за передачу файлов удаленному пользователю может вычисляться по разному в зависимости от того, на каком сервере (FTP или WWW) находятся эти файлы.
На многих серверах WWW вы может встретить ссылки на почтовые адреса. На нашем сервере тоже есть такая ссылка:
<FONT SIZE=2>Посылайте ваши комментарии по адресу <A HREF="mailto:frolov@glas.apc.org" >frolov@glas.apc.org</A></FONT>
Почтовый адрес будет выделен подчеркиванием. Вы можете сделать по нему щелчок мышью, при этом автоматически запустится почтовая программа.