SlideShare a Scribd company logo
Лекция 2
Web 1.0
 "Интернет только для чтения“ - Tim Berners-Lee (W3C)
 Первый Интернет позволял нам искать информацию
и читать её.
 Взаимодействие с пользователями в составлении
содержания было ограничено.
 Основные цели информационных ресурсов web 1.0:
 «обозначить» свое присутствие в глобальной сети,
 сделать информацию доступной всем в любое время.
 Особенности web-проектирования:
 Статичные страницы
 Использование фреймов
 Гостевые книги, форумы, чаты
 Использование информеров
 Требования к монитору 2
Web 2.0
 Социальность и мобильность
 Предпосылки:
 широкополосные сети,
 улучшенные браузеры,
 технологии взаимодействия (например Ajax),
 развитие flash,
 появление виджетов (элементов управления),
 социальные сети,
 облачные хранилища.
 Принцип привлечения пользователей к наполнению и
многократной выверке информационного материала
(социальные сети, блоги, wiki).
 Интерактивность комментирование сообщений, и
создание групп пользователей, и прямой обмен данными.
 Мобильность – возможность доступа к ресурсу с любого
устройства, имеющего выход в Интернет. 3
Web 3.0
 В процессе эпохи Web 2.0 глобальная сеть
бесконтрольно наполнилась массивами
однообразной и бессмысленной информации
 Принципы:
 Строгая модерация контента информационных
ресурсов. Ключевую роль должны сыграть онлайн-
эксперты (Википедия). Аналогичный принцип
пытаются использовать информационно-поисковые
системы.
 «Web 3.0 – это семантическая паутина» (Тим Бернерс
Ли). Семантическая паутина – пространство данных,
доступ к которым происходит не на основе анализа
текста, а анализа смысла текста – примерно так, как
это бы делал человек
4
Web
5
Типовая архитектура информационных ресурсов
 Текстового ИР
6
Пользователь
?
data
Базы
данных
Сервера
приложений
Клиентская сторона Серверная сторона
Десктопный
(UI)
Толстый
Браузер
(Web UI)
Тонкий
Программа-
клиент
Web-сервер
Скрипты
Приложения
СУБД
HTML/CSS
JavaScript
Типовая архитектура информационных ресурсов
 Как правило, подобной архитектуре удовлетворяют
текстовые информационные ресурсы, мета-ресурсы,
некоторые поисковые системы.
 В первых информационных ресурсах диалог с
сервером осуществлялся преимущественно с
помощью десктопных клиентских приложений. То
есть приложений, установленных на локальный
компьютер и имеющих графический
пользовательский интерфейс (UI).
 В настоящее время подобная архитектура является
устаревшей
7
Типовая архитектура современных ИР
 Текстового ИР
 Социального
медиаресурса
 Пространственного ИР
Пользователь
?
data
Клиентская сторона
Серверная
сторона
back-end
front-end
(сервер приложений)
Кэш-сервер
Мобильный
(m.Web UI)
Десктопный
(UI)
Браузер
(Web UI)
Программа-
клиент
Толстый
Тонкий
API over HTTP(s)
ASP
php
node.js
HTML/CSS
JavaScript
WWW
СУБД
FCGI
Perl
Python
API-сервис
Widgets
DOM
RPC
JSON
XML
SOAP
REST
Web-сервер
AJAX
Binary
API over TCP Web-сервис
Типовая архитектура современных ИР
 Back-end полностью находится на серверной стороне
 Front-end (сервер приложений) является реализацией
middleware (связующее программное обеспечение) для
клиента и сервера.
 С появлением нового уровня, который обязательно
включает в себя интерфейс прикладного
программирования (API, как правило, функционирует по
протоколу HTTP(S)) архитектура становится гибче, не
нужно каждый раз переписывать Web-узел или
клиентские приложения, в случае изменений в
информационном ресурсе, необходимо подправить
функции API.
 Мобильное приложение реализовано в виде сайта (m.*)
либо полноценной программы для IOS, Android и т.п.
 Разные реализации клиента используют единый API 9
Back-end
 Back-end – программная часть информационного
ресурса, отвечающая за исполнение
пользовательских запросов на серверах и API-
сервисах: нахождение данных в базах ресурса,
агрегирование и ранжирование результатов,
предобработка для отправки клиенту и т.д.
 Невидимая для пользователя часть
информационного ресурса.
 Для создания back-end используют
 PHP, Python, Perl, Node.js и т.д.
 Активные страницы ASP, JSP.
 В качестве back-end может выступать
административная часть CMS
10
Front-end
 Front-end – видимая пользователю часть информационного
ресурса, его программный интерфейс, доступные
возможности.
 Может быть реализована в виде:
 API, функционирующем поверх HTTP, либо поверх TCP
(опциональный компонент front-end)
 HTML-вёрстки, стилей CSS, сценариев JavaScript (выполняются
всегда на стороне клиента). (обязательный компонент front-end)
 Приложения, которое непосредственно принимает запросы от
клиента (например, через HTTP) и в случае статического файла
сразу представляет его содержимое, а в случае исполняемого
сценария, передает соответствующему интерпретатору
(Например, web-сервер nginx).
 Пользовательской части CMS (content management system).
 Транспортные функции (запросы типа клиент->front-end,
front-end->back-end) реализуются посредством:
 Парадигм REST и RPC;
 Технологии AJAX;
 Проприетарного протокола.
 Для передачи параметров запроса и ответов используются
контейнеры данных: XML, JSON.
11
Понятие API
 Интерфейс прикладного программирования
(application programming interface) - набор готовых
классов, процедур, функций, структур и констант,
предоставляемых информационным ресурсом для
использования во внешних программных продуктах.
 Используется для интеграции сторонних
приложений.
 API определяет функциональность, которую
предоставляет информационный ресурс.
 Позволяет абстрагироваться от того, как именно эта
функциональность реализована.
 У многих информационных ресурсов есть API:
 VK
 Google
 Yandex
 Wikipedia
 Wolfram Alpha 12
Доступ к информационным ресурсам
 На сегодняшний момент наиболее
распространенным средством доступа к
информационным ресурсам являются
компьютерные сети, а самым прогрессивным
способом получения информации – интерактивный
диалоговый режим (on-line)
 Интерактивный диалоговый режим может быть
обеспечен двумя способами:
 посредством толстого клиента,
 посредством тонкого клиента.
13
Толстый клиент к ИР
 Толстый клиент (rich client) - это приложение,
обеспечивающее расширенную (по сравнению с тонким
клиентом) функциональность независимо от
информационного ресурса.
 Часто сервер в этом случае является лишь хранилищем
данных, а вся работа по обработке и представлению
данных переносится на машину клиента.
 Как правило, толстым клиентом снабжают пользователей
для расширения аудитории информационного ресурса и
раскрытия его функционала в полной степени:
 КонсультантПлюс,
 1С.
 Критерий: информационный ресурс для работы с
которым требуется установка дополнительного
приложения 14
Тонкий клиент к ИР
 Тонкий клиент (thin client) - программа-клиент, которая
переносит все или большую часть задач по обработке
информации на сервер.
 Тонкий клиент обеспечивает унифицированный и
единый доступ к разнородным информационным
ресурсам, как правило в ущерб сокращенной
функциональности (этот разрыв постепенно
нивелируется)
 Средством обеспечения такой работы служит web-
браузер
 Большинство публичных информационных ресурсов
работают по принципу тонкого клиента:
 поисковые системы,
 социальные сети,
 другие.
 Критерий: информационный ресурс, доступный
посредством любого браузера
15
Сравнение клиентов к ИР
16
Тонкий Толстый
Функциональные
возможности
ограниченные широкие
Быстродействие ограничено высокое
Дистрибутив - +
Настройка, установка - +
Поддержание версии - +
Бизнес-логика - +
Кроссплатформенность + -
Офлайн режим - +
Понятие web-клиента
 Web-клиент (далее – браузер) – общедоступное
программное обеспечение, предназначенное для
взаимодействия с web-серверами, DNS-, FTP-серверами,
обеспечивающее получение и обработку
информационных и служебных данных и формирование
web-страниц в соответствии со спецификациями W3C.
 Основное предназначение браузера – отображать веб-
ресурсы. Для этого браузер формирует совокупность
HTTP-запросов к ресурсам, расположенным на web-
сервере, объединяет ответы, формирует web-страницу и
отрисовывает её.
 Под ресурсами понимаются HTML-документы,
мультимедийные файлы и потоки, скрипты, файлы,
задающие правила отображения данных.
 Любой ресурс определен с помощью URI
(унифицированного идентификатора ресурсов).
 Web-клиент отображает страницы, в соответствии со
спецификациями W3C для HTML, CSS, XML, RDF и т.д.
17
Компоненты браузера
18
Пользовательский интерфейс
Механизм браузера
Модуль отображения
Сетевые
компоненты
Интерпретатор
JavaScript
Исполнительная
часть
пользовательского
интерфейса
Хранилище
данных
Компоненты браузера
 Пользовательский интерфейс – вкладки, элементы
управления и ввода данных
 Механизм браузера – управляет взаимодействием
интерфейса и модуля отображения.
 Модуль отображения – отвечает за синтаксический
анализ кода HTML+CSS, построение дерева отображения
и дерева содержания.
 Сетевые компоненты – предназначены для выполнения
сетевых вызовов, таких как HTTP-запросы.
 Исполнительная часть пользовательского интерфейса –
используется для отрисовки основных виджетов.
 Интерпретатор JavaScript – используется для
синтаксического анализа и выполнения кода JavaScript.
 Хранилище данных – браузер сохраняет на жесткий диск
данные различных типов, кэш, cookie, LSO (flash-cookie).
19
Модуль отображения
 В Firefox применяется Gecko – собственная
разработка Mozilla, в Safari и Chrome используется
WebKit.
 Chrome использует несколько экземпляров модуля
отображения, по одному для каждой вкладки.
 Модуль отображения:
 получает содержание запрошенного документа по
протоколу сетевого уровня;
 выполняет синтаксический анализ HTML-документа;
 переводит теги в узлы DOM;
 строит дерево содержания;
 выполняет анализ CSS-файлов;
 строит дерево отображения.
20
Модуль отображения WebKit
21
Дерево содержания Chrome
22
Дерево отображения Chrome
23
Понятие Web-сервера
 Web-сервер — программное обеспечение либо
аппаратно-программный комплекс,
предназначенный для асинхронной обработки
HTTP-запросов от клиентов, формирования HTTP-
ответов, интерпретации скриптов и хранения
ресурсов.
 Клиент, которым обычно является web-браузер,
передаёт web-серверу HTTP-запросы на получение
ресурсов, идентифицируемых URI-адресами.
 В ответ web-сервер возвращает клиенту
запрошенные данные.
 Обмен происходит по протоколу HTTP.
24
Функции web-сервера
 Помимо HTTP-диалога, web-сервер выполняет
следующие функции:
 Поддержка механизма сессий.
 Исполнение скриптов PHP, ASP, Perl, CGI-шлюзов
(передача их соответствующим интерпретаторам
и компиляторам, обработка ответов).
 Передача клиенту документов, мультимедийных
файлов и потоков, java-скриптов.
 Ведение журнала обращений пользователей к
различным ресурсам.
 Поддержка работы протокола HTTPS для TLS-
соединений с клиентами.
 Поддержка динамически генерируемых страниц
(AJAX).
25
Реализации web-сервера
 IIS (Internet Information Services) – проприетарный
набор серверов для нескольких служб Интернета от
компании Microsoft. (49% рынка)
 Apache – наиболее распространённый
кроссплатформенный web-сервер. (21%)
 nginx — свободный, простой, быстрый и надежный.
Пользуется популярностью на крупных web-сайтах.
(14%)
 GWS (Google Web Server) веб-сервер, используемый
Google для организации своей веб-инфраструктуры.
На основе Apache. (1%)
 Lighttpd свободный и защищённый, по скорости
доступа к диску выигрывает у Apache, поддерживает
Windows (Google, Wikipedia, Yandex)
26
Структура файлов на Web-сервере
 AdminScripts - сценарии сервера IIS
 ftproot - каталог службы FTP
 mailroot - каталог службы SMTP
 nntpfile - каталог службы NNTP
 logs - журналы регистрации посещений и ошибок
 tmp - для временных файлов и резервных копий
27
Apache + Linux
IIS + Win
Apache + Win
(denwer)
Структура файлов на Web-сервере
 Корневой каталог сайта
директория в структуре файлов
web-сервера, содержащая web-
страницы и документы
информационного ресурса.
Варианты наименования:
 public_html (nginx),
 htdocs (Apache),
 http (Apache),
 wwwroot (IIS),
 www (denwer),
 docs.
 Зависит от конфигурации web-
сервера. В примере это папка http.
28
Специальные файлы на Web-сайте
 В корневом каталоге web-сайта содержатся
файлы и директории соответствующего ресурса,
набор директорий, их наименование зависят от
системы управления сайтом (CMS).
 Вместе с тем есть общие правила. Сайт может
содержать следующий набор файлов:
 favicon
 index.html
 robots.txt
 sitemap.xml
 dublin.rdf
29
Favicon
 Favicon (favorites icon) - логотип веб-сайта или
веб-страницы.
 Отображается браузером во вкладке перед
названием страницы, а также в качестве
картинки рядом с закладкой, во вкладках и в
других элементах интерфейса.
 Традиционно использовались изображения
размера 16×16 пикселей формата .ico,
помещённые в корневой каталог сайта под
именем favicon.ico
 Поддерживаются и другие форматы
изображений jpg, png, gif (в том числе
анимированный). 30
Index
 По умолчанию при обращении к корневому
домену, поддомену, директории сайта, Web-
сервер производит поиск файла с именем index
(index.html, index.htm, index.php) и возвращает
его web-клиенту .
 Файл с таким именем web-сервер считает
начальным файлом в любом каталоге сайта в том
числе и корневом.
31
Index
 В каждой вновь созданной папке web-сайта
необходимо определять пустой файл с именем
index.html (index.htm).
32
Robots
 Robots.txt - cтандартизованный файл,
содержащий ограничения доступа к
содержимому для поисковых роботов в виде
набора директив.
 Файл должен находиться в корне сайта (то есть
иметь путь относительно имени сайта
/robots.txt).
 При наличии поддоменов файл должен
располагаться в корневом каталоге каждого из
них.
33
Robots
 Файл состоит из записей (директив) формата:
 <поле>:<значение>
 Поле = User-Agent, Disallow, Allow, другие директивы
 User-Agent — это наименование директивы, в
которую записывается идентификатор клиентского
приложения, осуществляющего доступ к web-сайту,
такого как браузеры, поисковые роботы мобильные
устройства и другие устройства.
 Возможные варианты User-Agent:
 BlackBerry9000/5.0.0.93 (мобильное устройство)
 AppleWebKit/533.21.1 (браузер с модулем WebKit)
 Safari/533.16 (браузер)
 Googlebot (робот)
 Yandex (робот) 34
Пример Robots на Yandex.ru
35
 Порядок следования директив в файле robots.txt
не влияет на использование их роботом
Sitemap
 Файл Sitemap.xml содержит структуру вашего сайта
и страниц (карту сайта).
 Помогает поисковым роботам ориентироваться в
вашем сайте.
 Содержит список всевозможных ссылок,
представляющих структуру web-сайта.
 Пример:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://analitika.ru/</loc>
<lastmod>2014-09-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
</urlset> 36
Dublin
 Файл dublin.rdf представляет собой набор
элементов для семантического ядра Dublin Core.
 Полезен для роботов поисковых систем, социальных
сетей и других сервисов, поддерживающих
семантическую обработку web-сайтов.
 Имеет нотацию XML. Состоит из 15-ти стандартных
и 3-х квалифицированных свойств.
 Используется для семантического описания
информационных ресурсов
 Пример:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:dc= "http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://analitika.ru/">
<dc:title>Forex</dc:title>
<dc:creator>D.A.</dc:creator>
<dc:subject>Биржевая индустрия</dc:subject> 37
Идентификация ресурсов
 Существует стандарт универсальной
идентификации (RFC 3986):
 URI (Uniform Resource Identifier) —
унифицированный идентификатор ресурса, это
последовательность символов,
идентифицирующая абстрактный или
физический ресурс.
 Представлен в форме символьной строки,
позволяющей идентифицировать какой-либо
ресурс: документ, изображение, файл, службу,
электронную почту.
 URI на текущий момент является простым и
расширяемым способом идентификации
ресурсов.
38
Состав URI
Схема Источник Запрос Фрагмент: ? #
обязательно опционально
// Авторизация
/ Сегмент Сегмент/ / …
Путь
Имя пользователя @ Хост : Порт
Логин : Пароль
Ключ Значение= & …Ключ Значение= &
Пример URI
40
Схема URI
 Схема URI это метод обращения к ресурсу (часто
указывает на сетевой протокол). RFC7595
 Например:
 ftp: – протокол передачи файлов
 http/https: – гипертекстовый протокол
 mailto: – отправка почты
 telnet: – протокол реализации сетевого
интерфейса
 file: – выбор файла на хосте
 sip: - протокол установления сеанса
 tel: – телефонный номер
 steam:, bitcoin:, git:, teamspeak:, tv: … 41
Примеры URI
 http://tools.ietf.org/html/rfc3986#section-3.1
 urn:oid:1.3.6.1.4.1.23668 (URN Kaspersky Lab Ltd.)
 mailto:w@memfis.su
 sip:admin@analitika.ru
 tel:+7-(926)-161-90-33
 telnet://192.0.2.16:80/
 C:Windowsregedit.exe преобразуется в URI
file:///C:/Windows/regedit.exe
file://localhost/C:/Windows/regedit.exe
 URI может быть абсолютным и относительным.
 Абсолютный: «http://yandex.ru»,
 Относительный: «/» эквивалентен
http://yandex.ru/index.php 42
Адрес документа
43
Документ cancel.png
на Web-сервере
Адрес документа
44
URI документа cancel.png на Web-
сервере.
Схема «http»
Адрес документа
45
Документ cancel.png на локальном Web-сервере
Адрес документа
46
URI документа cancel.png на локальном Web-сервере
Схема «file», «localhost» пропущен
URI и URN
 URN (Uniform Resource Name) унифицированное
наименование объекта.
 URN — это URI, который только идентифицирует
документ в определённом пространстве имён, но не
указывает его местонахождения.
 URN ссылается на документ , и при перемещении
документа в другое место ссылка не изменится.
 Состоит из:
 NID (namespace identifier) идентификатора пространства
имен. (oid, isbn, mailto, sip)
 NSS (namespace-specific string) уникального для данного
пространства имен идентификатора объекта.
 Например:
 Страна Германия - oid:2.16.276
 Книга А. Эйнштейна - isbn:978-5-367-00842-5
47
URI и URL
 URL (Uniform Resource Locator) указывает путь к
объекту и метод получения доступа к нему.
 URL — это URI, который, помимо идентификации
ресурса, предоставляет ещё и информацию о
местонахождении этого ресурса.
 В URL можно использовать только ограниченный
набор символов даже меньший, чем в ASCII.
 Поэтому строка вида:
 http://yandex.ru/yandsearch?text=аэроэкспресс
 Будет конвертирована в:
 http://yandex.ru/yandsearch?text=%D0%B0%D1%8D%D1%80
%D0%BE%D1%8D%D0%BA%D1%81%D0%BF%D1%80%D0%B5
%D1%81%D1%81
 URN и URL — это частные случаи URI. 48
IDN
 IDN (Internationalized Domain Names) —
международные доменные имена.
 К IDN относятся
 Домены верхнего уровня с не ASCII-символами (.рф)
 Домены второго уровня, составленные из букв не
являющихся ASCII-символами (кириллический,
испанский, арабский алфавиты и др.) (9мая.рф)
 Символы национальных алфавитов используются
только в web-браузере.
 Вне браузера циркулируют доменные имена,
закодированные алгоритмом Punycode (RFC 3492)
Домены всех уровней начинаются с префикса «xn--»
 http://тигр.рф = http://xn--c1ajzf.xn--p1ai/
 почемужеонинеговорятпорусски = b1abfaaepdrnnbgefbaDotcwatmq2g4l
49
IRI
 IRI (Internationalized Resource Identifier) —
международный идентификатор ресурса.
 IRI призваны в будущем заменить URI.
 Цель: исключить ограничения на символы ASCII
в процессе идентификации какого‐либо ресурса:
документа, изображения, файла, службы, ящика
электронной почты и т. д.
 Проблема: идентичность начертания букв в
различных языках.
50

More Related Content

What's hot

7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисов
KewpaN
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложенийYandex
 
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworksСтажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks7bits
 
Attacking MongoDB
Attacking MongoDBAttacking MongoDB
Attacking MongoDB
Михаил Фирстов
 
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
Sergey Skvortsov
 
Lekcia2
Lekcia2Lekcia2
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
Roman Brovko
 
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
КРОК
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлетыalexey1991
 
Инфраструктура социального проекта
Инфраструктура социального проектаИнфраструктура социального проекта
Инфраструктура социального проектаMedia Gorod
 
Лекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилейЛекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилей
Яковенко Кирилл
 
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineHTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
Volha Banadyseva
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
InterSystems
 

What's hot (13)

7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисов
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
 
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworksСтажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
Стажировка-2014, занятие 8. Общая архитектура web-приложений, web frameworks
 
Attacking MongoDB
Attacking MongoDBAttacking MongoDB
Attacking MongoDB
 
RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)RESTful Architechture (Highload++ 2008)
RESTful Architechture (Highload++ 2008)
 
Lekcia2
Lekcia2Lekcia2
Lekcia2
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
 
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлеты
 
Инфраструктура социального проекта
Инфраструктура социального проектаИнфраструктура социального проекта
Инфраструктура социального проекта
 
Лекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилейЛекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилей
 
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineHTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 

Similar to Мировые информационные ресурсы. Лекция 2

Hivext - platform web-services, platform web-applications
Hivext -  platform web-services, platform web-applicationsHivext -  platform web-services, platform web-applications
Hivext - platform web-services, platform web-applications
guestaa90e4cb
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
IT-Доминанта
 
Лекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервисЛекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервисAnna Kraeva
 
IT talk Odessa. Device Hive
IT talk Odessa. Device HiveIT talk Odessa. Device Hive
IT talk Odessa. Device Hive
Marina Peregud
 
Лекция 1. Модель OSI.
Лекция 1. Модель OSI.Лекция 1. Модель OSI.
Лекция 1. Модель OSI.
Alexey Furmanov
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнр
Rauan Ibraikhan
 
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовПавел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовguestf673
 
REST API JL.elama
REST API JL.elamaREST API JL.elama
REST API JL.elama
Ilya Lebedev
 
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
DataArt
 
Илья Петров «Введение в Silverlight»
Илья Петров «Введение в Silverlight»Илья Петров «Введение в Silverlight»
Илья Петров «Введение в Silverlight»
e-Legion
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений guest800050
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)7bits
 

Similar to Мировые информационные ресурсы. Лекция 2 (20)

Hivext - platform web-services, platform web-applications
Hivext -  platform web-services, platform web-applicationsHivext -  platform web-services, platform web-applications
Hivext - platform web-services, platform web-applications
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Hivext 04.2009
Hivext 04.2009Hivext 04.2009
Hivext 04.2009
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
интернет1
интернет1интернет1
интернет1
 
Лекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервисЛекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервис
 
IT talk Odessa. Device Hive
IT talk Odessa. Device HiveIT talk Odessa. Device Hive
IT talk Odessa. Device Hive
 
Лекция 1. Модель OSI.
Лекция 1. Модель OSI.Лекция 1. Модель OSI.
Лекция 1. Модель OSI.
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнр
 
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисовПавел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
 
Uws
UwsUws
Uws
 
REST API JL.elama
REST API JL.elamaREST API JL.elama
REST API JL.elama
 
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
Олег Крут (DataArt) "Что такое интернет вещей и как с ним работать"
 
Web tehn
Web tehnWeb tehn
Web tehn
 
Илья Петров «Введение в Silverlight»
Илья Петров «Введение в Silverlight»Илья Петров «Введение в Silverlight»
Илья Петров «Введение в Silverlight»
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (1 часть)
 

More from Dmitriy Krukov

Мировые информационные ресурсы. Лекция 7
Мировые информационные ресурсы. Лекция 7Мировые информационные ресурсы. Лекция 7
Мировые информационные ресурсы. Лекция 7
Dmitriy Krukov
 
Мировые информационные ресурсы. Лекция 6
Мировые информационные ресурсы. Лекция 6Мировые информационные ресурсы. Лекция 6
Мировые информационные ресурсы. Лекция 6
Dmitriy Krukov
 
Мировые информационные ресурсы. Лекция 1
Мировые информационные ресурсы. Лекция 1Мировые информационные ресурсы. Лекция 1
Мировые информационные ресурсы. Лекция 1
Dmitriy Krukov
 
Управление Данными. Лекция 8
Управление Данными. Лекция 8Управление Данными. Лекция 8
Управление Данными. Лекция 8
Dmitriy Krukov
 
Управление Данными. Лекция 7
Управление Данными. Лекция 7Управление Данными. Лекция 7
Управление Данными. Лекция 7
Dmitriy Krukov
 
Управление Данными. Лекция 6
Управление Данными. Лекция 6Управление Данными. Лекция 6
Управление Данными. Лекция 6
Dmitriy Krukov
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5
Dmitriy Krukov
 
Управление Данными. Лекция 4
Управление Данными. Лекция 4Управление Данными. Лекция 4
Управление Данными. Лекция 4
Dmitriy Krukov
 
Управление Данными. Лекция 3
Управление Данными. Лекция 3Управление Данными. Лекция 3
Управление Данными. Лекция 3
Dmitriy Krukov
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
Dmitriy Krukov
 
Управление Данными. Лекция 2
Управление Данными. Лекция 2Управление Данными. Лекция 2
Управление Данными. Лекция 2
Dmitriy Krukov
 

More from Dmitriy Krukov (11)

Мировые информационные ресурсы. Лекция 7
Мировые информационные ресурсы. Лекция 7Мировые информационные ресурсы. Лекция 7
Мировые информационные ресурсы. Лекция 7
 
Мировые информационные ресурсы. Лекция 6
Мировые информационные ресурсы. Лекция 6Мировые информационные ресурсы. Лекция 6
Мировые информационные ресурсы. Лекция 6
 
Мировые информационные ресурсы. Лекция 1
Мировые информационные ресурсы. Лекция 1Мировые информационные ресурсы. Лекция 1
Мировые информационные ресурсы. Лекция 1
 
Управление Данными. Лекция 8
Управление Данными. Лекция 8Управление Данными. Лекция 8
Управление Данными. Лекция 8
 
Управление Данными. Лекция 7
Управление Данными. Лекция 7Управление Данными. Лекция 7
Управление Данными. Лекция 7
 
Управление Данными. Лекция 6
Управление Данными. Лекция 6Управление Данными. Лекция 6
Управление Данными. Лекция 6
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5
 
Управление Данными. Лекция 4
Управление Данными. Лекция 4Управление Данными. Лекция 4
Управление Данными. Лекция 4
 
Управление Данными. Лекция 3
Управление Данными. Лекция 3Управление Данными. Лекция 3
Управление Данными. Лекция 3
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
Управление Данными. Лекция 2
Управление Данными. Лекция 2Управление Данными. Лекция 2
Управление Данными. Лекция 2
 

Мировые информационные ресурсы. Лекция 2

  • 2. Web 1.0  "Интернет только для чтения“ - Tim Berners-Lee (W3C)  Первый Интернет позволял нам искать информацию и читать её.  Взаимодействие с пользователями в составлении содержания было ограничено.  Основные цели информационных ресурсов web 1.0:  «обозначить» свое присутствие в глобальной сети,  сделать информацию доступной всем в любое время.  Особенности web-проектирования:  Статичные страницы  Использование фреймов  Гостевые книги, форумы, чаты  Использование информеров  Требования к монитору 2
  • 3. Web 2.0  Социальность и мобильность  Предпосылки:  широкополосные сети,  улучшенные браузеры,  технологии взаимодействия (например Ajax),  развитие flash,  появление виджетов (элементов управления),  социальные сети,  облачные хранилища.  Принцип привлечения пользователей к наполнению и многократной выверке информационного материала (социальные сети, блоги, wiki).  Интерактивность комментирование сообщений, и создание групп пользователей, и прямой обмен данными.  Мобильность – возможность доступа к ресурсу с любого устройства, имеющего выход в Интернет. 3
  • 4. Web 3.0  В процессе эпохи Web 2.0 глобальная сеть бесконтрольно наполнилась массивами однообразной и бессмысленной информации  Принципы:  Строгая модерация контента информационных ресурсов. Ключевую роль должны сыграть онлайн- эксперты (Википедия). Аналогичный принцип пытаются использовать информационно-поисковые системы.  «Web 3.0 – это семантическая паутина» (Тим Бернерс Ли). Семантическая паутина – пространство данных, доступ к которым происходит не на основе анализа текста, а анализа смысла текста – примерно так, как это бы делал человек 4
  • 6. Типовая архитектура информационных ресурсов  Текстового ИР 6 Пользователь ? data Базы данных Сервера приложений Клиентская сторона Серверная сторона Десктопный (UI) Толстый Браузер (Web UI) Тонкий Программа- клиент Web-сервер Скрипты Приложения СУБД HTML/CSS JavaScript
  • 7. Типовая архитектура информационных ресурсов  Как правило, подобной архитектуре удовлетворяют текстовые информационные ресурсы, мета-ресурсы, некоторые поисковые системы.  В первых информационных ресурсах диалог с сервером осуществлялся преимущественно с помощью десктопных клиентских приложений. То есть приложений, установленных на локальный компьютер и имеющих графический пользовательский интерфейс (UI).  В настоящее время подобная архитектура является устаревшей 7
  • 8. Типовая архитектура современных ИР  Текстового ИР  Социального медиаресурса  Пространственного ИР Пользователь ? data Клиентская сторона Серверная сторона back-end front-end (сервер приложений) Кэш-сервер Мобильный (m.Web UI) Десктопный (UI) Браузер (Web UI) Программа- клиент Толстый Тонкий API over HTTP(s) ASP php node.js HTML/CSS JavaScript WWW СУБД FCGI Perl Python API-сервис Widgets DOM RPC JSON XML SOAP REST Web-сервер AJAX Binary API over TCP Web-сервис
  • 9. Типовая архитектура современных ИР  Back-end полностью находится на серверной стороне  Front-end (сервер приложений) является реализацией middleware (связующее программное обеспечение) для клиента и сервера.  С появлением нового уровня, который обязательно включает в себя интерфейс прикладного программирования (API, как правило, функционирует по протоколу HTTP(S)) архитектура становится гибче, не нужно каждый раз переписывать Web-узел или клиентские приложения, в случае изменений в информационном ресурсе, необходимо подправить функции API.  Мобильное приложение реализовано в виде сайта (m.*) либо полноценной программы для IOS, Android и т.п.  Разные реализации клиента используют единый API 9
  • 10. Back-end  Back-end – программная часть информационного ресурса, отвечающая за исполнение пользовательских запросов на серверах и API- сервисах: нахождение данных в базах ресурса, агрегирование и ранжирование результатов, предобработка для отправки клиенту и т.д.  Невидимая для пользователя часть информационного ресурса.  Для создания back-end используют  PHP, Python, Perl, Node.js и т.д.  Активные страницы ASP, JSP.  В качестве back-end может выступать административная часть CMS 10
  • 11. Front-end  Front-end – видимая пользователю часть информационного ресурса, его программный интерфейс, доступные возможности.  Может быть реализована в виде:  API, функционирующем поверх HTTP, либо поверх TCP (опциональный компонент front-end)  HTML-вёрстки, стилей CSS, сценариев JavaScript (выполняются всегда на стороне клиента). (обязательный компонент front-end)  Приложения, которое непосредственно принимает запросы от клиента (например, через HTTP) и в случае статического файла сразу представляет его содержимое, а в случае исполняемого сценария, передает соответствующему интерпретатору (Например, web-сервер nginx).  Пользовательской части CMS (content management system).  Транспортные функции (запросы типа клиент->front-end, front-end->back-end) реализуются посредством:  Парадигм REST и RPC;  Технологии AJAX;  Проприетарного протокола.  Для передачи параметров запроса и ответов используются контейнеры данных: XML, JSON. 11
  • 12. Понятие API  Интерфейс прикладного программирования (application programming interface) - набор готовых классов, процедур, функций, структур и констант, предоставляемых информационным ресурсом для использования во внешних программных продуктах.  Используется для интеграции сторонних приложений.  API определяет функциональность, которую предоставляет информационный ресурс.  Позволяет абстрагироваться от того, как именно эта функциональность реализована.  У многих информационных ресурсов есть API:  VK  Google  Yandex  Wikipedia  Wolfram Alpha 12
  • 13. Доступ к информационным ресурсам  На сегодняшний момент наиболее распространенным средством доступа к информационным ресурсам являются компьютерные сети, а самым прогрессивным способом получения информации – интерактивный диалоговый режим (on-line)  Интерактивный диалоговый режим может быть обеспечен двумя способами:  посредством толстого клиента,  посредством тонкого клиента. 13
  • 14. Толстый клиент к ИР  Толстый клиент (rich client) - это приложение, обеспечивающее расширенную (по сравнению с тонким клиентом) функциональность независимо от информационного ресурса.  Часто сервер в этом случае является лишь хранилищем данных, а вся работа по обработке и представлению данных переносится на машину клиента.  Как правило, толстым клиентом снабжают пользователей для расширения аудитории информационного ресурса и раскрытия его функционала в полной степени:  КонсультантПлюс,  1С.  Критерий: информационный ресурс для работы с которым требуется установка дополнительного приложения 14
  • 15. Тонкий клиент к ИР  Тонкий клиент (thin client) - программа-клиент, которая переносит все или большую часть задач по обработке информации на сервер.  Тонкий клиент обеспечивает унифицированный и единый доступ к разнородным информационным ресурсам, как правило в ущерб сокращенной функциональности (этот разрыв постепенно нивелируется)  Средством обеспечения такой работы служит web- браузер  Большинство публичных информационных ресурсов работают по принципу тонкого клиента:  поисковые системы,  социальные сети,  другие.  Критерий: информационный ресурс, доступный посредством любого браузера 15
  • 16. Сравнение клиентов к ИР 16 Тонкий Толстый Функциональные возможности ограниченные широкие Быстродействие ограничено высокое Дистрибутив - + Настройка, установка - + Поддержание версии - + Бизнес-логика - + Кроссплатформенность + - Офлайн режим - +
  • 17. Понятие web-клиента  Web-клиент (далее – браузер) – общедоступное программное обеспечение, предназначенное для взаимодействия с web-серверами, DNS-, FTP-серверами, обеспечивающее получение и обработку информационных и служебных данных и формирование web-страниц в соответствии со спецификациями W3C.  Основное предназначение браузера – отображать веб- ресурсы. Для этого браузер формирует совокупность HTTP-запросов к ресурсам, расположенным на web- сервере, объединяет ответы, формирует web-страницу и отрисовывает её.  Под ресурсами понимаются HTML-документы, мультимедийные файлы и потоки, скрипты, файлы, задающие правила отображения данных.  Любой ресурс определен с помощью URI (унифицированного идентификатора ресурсов).  Web-клиент отображает страницы, в соответствии со спецификациями W3C для HTML, CSS, XML, RDF и т.д. 17
  • 18. Компоненты браузера 18 Пользовательский интерфейс Механизм браузера Модуль отображения Сетевые компоненты Интерпретатор JavaScript Исполнительная часть пользовательского интерфейса Хранилище данных
  • 19. Компоненты браузера  Пользовательский интерфейс – вкладки, элементы управления и ввода данных  Механизм браузера – управляет взаимодействием интерфейса и модуля отображения.  Модуль отображения – отвечает за синтаксический анализ кода HTML+CSS, построение дерева отображения и дерева содержания.  Сетевые компоненты – предназначены для выполнения сетевых вызовов, таких как HTTP-запросы.  Исполнительная часть пользовательского интерфейса – используется для отрисовки основных виджетов.  Интерпретатор JavaScript – используется для синтаксического анализа и выполнения кода JavaScript.  Хранилище данных – браузер сохраняет на жесткий диск данные различных типов, кэш, cookie, LSO (flash-cookie). 19
  • 20. Модуль отображения  В Firefox применяется Gecko – собственная разработка Mozilla, в Safari и Chrome используется WebKit.  Chrome использует несколько экземпляров модуля отображения, по одному для каждой вкладки.  Модуль отображения:  получает содержание запрошенного документа по протоколу сетевого уровня;  выполняет синтаксический анализ HTML-документа;  переводит теги в узлы DOM;  строит дерево содержания;  выполняет анализ CSS-файлов;  строит дерево отображения. 20
  • 24. Понятие Web-сервера  Web-сервер — программное обеспечение либо аппаратно-программный комплекс, предназначенный для асинхронной обработки HTTP-запросов от клиентов, формирования HTTP- ответов, интерпретации скриптов и хранения ресурсов.  Клиент, которым обычно является web-браузер, передаёт web-серверу HTTP-запросы на получение ресурсов, идентифицируемых URI-адресами.  В ответ web-сервер возвращает клиенту запрошенные данные.  Обмен происходит по протоколу HTTP. 24
  • 25. Функции web-сервера  Помимо HTTP-диалога, web-сервер выполняет следующие функции:  Поддержка механизма сессий.  Исполнение скриптов PHP, ASP, Perl, CGI-шлюзов (передача их соответствующим интерпретаторам и компиляторам, обработка ответов).  Передача клиенту документов, мультимедийных файлов и потоков, java-скриптов.  Ведение журнала обращений пользователей к различным ресурсам.  Поддержка работы протокола HTTPS для TLS- соединений с клиентами.  Поддержка динамически генерируемых страниц (AJAX). 25
  • 26. Реализации web-сервера  IIS (Internet Information Services) – проприетарный набор серверов для нескольких служб Интернета от компании Microsoft. (49% рынка)  Apache – наиболее распространённый кроссплатформенный web-сервер. (21%)  nginx — свободный, простой, быстрый и надежный. Пользуется популярностью на крупных web-сайтах. (14%)  GWS (Google Web Server) веб-сервер, используемый Google для организации своей веб-инфраструктуры. На основе Apache. (1%)  Lighttpd свободный и защищённый, по скорости доступа к диску выигрывает у Apache, поддерживает Windows (Google, Wikipedia, Yandex) 26
  • 27. Структура файлов на Web-сервере  AdminScripts - сценарии сервера IIS  ftproot - каталог службы FTP  mailroot - каталог службы SMTP  nntpfile - каталог службы NNTP  logs - журналы регистрации посещений и ошибок  tmp - для временных файлов и резервных копий 27 Apache + Linux IIS + Win Apache + Win (denwer)
  • 28. Структура файлов на Web-сервере  Корневой каталог сайта директория в структуре файлов web-сервера, содержащая web- страницы и документы информационного ресурса. Варианты наименования:  public_html (nginx),  htdocs (Apache),  http (Apache),  wwwroot (IIS),  www (denwer),  docs.  Зависит от конфигурации web- сервера. В примере это папка http. 28
  • 29. Специальные файлы на Web-сайте  В корневом каталоге web-сайта содержатся файлы и директории соответствующего ресурса, набор директорий, их наименование зависят от системы управления сайтом (CMS).  Вместе с тем есть общие правила. Сайт может содержать следующий набор файлов:  favicon  index.html  robots.txt  sitemap.xml  dublin.rdf 29
  • 30. Favicon  Favicon (favorites icon) - логотип веб-сайта или веб-страницы.  Отображается браузером во вкладке перед названием страницы, а также в качестве картинки рядом с закладкой, во вкладках и в других элементах интерфейса.  Традиционно использовались изображения размера 16×16 пикселей формата .ico, помещённые в корневой каталог сайта под именем favicon.ico  Поддерживаются и другие форматы изображений jpg, png, gif (в том числе анимированный). 30
  • 31. Index  По умолчанию при обращении к корневому домену, поддомену, директории сайта, Web- сервер производит поиск файла с именем index (index.html, index.htm, index.php) и возвращает его web-клиенту .  Файл с таким именем web-сервер считает начальным файлом в любом каталоге сайта в том числе и корневом. 31
  • 32. Index  В каждой вновь созданной папке web-сайта необходимо определять пустой файл с именем index.html (index.htm). 32
  • 33. Robots  Robots.txt - cтандартизованный файл, содержащий ограничения доступа к содержимому для поисковых роботов в виде набора директив.  Файл должен находиться в корне сайта (то есть иметь путь относительно имени сайта /robots.txt).  При наличии поддоменов файл должен располагаться в корневом каталоге каждого из них. 33
  • 34. Robots  Файл состоит из записей (директив) формата:  <поле>:<значение>  Поле = User-Agent, Disallow, Allow, другие директивы  User-Agent — это наименование директивы, в которую записывается идентификатор клиентского приложения, осуществляющего доступ к web-сайту, такого как браузеры, поисковые роботы мобильные устройства и другие устройства.  Возможные варианты User-Agent:  BlackBerry9000/5.0.0.93 (мобильное устройство)  AppleWebKit/533.21.1 (браузер с модулем WebKit)  Safari/533.16 (браузер)  Googlebot (робот)  Yandex (робот) 34
  • 35. Пример Robots на Yandex.ru 35  Порядок следования директив в файле robots.txt не влияет на использование их роботом
  • 36. Sitemap  Файл Sitemap.xml содержит структуру вашего сайта и страниц (карту сайта).  Помогает поисковым роботам ориентироваться в вашем сайте.  Содержит список всевозможных ссылок, представляющих структуру web-сайта.  Пример: <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://analitika.ru/</loc> <lastmod>2014-09-06</lastmod> <changefreq>monthly</changefreq> <priority>0.9</priority> </url> </urlset> 36
  • 37. Dublin  Файл dublin.rdf представляет собой набор элементов для семантического ядра Dublin Core.  Полезен для роботов поисковых систем, социальных сетей и других сервисов, поддерживающих семантическую обработку web-сайтов.  Имеет нотацию XML. Состоит из 15-ти стандартных и 3-х квалифицированных свойств.  Используется для семантического описания информационных ресурсов  Пример: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf- syntax-ns#" xmlns:dc= "http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://analitika.ru/"> <dc:title>Forex</dc:title> <dc:creator>D.A.</dc:creator> <dc:subject>Биржевая индустрия</dc:subject> 37
  • 38. Идентификация ресурсов  Существует стандарт универсальной идентификации (RFC 3986):  URI (Uniform Resource Identifier) — унифицированный идентификатор ресурса, это последовательность символов, идентифицирующая абстрактный или физический ресурс.  Представлен в форме символьной строки, позволяющей идентифицировать какой-либо ресурс: документ, изображение, файл, службу, электронную почту.  URI на текущий момент является простым и расширяемым способом идентификации ресурсов. 38
  • 39. Состав URI Схема Источник Запрос Фрагмент: ? # обязательно опционально // Авторизация / Сегмент Сегмент/ / … Путь Имя пользователя @ Хост : Порт Логин : Пароль Ключ Значение= & …Ключ Значение= &
  • 41. Схема URI  Схема URI это метод обращения к ресурсу (часто указывает на сетевой протокол). RFC7595  Например:  ftp: – протокол передачи файлов  http/https: – гипертекстовый протокол  mailto: – отправка почты  telnet: – протокол реализации сетевого интерфейса  file: – выбор файла на хосте  sip: - протокол установления сеанса  tel: – телефонный номер  steam:, bitcoin:, git:, teamspeak:, tv: … 41
  • 42. Примеры URI  http://tools.ietf.org/html/rfc3986#section-3.1  urn:oid:1.3.6.1.4.1.23668 (URN Kaspersky Lab Ltd.)  mailto:w@memfis.su  sip:admin@analitika.ru  tel:+7-(926)-161-90-33  telnet://192.0.2.16:80/  C:Windowsregedit.exe преобразуется в URI file:///C:/Windows/regedit.exe file://localhost/C:/Windows/regedit.exe  URI может быть абсолютным и относительным.  Абсолютный: «http://yandex.ru»,  Относительный: «/» эквивалентен http://yandex.ru/index.php 42
  • 44. Адрес документа 44 URI документа cancel.png на Web- сервере. Схема «http»
  • 45. Адрес документа 45 Документ cancel.png на локальном Web-сервере
  • 46. Адрес документа 46 URI документа cancel.png на локальном Web-сервере Схема «file», «localhost» пропущен
  • 47. URI и URN  URN (Uniform Resource Name) унифицированное наименование объекта.  URN — это URI, который только идентифицирует документ в определённом пространстве имён, но не указывает его местонахождения.  URN ссылается на документ , и при перемещении документа в другое место ссылка не изменится.  Состоит из:  NID (namespace identifier) идентификатора пространства имен. (oid, isbn, mailto, sip)  NSS (namespace-specific string) уникального для данного пространства имен идентификатора объекта.  Например:  Страна Германия - oid:2.16.276  Книга А. Эйнштейна - isbn:978-5-367-00842-5 47
  • 48. URI и URL  URL (Uniform Resource Locator) указывает путь к объекту и метод получения доступа к нему.  URL — это URI, который, помимо идентификации ресурса, предоставляет ещё и информацию о местонахождении этого ресурса.  В URL можно использовать только ограниченный набор символов даже меньший, чем в ASCII.  Поэтому строка вида:  http://yandex.ru/yandsearch?text=аэроэкспресс  Будет конвертирована в:  http://yandex.ru/yandsearch?text=%D0%B0%D1%8D%D1%80 %D0%BE%D1%8D%D0%BA%D1%81%D0%BF%D1%80%D0%B5 %D1%81%D1%81  URN и URL — это частные случаи URI. 48
  • 49. IDN  IDN (Internationalized Domain Names) — международные доменные имена.  К IDN относятся  Домены верхнего уровня с не ASCII-символами (.рф)  Домены второго уровня, составленные из букв не являющихся ASCII-символами (кириллический, испанский, арабский алфавиты и др.) (9мая.рф)  Символы национальных алфавитов используются только в web-браузере.  Вне браузера циркулируют доменные имена, закодированные алгоритмом Punycode (RFC 3492) Домены всех уровней начинаются с префикса «xn--»  http://тигр.рф = http://xn--c1ajzf.xn--p1ai/  почемужеонинеговорятпорусски = b1abfaaepdrnnbgefbaDotcwatmq2g4l 49
  • 50. IRI  IRI (Internationalized Resource Identifier) — международный идентификатор ресурса.  IRI призваны в будущем заменить URI.  Цель: исключить ограничения на символы ASCII в процессе идентификации какого‐либо ресурса: документа, изображения, файла, службы, ящика электронной почты и т. д.  Проблема: идентичность начертания букв в различных языках. 50

Editor's Notes

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50