Таблица 7.15. Модули и теги XHTML Basic.
Модуль
Необходимый?
Функция
Примеры тегов
Structure (Структура)
Да
Структура документа
body,head,html,title
Text(Текст)
Да
Информация
br, code, dfn, em, h«, kbd, p, strong
Hypertext (Гипертекст)
Да
Гиперссылки
a
List (Списки)
Да
Списки элементов
dl, dt, dd,ol, ul, li
Forms (Формы)
Нет
Заполнение форм
form,input,label, option,textarea
Tables (Таблицы)
Нет
Прямоугольные таблицы
caption, table, td, th, tr
Image (Изображения)
Нет
Размещение изображений
img
Object (Объекты)
Нет
Апплеты, карты и т. д.
object, param
Meta-information
(Метаинформация)
Нет
Дополнительная
информация
meta
Link (Ссылка)
Нет
Аналогично <a>
link
Base(База)
Нет
Точка отсчета URL
base
Пока мы говорили о контенте, а не о протоколах, так как именно контент представляет наибольшую проблему при реализации мобильного веба. Однако мы вкратце упомянем и протоколы. Протоколы HTTP, TCP и IP, использующиеся сетью, могут заполнять значительную часть канала, передавая информацию, которая не будет отображать, например, заголовки. Чтобы решить эту проблему, в WAP и других методах определены протоколы для специальных целей. В этом, по большей части, нет необходимости. Технологии сжатия заголовков, такие как ROHC (RObust Header Compression), описанные в главе 6, могут сократить объем побочной информации в таких протоколах. Таким образом, можно пользоваться одним набором протоколов (HTTP, TCP, IP) по связям как с высокой, так и с низкой пропускной способностью. Использование связей с низкой пропускной способностью требует всего лишь включения механизма сжатия заголовков.
7.3.6. Веб-поиск
Чтобы закончить наше обсуждение Всемирной паутины, мы поговорим о том, что по мнению многих людей является наиболее успешным веб-приложением — веб-поиск. В 1998 году Сергей Брин и Лари Пейдж, студенты Стенфорда, создали компанию под названием Google, чтобы написать лучший механизм поиска. Они были вооружены идеей, впоследствии показавшей себя крайне успешно. А заключалась она в том, что алгоритм поиска, оценивающий, сколько раз ссылки с других страниц указывали на
каждую страницу, является лучшим показателем ее важности, чем то, сколько раз на ней встречаются ключевые слова. Например, многие страницы ссылаются на главную страницу Cisco, что делает эту страницу более значимой для пользователя, который ввел «Cisco» как ключевое слово, чем страница, не относящаяся к компании, но включающая это слово много раз.
Они были правы. Такой подход действительно позволил написать лучший механизм поиска, и пользователи это оценили. Поддержанная венчурным капиталом компания Google невероятно разрослась. В 2004 году она стала акционерной и стоила $23 млрд. К 2010 году она охватывала более миллиона серверов в центрах обработки и хранения данных. По всему миру.
В некотором роде, поиск — это просто еще одно приложение, хотя и одно из наиболее старых, так как он развивался с появления Всемирной паутины. Однако веб-поиск оказался крайне необходимым. Ежедневно обрабатывается более миллиарда запросов. Люди, ищущие совершенно разную информацию, используют поиск как отправную точку. Например, очевидно, что мы не знаем, с какой страницы начать просмотр, чтобы выяснить, где купить вегемит в Сиэтле, но есть шанс, что поисковая система знает о странице с желаемой информацией и сможет быстро переправит вас на нее.
Чтобы осуществить веб-поиск в традиционном виде, пользователь открывает в своем браузере сайт веб-поиска. Основные поисковые сайты — это Google, Yahoo! и Bing6. Затем пользователь отправляет нужный запрос используя форму. Тогда поисковая система передает этот запрос базе данных, чтобы найти релевантные страницы, изображения и т. д., и возвращает ответ в виде динамической страницы. После чего пользователь может перейти по найденным ссылкам.
Веб-поиск — интересный предмет для обсуждения, так как он влияет на организацию и использование сетей. Во-первых, интересен вопрос, как веб-поиск находит нужные страницы. У системы веб-поиска должна быть база данных, содержащая страницы, чтобы обработать запрос. Каждая HTML-страница может содержать ссылки на другие страницы, так что на все интересное (или, по крайней мере, часто появляющееся в поисковых запросах) где-то уже стоит ссылка. То есть теоретически возможно, начав с небольшого набора страниц, просмотреть все страницы, размещенные в вебе, переходя по всем ссылкам. Этот процесс называется веб-кроулингом (Web crawling, часто произносится и пишется как веб-краулинг) или обходом страниц. Все поисковые системы используют его.
Одна из сложностей с веб-кроулингом заключается в том, что найти можно не все виды страниц. Получение статичных документов и переходы по ссылкам — это просто. Однако многие веб-страницы содержат программы, которые выдают разные страницы в зависимости от того, какая информация была отправлена пользователем. Примером может послужить каталог онлайн-магазина. Каталог может содержать динамические веб-страницы, созданные при помощи базы данных, содержащих продукты, и запросов разных продуктов. Этот тип контента отличается от статичных страниц, которые легко обнаружить. Как системы веб-поиска находят такие динамические страницы? Ответ прост: по большей части не находят. Этот тип скрытого контента называется глубокой Всемирной паутиной (deep Web). Как искать такой контент — открытая проблема, над которой сейчас бьются ученые (см., например, Мадхаван и др. 2008). Также существует договоренность, в соответствии с которой сайты создают страницу (известную как robots.txt), чтобы сообщить поисковым системам, какие части сайтов должны или не должны посещаться.
Второй серьезный вопрос — как обрабатывать данные с перекрестными гиперссылками. Чтобы алгоритмы индексации работали на наборе данных, где-то должны храниться страницы. Оценки расходятся, но основные поисковые системы, вероятно, содержат каталоги десятков миллиардов страниц, скопированных с видимой части Всемирной паутины. Средний размер страницы оценивается в 320 Кбайт. Это значит, что посещенная поисковыми системами копия Всемирной паутины занимает около 20 петабайт или 2 х 1016 байт. Хоть это число и крайне велико, именно такой объем данных может храниться и обрабатываться в центрах обработки данных Интернета (Чанг и др. 2006). Например, если хранение информации на диске стоит 20 долларов за терабайт, хранение 2 х 104 Тбайт стоит $400 000, что не много для таких огромных компаний, как Google, Microsoft и Yahoo!. Кроме того, в то время как сеть расширяется, цены на диски стремительно падают, так что в обозримом будущем хранение всей Всемирной паутины представляется решаемой задачей в рамках больших компаний.
Извлечь из этих данных полезную информацию — другая важная задача. Вы можете оценить то, как XML помогает программам легко извлекать структуру данных, в то время как специальные форматы добавляют неразрешенных проблем. Также важен вопрос конверсии форматов и даже перевода с одного языка на другой. Но даже выяснение структуры данных является лишь частью проблемы, а сама она заключается в том, чтобы понять, что подразумевает данная структура. Решение этой задачи принесет огромную пользу, начиная с того, что поможет подбирать релевантные страницы в ответ на поисковые запросы. Главная цель — получить возможность ответа на вопросы, например, где купить дешевый, но качественный тостер в вашем городе.
Третий аспект веб-поиска заключается в том, что он создает более высокий уровень именования. Вам не нужно запоминать длинный URL, если с тем же успехом (или даже большим) можно найти веб-страницу по имени человека. Мы предполагаем, что имя запомнить проще, чем URL. Эта стратегия оказывается крайне удачной. Тем же способом, которым DNS-имена вытеснили IP-адреса компьютеров, веб-поиск вытесняет URL. К плюсам поиска можно отнести и то, что он исправляет ошибки и опечатки, в то время как неверно напечатав URL, вы получите неверную страницу.