Название реферата: Основы HTML
Раздел: Информатика
Скачано с сайта: www.newreferat.com
Дата размещения: 03.11.2011

Основы HTML

HTML (Hypertext Markup Language) был впервые разработан Тимом Бернерс-Ли (Tim Berners-Lee) в то время когда он работал в ЦЕРНе и приобрел популярность благодаря броузеру "Мозаика" разработанному в NCSA. Первая спецификация этого универсального и общедоступного языка разметки - HTML 0 была утверждена в 1991 году. Уже через два года W3C объявил о выходе HTML 3. Затем, почти сразу, последовала спецификация версии 3.2, с которой мы имеем дело сейчас на подавляющем большинстве Web-страниц. В HTML 4 произошла лишь переработка концепций, и не было добавлено ничего принципиально нового. На сегодняшний день HTML остается самым универсальным, даже незаменимым средством разметки гипертекста, а, следовательно, и публикации в Интернет. Язык разметки гипертекста по определению должен интерпретироваться броузером. Это, безусловно, накладывает некоторые ограничения на возможности языка и на совместимость новых конструкций со старыми версиями броузеров. Однако, именно эта особенность языков разметки оставляет прекрасную возможность генерировать HTML-код другими программами (CGI-скриптами). Современные Web-страницы уже не обходятся одним только HTML. Его гармонично дополняют средства динамического HTML: скрипт языки JavaScript и/или VBScript, каскадные таблицы стилей(CSS), иногда присутствуют Java-апплеты. Web-страничка – это обычный текстовый файл в соответствующей кодировке. В нем описывается вся страничка с помощью языка гипертекстовой разметки – HTML (HyperText Markup Language). Когда вы в своем браузере (Internet Explorer / Nestcape Navigator) загружаете web-страничку, то браузер выполняет команды, записанные на языке HTML, и, подчиняясь им, выводит на экран страничку. Создавать HTML-файлы нужно в текстовых редакторах, которые умеют сохранять файлы в формате "Только текст" (расширение .txt). Если вы создадите такой файл в Word'e и сохраните в формате "Документ", а потом поменяете расширение .doc на .html, то у вас получится полная абракадабра, т.к. Word и сам не лыком шит и добавляет в свои "фирменные файлы" массу специальных команд форматирования, очень сильно отличающихся от тэгов HTML. Поэтому на первое время, чтобы не запутаться, идеальным редактором является "Блокнот" (Notepad) из стандартной поставки Windows. Для того, чтобы текстовый файл превратился в HTML-файл, поменять его расширение с ".txt" на ".html" недостаточно. Надо соблюсти "правило первой строки". Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, обязан начинаться со строки декларации версии HTML <!DOCTYPE>, которая обычно выглядит так: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Эта строка поможет браузеру определить, как правильно интерпретировать данный документ. В данном случае мы говорим браузеру, что HTML соответствует международной спецификации версии 4.1, которая хоть и не отличается новизной, но, в отличие от более поздних версий, является полноценным, широко распространенным стандартом без каких-либо неопределенностей. После объявления версии и типа документа необходимо обозначить его начало и конец. Это делается с помощью тэга-контейнера <HTML>. Необходимо отметить, что любой HTML-документ открывется тэгом <HTML> и им же закрывается. Эти тэги сообщают браузеру, что текст между ними следует интерпритировать как HTML-текст. Поскольку документы HTML чисто текстовые, тэг говорит о том, что файл написан на языке HTML (HyperTextMarkupLanguage - Язык гипертекстовой разметки). Итак, давайте попробуем создать страничку, на которой будет ваш портрет, заголовок и немного текста - один-два абзаца (параграфа). Чтобы не запутаться во вложенности тэгов и одновременно не пропустить какую-нибудь важную часть документа, нужно записывать тэги-контейнеры сразу парами, начиная с внешнего контейнера, а затем вкладывать внутренние. Начнем с пары тэгов <html></html>. Внутрь этого контейнера рядышком положим два "ящика" поменьше: <head></head> и <body></body> (именно в такой последовательности! не может же "голова" быть ниже "тела"!). Затем внутрь "ящика-головы" вложим "ящичек-название" - <title></title>, а внутрь "ящика-тела" - "ящички-блоки", рядышком, друг за другом: <h1></h1><p></p> и <img>. Ну а теперь можно наполнить наши коробки содержимым - обычным текстом. Если приведенный выше пример пояснить схематически, получится следующее:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>

<head> <!-- Заголовок документа -->

<title> <!-- Название документа --> </title>

<!-- прочая служебная информация -->

</head>

<body> <!-- Тело документа -->

<div> <!-- Блок -->

<p> <!-- Параграф --> </p>

<table> <!-- Таблица --> </table>

</div>

<div> <!-- Блок --> </div>

</body>

</html> Из схемы видно, что документ состоит из двух основных блоков - "заголовка" и "тела документа". Заголовок определяется с помощью элемента HEAD, а тело - элементом BODY. Тэги-контейнеры можно (и нужно!) вкладывать друг в друга. При этом важно соблюдать правильную вложенность тэгов. Если вы представите себе тэги-контейнеры в виде настоящих ящичков, вы быстро разберетесь во вложенности. В самом деле, ведь нельзя вложить маленький ящик в большой, закрыв при этом большой ящик крышечкой от маленького! Нужно закрыть маленький ящичек маленькой крышечкой, поместить его вместе с крышечкой в большой ящик, а тот уже накрыть большой крышкой. Так же и с тэгами - один в другой нужно вкладывать целиком, нельзя оставлять закрывающий тэг или часть содержимого вместе с закрывающим тэгом снаружи!

Правильно:

Неправильно:

Неправильно:

<div> <p>Здесь все сверстано верно.</p> </div>

<div> <p>А здесь допущена ошибка.</div> </p>

<div> <p>А здесь тоже допущена </div> ошибка.</p>

Особенно важно соблюдать вложенность основных тэгов страниц - <html>, <head>, <body>, <frameset>. Иначе может оказаться, что вы не увидите на экране вообще ничего. Особенно "придирчиво" относится к верной вложенности браузер Netscape Navigator, поэтому желательно всегда проверять созданные страницы в этом браузере.

Коды HTML символов Для специальных символов в HTML-стандартах предусмотрен особый способ кодирования (с помощью escape-последовательностей или символьных объектов), который позволяет применять эти символы в необходимых позициях документа, не нарушая его структуры (это касается, например, символов <, >и &). Условное обозначение спецсимвола (escape-последовательность) начинается символом & , включает собственно имя спецсимвола и завершается точкой с запятой (например, " у условное обозначение для кавычки). Кроме того, вместо имени символа можно воспользоваться соответствующим ASCII-кодом (например, &#034; у для кавычки). Следует отметить, что разными броузерами коды и имена специальных символов (escape-последовательности) могут интерпретироваться несколько различным образом. На вид отображаемых символов также влияет выбранный для отображения шрифт и таблица символов (кодировка).

Название

Символ

ASCII

Имя

Табулятор

 

&#009;

 

Перевод строки

 

&#010;

 

Возврат каретки

 

&#013;

 

Пробел

 

&#032;

 

Восклицательный знак

!

&#033;

 

Кавычка

"

&#034;

&quot;

Знак решетка

#

&#035;

 

Доллар

$

&#036;

 

Процент

%

&#037;

 

Амперсанд

&

&#038;

&amp;

Апостроф

'

&#039;

 

Скобка левая круглая

(

&#040;

 

Скобка правая круглая

)

&#041;

 

Звездочка

*

&#042;

 

Плюс

+

&#043;

 

Запятая

,

&#044;

 

Минус

-

&#045;

 

Точка

.

&#046;

 

Косой штрих

/

&#047;

 

Цифры

0-9

&#048;-&#057;

 

Двоеточие

:

&#058;

 

Точка с запятой

;

&#059;

 

Меньше

<

&#060;

 

Равно

=

&#061;

 

Больше

>

&#062;

 

Знак вопроса

?

&#063;

 

Знак обезьянка

@

&#064;

 

Прописные буквы

A-Z

&#065;-&#090;

 

Скобка квадратная левая

[

&#091;

 

Косой штрих с наклоном вправо

\

&#092;

 

Скобка квадратная правая

]

&#093;

 

Степень

^

&#094;

 

Знак подчеркивания

_

&#095;

 

Ударение

`

&#096;

 

Строчные буквы

a-z

&#097;-&#122;

 

Фигурная скобка левая

{

&#123;

 

Вертикальный штрих

|

&#124;

 

Фигурная скобка правая

}

&#125;

 

Тильда

~

&#126;

 

Запятая

&#130;

 

Флорин

ƒ

&#131;

 

Кавычка нижняя правая

&;#132;

&#132;

 

Многоточие

&#133;

 

Крест

&#134;

 

Двойной крест

&#135;

 

Крышка

ˆ

&#136;

 

Промилле

&#137;

 

параграф

Š

&#138;

 

Символ меньше

<

&#139;

 

Большое ОЕ

Œ

&#140;

 

Одинарная кавычка слева

&#145;

 

Одинарная кавычка справа

&#146;

 

Кавычка слева

&#147;

 

Кавычка справа

&#148;

 

Крупная точка

&#149;

 

Короткий дефис

&#150;

 

Длинный дефис

&#151;

 

Тильда

˜

&#152;

 

Торговый знак

&#153;

&reg;

 

š

&#154;

 

Символ больше

>

&#155;

 

Маленькое ое

œ

&#156;

 

Большой Y-умлаут

Ÿ

&#159;

 

Неразрывный пробел

 

&#160;

&nbsp;

Перевернутый восклицательный знак

¡

&#161;

&ixcl;

Цент

¢

&#162;

&cent;

Фунт

£

&#163;

&pound;

Валюта

¤

&#164;

&curren;

Иена

¥

&#165;

&yen;

Прерванный штрих

¦

&#166;

&brvbar;

Параграф/Раздел

§

&#167;

&sect;

Точки умлаута

¨

&#168;

&uml;

Копирайт

©

&#169;

&copy;

Порядковое числительное женского рода

ª

&#170;

&ordf;

Французская кавычка слева

«

&#171;

&laquo;

Не/Нет

¬

&#172;

&not;

Разрыв в месте переноса

-

&#173;

&shy;

Зарегистрированный торговый знак

®

&#174;

&reg;

Надчеркивание

¯

&#175;

&macr;

Градус

°

&#176;

&deg;

Плюс-минус

±

&#177;

&plusmn;

Вторая степень

²

&#178;

&sup2;

Третья степень

³

&#179;

&sup3;

Маленькое а с ударением

´

&#180;

&acuate;

Мю

µ

&#181;

&micro;

Параграф

&#182;

&para;

Средняя точка

·

&#183;

&middot;

Цедиль

¸

&#184;

&cedil;

Первая степень

¹

&#185;

&sup1;

Порядковое числительное мужского рода

º

&#186;

&ordm;

Французская кавычка справа

»

&#187;

&raquo;

Дробь 1/4

¼

&#188;

&frac14;

Дробь 1/2

½

&#189;

&frac12;

Дробь 3/4

¾

&#190;

&frac34;

Перевернутый вопросительный знак

¿

&#191;

&iquest;

Большая А с ударением

À

&#192;

&Agrave;

Большая А с ударением

Á

&#193;

&Aacute;

Большая А с крышкой

Â

&#194;

&Acirc;

Большая А с тильдой

Ã

&#195;

&Atilde;

Большая А-умлаут

Ä

&#196;

&Auml;

Большая А с кружком

Å

&#197;

&Aring;

Большое АЕ

Æ

&#198;

&AElig;

Большая С цедил

Ç

&#199;

&Ccedil;

Большая Е с ударением

È

&#200;

&Egrave;

Большая Е с ударением

É

&#201;

&Eacute;

Большая Е с крышкой

Ê

&#202;

&Ecirc;

Большая Е-умлаут

Ë

&#203;

&Euml;

Большая I с ударением

Ì

&#204;

&Igrave;

Большая I c крышкой

Î

&#206;

&Icirс;

Большая I-умлаут

Ï

&#207;

&Iuml;

META-тэги META-таги имеют два возможных атрибута - <META HTTP-EQUIV="имя" CONTENT="содержимое"> - <META NAME="имя" CONTENT="содержимое"> META-таги должны находиться в заголовке HTML-документа между <HEAD> и </HEAD> (особенно это важно для документов, использующих фреймы). Атрибут HTTP-EQUIV META-таги с атрибутом HTTP-EQUIV эквивалентны HTTP-заголовкам. Обычно они управляют действиями броузеров и могут быть использованы для совершенствования информации, выдаваемой обычными заголовками. Таги такой формы могут дать такой же эффект, что и HTTP-заголовки, и на некоторых серверах автоматически могут быть переведены в настоящие HTTP-заголовки. HTTP-заголовки описываются в RFC1945 (HTTP/1.0) и RFC2068 (HTTP/1.1). HTTP-заголовки могут быть сгенерированы с помощью CGI-скриптов. Это позволяют сделать серверы Apache и CERN. В других серверах могут использоваться другие механизмы генерирования заголовков. Некоторые генерируемые сервером поля заголовков не могут быть подменены значениями из META-тагов (в частности Date), другие подменяются только при ненормальном статус-коде (<>200). Когда заголовок не понятен, то значение HTTP-заголовка превалирует над значением META-тагов. Expires Источники: HTTP/1.1 (RFC2068) Дата устаревания. Управление кэшированием в HTTP/1.0. В Netscape Navigator это выглядит следующим образом: если указанная дата прошла, то очередной запрос этого документа вызывает повторный сетевой запрос, а не подгрузку документа из кэша. Дата со значением "0" интерпретируется как "сейчас". Такое значение заставляет броузер каждый раз при запросе проверять - изменялся ли этот документ. Это, кстати относится и к прокси-агентам. Поисковые роботы могут либо совсем не индексировать такой документ, либо постоянно "обнюхивать" его. Дата должна быть задана в формате, описываемом в RFC850, <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> что эквивалентно HTTP-заголовку Expires: Wed, 26 Feb 1997 08:21:57 GMT Pragma Контроль кэширования для HTTP/1.0. Значением должно быть "no-cache". Очень полезный контейнер, я всегда использую его при выдаче результатов работы любого скрипта. Content-Type Источники: HTTP/1.0 (RFC1045) Указание типа документа. Может быть расширено указанием кодировки страницы (charset). Если же указывать charset в содержании META-тага, то Netscape Navigator выводит такую страницу уже в заданном charset. Однако будьте аккуратны, если текст страницы в кодировке Windows, а значение charset=KOI8-r, то никакими силами пользователь не сможет поменять encoding, чтобы увидеть нормальные слова! <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-2022-JP"> Content-language Источники: HTTP/1.0 Указание языка документа. Может использоваться поисковыми машинами при индексировании страниц. Комбинация поля Accept-Language (посылаемого броузером) с содержимым Content-language может быть условием выбора сервером того или иного языка. <META HTTP-EQUIV="Content-language" CONTENT="en-GB"> что эквивалентно HTTP-заголовку Content-language: en-GB Язык описывается парой значений (язык-диалект). В примере: Английский-Великобритания В недавно вышедшей спецификации HTML 4.0 появилась другая возможность явного указания языка - <html lang="en"> Refresh Источники: Netscape Определение задержки в секундах, после которой броузер автоматически обновляет документ. Дополнительная возможность - автоматическая загрузка другого документа. <META HTTP-EQUIV="Refresh" Content="3; URL=http://www.name.com/page.html"> что эквивалентно HTTP-заголовку Refresh: 3; URL=http://www.name.com/page.html В Netscape Navigator это дает такой же эффект, что и нажатие на кнопку Reload. Window-target Источники: Jahn Rentmeister Определяет окно текущей страницы; может быть использован для прекращения появления новых окон броузера при применении фреймовых структур. Действует для многих (но не для всех) броузеров. <META HTTP-EQUIV="Window-target" CONTENT="_top"> что эквивалентно HTTP-заголовку Window-target: _top Ext-cache Источники: Netscape Определяет имя альтернативного кэша для Netscape Navigator <META HTTP-EQUIV="Ext-cache" CONTENT="name=/some/path/index.db; istructions=User Instructions"> Set-Cookie Устанавливает cookie броузера. <META HTTP-EQUIV="Set-Cookie" CONTENT="NAME=value; EXPIRES=date; DOMAIN=domain_name; PATH=path; SECURE"> PICS-Label Platform-Independant Content rating Scheme. Обычно используется для определения рейтинга "взрослости" (adult) содержания (sex,violence, .):-)) однако это довольно гибкая схема и может использоваться для других целей. Cache-Control Источники: HTTP/1.1 Определяет действия кэша по отношению к данному документу. Возможные значения:

Vary Источники: HTTP/1.1 Определяет доступные альтернативы для указанных в CONTENT полей HTTP-заголовка. <META HTTP-EQUIV="Vary" CONTENT="Content-language"> что эквивалентно HTTP-заголовку Vary: Content-language Lotus Lotus-редакторы генерируют свои собственные поля Bulletin-Date и Bulletin-Text атрибуты. Bulletin-Text содержит описание документа Атрибут NAME META-таги с атрибутом NAME используются в случаях, когда поля не соотносятся с HTTP-заголовками. Иногда ясность теряется: некоторые агенты могут интерпретировать таг "Keywords" описанный как NAME, другие - как HTTP-EQUIV Robots Источники: Spidering Управление индексацией страницы для поисковых роботов. <META NAME="Robots" CONTENT="NOINDEX,FOLLOW"> Возможные значения: Description Источники: Spidering, Altavista, Infoseek Краткая аннотация содержания документа. Используется поисковыми системами для описания документа. Этот таг сильно полезен в случаях, когда в документе мало текста, когда это управляющий фреймами файл (frameset) или в начале документа используются скрипты. Длина текста до 100 символов. <META NAME="Description" CONTENT="Документ содержит словарь META-тагов"> Keywords Источники: Altavista, Infoseek Используется поисковыми системами для индексирования документа. Обычно здесь указываются синонимы к словам в заголовке (title) или альтернативный заголовок. Длина списка до 1000 символов. Не допускается использование одного и того же ключевого слова более 7 раз, поисковые системы просто будут игнорировать это слово. <META NAME="Keywords" CONTENT="таги,тэги,метаданные,список"> Document-state Источники: Spidering Управление индексацией страницы для поисковых роботов. Определяет частоту индексации - или один раз индексировать, или реиндексировать документ регулярно. <META NAME="Document-state" CONTENT="Static"> Возможные значения: URL Источники: Spidering Управление индексацией страницы для поисковых роботов. Определяет частоту индексации - или один раз индексировать, или реиндексировать документ регулярно. <META NAME="URL" CONTENT="absolute_url"> Author Источники: HTML редакторы Обычно имя автора, формат произвольный. Generator Источники: HTML редакторы Обычно название и версия редактора, с помощью которого создана эта страница. Может быть использована для определения доли рынка, занимаемого тем или иным продуктом. Copyright Источники: HTML редакторы Обычно описание авторских прав на документ в произвольном формате Distribution Возможные значения Resource-type Текущее состояние данного файла. Важен для поисковых систем, т.е. если его значение document, то поисковая система приступает к его индексированию. Прочие Помимо перечисленных более или менее стандартных тагов существует еще множество других специализированных, например, для конкретной поисковой машины тагов.

Таг LINK Таг LINK предоставляет документу независимый от среды метод определения отношения данного документа к другим документам и ресурсам Сети. Используется с аргументами REL и REV. С помощью тага LINK можно:

<LINK rel=help href="http://www.name.com/help.html"> где http://www.name.com/help.html - страница помощи по данному документу. Атрибуты REL и REV могут также использоваться с тагом A. Таги LINK могут использоваться только в заголовке документа (head) Атрибут REL HTML 3.2 REL-таги top, contents, index, glossary, copyright, next, previous, search Некоторые из рекомендованных типов взаимосвязей:

rel=top

Данная связь указывает на вершину в некой иерархической структуре, например на первую, либо титульную страницу в неком наборе документов.

rel=contents

Данная связь указывает на некий файл, где приводится оглавление к данному документу.

rel=index

Данная связь указывает на другой документ, который можно использовать в целях индексного поиска по текущему документу.

rel=glossary

Данная связь указывает на некий документ, где содержится глоссарий терминов, относящихся к текущему документу.

rel=copyright

Данная связь ссылается на текст, где указаны авторские права на данный документ.

rel=next

Данная связь указывает на следующий документ в неком заранее предопределенном маршруте просмотра. Например, она может использоваться для упреждающей автоматической загрузки браузером следующей страницы.

rel=previous

Данная связь ссылается на предыдущий документ в неком предопределенном маршруте просмотра.

rel=help

Данная связь указывает на документ, предлагающий некую помощь, например это может быть текст, дающий более развернутое описание и предлагающий ссылки на другие документы по этой теме. Назначение этой связи - оказание помощи тем читателям, кто потерял свой путь в Web.

rel=search

Данная ссылка ведет к поисковой странице, контролирующей некий набор страниц, связанных общей темой.

Многие системы изобретают свои дополнительные значения аргументов REL и REV

Таг Schema

Этот таг содержит URL документа-шаблона. Действие всех метаданных из документа-шаблона будут распространены на документ с тагом Schema (так работает Dublin Core).

<META NAME="VW96.objecttype" CONTENT="Dictionary">

<LINK REL=SCHEMA.VW96 HREF="http://vancouver-webpages.com/VWbot/VW96-schema.html">

ViewCall REL-таги

home, bookmark, tickertape, vmail, icon, prefetch, keyn, fastxx

AOLpress REL-таги

AOLpress использует несколько дополнительных, по сравнению с HTML 3.2, тагов

Home, ToC, Index, Glossary, Copyright, Up, Next, Previous, Help, Bookmark, First, Last

Атрибут REV Используется в конструкции LINK для индикации обратного соотношения документов. <LINK rev=help href="http://www.name.com/index.html"> где текущая страница является страницей помощи для документа http://www.name.com/index.html Использование <LINK rev=made href="mailto:document-owner"> в случае использования Lynx вызовет автоматическую отсылку почты по адресу document-owner. Таг BASE Этот таг определяет для данного документа базовый адрес URL, который затем будет использоваться для переопределения относительных адресов. Таг BASE полезен, если документ может быть скопирован в другое место или запрошен по другому пути с использованием символической ссылки, или редиректа с imagemap, и т.д.

Форматирование текста в HTML Рассмотрим форматирование символов. Для того, чтобы выделить какую либо часть текста, можно использовать теги:

замечание: в настоящее время для форматирования рекомендуется использовать таблицы стилей (CSS) В последних версиях HTML появилось еще два новых тега - теги нижнего и верхнего индексов. Вряд ли вы будете часто использовать эти теги, но они очень удобны, когда вам нужно отобразить в своей странице такую специфическую информацию как химические формулы (H2O) или математические формулы (a2=b c2). Чтобы текст выводился в виде нижнего индекса, его следует пометить между тегами <sub> и </sub>, в виде верхниего - <sup> и </sup>. Например: H20 (Код: - H<sub>2</sub>0) a2=b c2 (Код: a<sup>2</sup>=b c<sup>2</sup>) Задания размера текста желательно выполнять через стили. Он позволяют произвольно задавать размер текста. Поместив текст между тегами <span >