В настоящее время среди информационных систем выделяются открытые информационные системы. Согласно определению, принятому IEEE <#»607661.files/image001.gif»>
- Рис. 2.1 Структура API браузера Opera
Всего поддерживается 4 метода работы (типа http-запросов) GET, POST, PUT, DELETE. Даже если пользователь плохо ознакомлен со всеми методами, или не ознакомлен с методами PUT и DELETE, имеется возможность использовать API в полном объеме, указав необходимое действие в параметрах POST запроса (с помощью него можно сделать любой из запросов).запросы — это запросы исключительно для чтения, то есть, запрос никогда не будет изменять состояние запрашиваемого пункта на сервере. POST ,PUT и DELETE запросы, предназначенные для изменения данных пользователя, они будут приводить к изменению данных пользователя, в том случае, если будут успешными [5].
Запросы REST API не отслеживаются (не существует механизмов авторизации пользователя, сделавшего запрос).
REST API предоставляет доступ к таким типам данных как Bookmarks, Notes, Speed Dial. Другие типы данных и дополнительные функции могут быть включены в будущем, при расширении API.
Структура браузера опера подробно рассмотрена в пункте «Подробная структура API».
2.2 Файлы конфигурации расширения браузера
Конфигурация программного обеспечения <#»607661.files/image002.gif»>
- Рис. 2.2 Конфигурационный файл расширения Opera, которое использует Speed Dial
Widget element <http://dev.opera.com/articles/view/extensions-api-config-widget>
- является контейнером в котором содержаться все осталь-ные элементы config.xml.
Name element <http://dev.opera.com/articles/view/extensions-api-config-name>
- содержит имя расширения.
Description element <http://dev.opera.com/articles/view/extensions-api-config-description>
- содержит краткое описание того, что должно делать расширение.
Author element <http://dev.opera.com/articles/view/extensions-api-config-author>
- этот элемент используется для предоставления подробной информации о авторе расширения. Имеет следующие атрибуты.
- Href <http://www.w3.org/TR/widgets/>: Определяет сайт автора.
- Email <http://www.w3.org/TR/widgets/>: Определяет адрес электронной почты автора.
License element <http://dev.opera.com/articles/view/extensions-api-config-license>
Организации внедрения систем электронного документооборота различными учеными
... вопросах организации внедрения. Также в них находятся рекомендации по внедрению и спецификации по настройке и установке системы. В работе использованы методические рекомендации по внедрению СЭД «Directum» ... делопроизводства, которые помогли выделить в работе основные функции систем электронного документооборота. 4. Методические рекомендации по внедрению систем электронного документооборота. Они ...
- элемент, содержащий лицензию на расширение.
Href: атрибут, определяющий URL для доступа к лицензии на ПО.
<http://dev.opera.com/articles/view/extensions-api-config-icon>con element — SVG, ICO, PNG, GIF или JPG-файл с именем «икона» может присутствовать в расширении пакета (например: «icon.png»).
Имеет атрибуты высота ширина и сrs-атрибут.
Content element <http://dev.opera.com/articles/view/extensions-api-config-content>
- элемент используется для определения пользовательских файлов, являющихся стартовыми для расширения. Имеет следующие атрибуты.
- SRC <http://www.w3.org/TR/widgets/>: Указывает на файл в расширение пакета, который должен быть в начале файла.
- Encoding <http://www.w3.org/TR/widgets/>: Кодировка файла.
Feature element <http://dev.opera.com/articles/view/extensions-api-config-feature>
- использование определенных функций расширением, таких как возможность отображать контент в экспресс-панели. Его атрибуты.
- Name <http://www.w3.org/TR/widgets/>: определяет, какая функция запрошена.
- Required <http://www.w3.org/TR/widgets/>: принимает 2 значения, true и false.
- Opera:speed dial <http://www.opera.com/docs/apis/extensions/speeddialguide/>: позволяет расширению отображать содержимое Speed Dial.
- Opera:share-cookies <http://dev.opera.com/articles/view/cookie-sharing-in-opera-extensions/>: с помощью этой функции пользователям не придется проходить проверку подлинности снова и снова.
Preference element <http://dev.opera.com/articles/view/extensions-api-config-preference>
- элемент раскрывающий предпочтения разработчика. Имеет следующие атрибуты.
- Name <http://www.w3.org/TR/widgets/>: название для этого предпочтения.
- Value <http://www.w3.org/TR/widgets/>: значение этого предпочтения.
- Readonly <http://www.w3.org/TR/widgets/>: указывает, может ли он быть перезаписаны во время выполнения или нет (true/false).
Access element <http://dev.opera.com/articles/view/extensions-api-config-access>
- элемент даёт авторам разрешение на доступ к внешним ресурсам сети. Имеет
- Origin <http://www.w3.org/TR/widgets-access/>: задает домен внешнего ресурса.
Можно использовать звездочку (*), чтобы указать неограниченный доступ к сетевым ресурсам.
- Subdomains <http://www.w3.org/TR/widgets-access/>: определяет, является ли запросы на доступ, также действительным на подобластях или нет (true/false).element <http://dev.opera.com/articles/view/extensions-api-config-span>
- элементом служит оболочкой для текстового содержимого, как правило, с целью интернационализации. Имеет следующие атрибуты.
- Xml:lang attribute <http://dev.opera.com/articles/view/extensions-api-config-xml-lang>
- атрибут, определяющий язык текста, содержащийся в элементе. Необязателен и используется только в целях локализации.
- Dir attribute <http://dev.opera.com/articles/view/extensions-api-config-dir>
- атрибут, определяющий язык, используемый в элементе со следующими значениями:»ltr»: текст слева направо;
- «rtl»: текст справа налево;»lro»: переопределить текст слева направо;»rlo»: переопределить текст справа налево.
ДЕТАЛЬНАЯ СТРУКТУРА API, .1 Компоненты коммуникаций
Общение между различными частями расширения осуществляется либо с помощью фонового процесса или API сообщений.
Технология цифровой абонентской линии (Digital Subscribe Line, DSL)
... больше не пожалуется, что часами не может к вам прозвониться. Благодаря многообразию технологий DSL пользователь может выбрать подходящую именно ему скорость передачи данных — от 32 Кбит/с ... для таких широкополосных систем, как видео по запросу или дистанционное обучение. Современные технологии DSL приносят возможность организации высокоскоростного доступа в Интернет в каждый дом или на ...
Сценарий фона и введённый сценарии <http://dev.opera.com/articles/view/extensions-api-messaging/> изолированы друг от друга и поэтому должны использовать API сообщений для общения. Другие части расширения, например, всплывающие окна <http://dev.opera.com/articles/view/extensions-api-messaging/>, могут также получить доступ сценариям фонового процесса с помощью обмена сообщениями, но проще использовать объект bgProcess — объект, который ссылается на объекты окон фоновых сценариев, Он используется для установки и получения переменных и функций, используемых сценарием фона, всплывающими окнами или предпочтёнными
Фоновый процесс представляет собой процесс, постоянно работающий в фоновом режиме на протяжении всего времени работы приложения. Он отвечает за элементы пользовательского интерфейса браузера и действия браузера [4].
- extension.bgProcess — ссылка на объект окна фонового процесса.
Opera.extension.onconnect / Opera.extension.ondisconnect — эти события слушателя вызываются, когда введённый сценарий, всплывающее окно, или предпочтённая страница создается / разрушается, и необходимо создать / разрушить связь. Источником события является messagePort, который обеспечивает связь с окружающей средой..extension.broadcastMessage () — функция, используемая для передачи данных из фонового процесса во все подключенные среды, связанные с расши-рением (предпочтенные страницы, всплывающие окна, введённые сценарии).
Opera.extension.onmessage — это событие слушателя вызывается при получении сообщения от введённого сценария, всплывающего окна или предпочтенной страницы. Источником событие является messagePort.
3.2 Мультимедийные компоненты
<http://dev.opera.com/articles/view/extensions-api-config-icon>con element (элемент значок) — SVG, ICO, PNG, GIF или JPG-файл с именем «икона» может присутствовать в расширении пакета (например: «icon.png ‘).
Имеет атрибуты высота ширина и crs-атрибут. В элемент URL заносится, где расположен данный значок. У значков кнопок на панели задач могут быть следующие атрибуты и свойства..backgroundColor — цвет фона для значка, задаётся в шестнадцате-ричном формате, формате RGBA или в виде цветовой константы (например, #afafaf; (200, 200, 200, 0); blue).
Badge.color — цвет текста значка. Badge.display — свойство, определяющее должен ли отображаться значок. Допустимые значения: «block» и «none»(по умолчанию «none»).
Badge.textContent — текст, который будет показан на значке, при условии переполнения визуального пространства, которое обычно составляет около четырех символов. Button.badge — это свойство представляет значок для кнопки. Button.title — это свойство представляет титул для кнопки (выглядит в виде всплывающей подсказки при наведении курсора на кнопку с помощью мыши).
Интернет браузеры
... стремительно падать, упав ниже порога в 90 процентов. Возможности браузера Браузер — окно в Интернет. С помощью этой программы мы можем ... своего продукта до ума и внедрением в него новых функций - по мере роста Сети стремительно росло количество идей ... С 1997 года норвежскими программистами велись работы над созданием браузера Opera, который при создании продумывался с точки зрения удобства ...
Button.icon — это свойство представляет значок для кнопки. Может ссылаться на внутренний путь к данным, если изображение находится внутри пакета, или может указывать на внешний URL..icon — атрибут пункта контекстного меню, являющийся URL-адресом, указывающим на внутренний образ, или абсолютным URL-адресом, указывающим на внешнее изображение. Позволены графические форматы BMP, GIF (не анимированный), ICO, JPG, PNG и WebP. Для достижения наилучших результатов, икона должна быть квадратной и малых размеров (16х16 пикселей).
3.3 Компоненты для работы с данными
API объекта Виджет
Объект Виджет — предоставляет функции для доступа к метаданным расширениям и хранимым данным. Это могут быть доступные из любой из среды расширения, такие как фоновый процесс, всплывающее окно или страница предпочтений. Виджет также используется для получения информации из config.xml.
Объект виджет — это объект для чтения, он не может быть использован для редактирования или хранения записей. Widget.author <http://dev.opera.com/articles/view/extensions-api-widget-author>
- атрибут объекта виджет, который соответствует автору элемента в конфигурационном файле. Widget.author <http://dev.opera.com/articles/view/extensions-api-widget-author>Email — электронной почте автора. Widget.authorHref — соответствует атрибуту href. Widget.description — соответствует элементу описания в конфигурации. Widget.id — соответствует ID атрибуту элемента виджет. Widget.name — элементу имя. Widget.shortName — атрибуту элемента короткого имени. Widget.version — атрибуту версии элемента виджет [4].
Все вышепе-речисленные атрибуты будут содержать значения, если соответствующие им элементы config.xml были заполнены. Widget.preferences — реализует HTML5 DOM Storage <http://www.w3.org/TR/webstorage/> интерфейс, что позволяет считывать/записывать доступ к имени и правилам использования любого элемента, объявленного в конфигурации. ресурса подгрузчика
Из-за модели безопасности, которую использует opera.extensions, захват локального файла из некоторых частей расширение невозможен. Например, введённый скрипт не всегда может получить доступ к файлу изображения, даже если оно было в том же пакете, что и расширения. Обходной путь заключается в использовании XMLHttpRequest (AJAX) на фоне сценария, но это громоздко и по-прежнему ограниченно. API ресурса подгрузчика призван решить эту проблему, позволяя легко получить доступ к любому файлу в расширении пакета, из любой части расширения.
Оpera.extension.getFile() — функция, которая получает определённый файл из пакета расширения. Параметр Path — путь к файлу из пакета расширения..extension.getScreenshot() или BrowserTab.getScreenshot() — функция захвата скриншота страницы в закладки.scripts API
Существует возможность изменения web-страницы с помощью введённых сценариев. Это файлы JavaScript находящиеся внутри папки с расширением. Опера будет выполнять данный сценарии на всех страницах, или на страницах определенных сайтов и доменов, для которых они были написаны.
Можно, например, создать сценарии, которые скрывают комментарии на YouTube, написанные верхним регистром, или сделать все текстовые ссылки на все web-страницы розового цвета.
Сравнительный анализ браузеров
... сравнительную характеристику рассмотренных браузеров. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Браузер (от англ. web browser) – программное обеспечение для просмотра различных веб-сайтов, то есть для запроса веб-страниц, их обработки, вывода и ... лишь 5 браузеров: Internet Explorer , Opera, Google Chrome, Mazilla Firefox и Yandex . А теперь, о каждом поподробнее. Internet Explorer Стиль оформления браузера в общих чертах ...
Opera.defineMagicFunction () — функция, используемая для переопределения глобальных функций, определенных постоянными сценариями страницы.
Opera.defineMagicVariable() — функция, используемая для переопределения глобальных переменных, определенных постоянными сценариями страницы.
Opera.postError() — функция, записывающая текст и номер ошибки в консоли ошибок.
3.4 Инфраструктурные компоненты
кнопок и значковпанели инструментов браузера является частью API фоновых процессов. Эта часть касается контекста панели инструментов браузера, которая позволяет создавать и манипулировать кнопками, значками всплывающими окнами. Кнопки и значки являются основными компонентами пользовательского интерфейса.
Opera.contexts.toolbar.createItem () — функция, которая создаёт кнопку.
Opera.contexts.toolbar.addItem() — функция, которая добавляет кнопку на панель инструментов браузера.
Opera.contexts.toolbar.removeItem() — функция, которая удаляет ранее созданную кнопку с панели
Button.disabled — это свойство указывает, отключена ли кнопка. По умолчанию ложно (то есть кнопка включена).
Button.onclick — это свойство раскрывает, что будет выполняться при нажатии кнопки.
API окон
Окна браузера представляет собой графический пользовательский интерфейс, который может содержать ноль или более вкладок браузера или группу вкладке браузера. Каждое окно браузера имеет соответствующий набор вкладок и набор групп вкладок. Окно браузера — контекстное окно каждой вкладки браузера и группы вкладки браузера в пределах своего набора вкладок и набора групп вкладок соответственно. Коллекция из окон браузера, называется коллекцией окон.
Opera.extension.windows.create() -функция, создающая новое окно браузера..extension.windows.getAll() — функция, которая даёт возможность получить определённый набор окон.
Opera.extension.windows.getLastFocused() — функция, позволяющая получить выбранное окно браузера, если такое имеется..insert() — функция, позволяющая вставить указанную группу вкладок или вкладку браузера в данное окно браузера, в указанное место..close() — функция, закрывающая окно браузера..focus() — функция, дающая возможность сосредоточиться на окне браузера.
BrowserWindow.update() — функция, предоставляющая возможность обно-вления свойств окна браузера.
BrowserWindow.closed — атрибут, сообщающий о закрытии окна браузера (true — закрыто, false — открыто).
BrowserWindow.height; BrowserWindow.width <http://dev.opera.com/articles/view/extensions-api-window-width>; BrowserWindow.top <http://dev.opera.com/articles/view/extensions-api-window-top> и BrowserWindow.left <http://dev.opera.com/articles/view/extensions-api-window-left>
- атрибуты, устанавливающие высоту, ширину, отступ сверху и отступ слева окна браузера соответственно. BrowserWindow.id — атрибут, который является уникальным ID-идентификатором для определённого окна браузера [4].
BrowserWindow.focused — предоставляет сведения о состояние окна браузера (true — сфокусировано, False — нет).
Основные настройки браузеров
... Восстановить значения по умолчанию. Все параметры данной вкладки в зависимости от функционального назначения разделены на группы: Microsoft VM, Безопасность, Мультимедиа, Настройка HTTP 1.1, Обзор, Печать, Поиск из ... при посещении вебузла, на котором используются программы Java, браузер автоматически создаст такие программы и запустит их. Иначе говоря, этот флажок включает режим использования в ...
BrowserWindow.private — атрибут проверяет, открыто ли окно браузера в режиме конфиденциальности (true — да, false — нет).
BrowserWindow.tabs — атрибут предоставляет менеджера вкладки окна.всплывающих окон
Кнопки панели инструментов расширения могут быть легко запрограмми-рованы открывать всплывающее окно. Это всплывающее окно отображает содержимое HTML файла и закрывается, когда пользователь снова нажимает на кнопку на панели инструментов. Существует несколько атрибутов и методов, относящихся к элементу всплывающее окно, они описаны ниже..height; Popup.width — высота и ширина всплывающего окна (по умолчанию 300 пикселей).
Popup.href — ссылка на страницу всплывающего окна.
Opera.extension.onmessage — это событие генерируется при получении сообщения от BackgroundProcess.
Opera.extension.postMessage () — эта функция используется для отправления сообщений в BackgroundProcess расширения.
API вкладок
Вкладка браузера представляет собой компонент графического пользо-вательского интерфейса, который представляет собой одну страницу, содержащуюся в окне браузера. Каждая вкладка браузера связана с окном браузера и может быть связана с группой вкладок браузера. Пользователь может переключаться между вкладками браузера для доступа к различным страницам. Выбор вкладки браузера переносит эту страницу в фокус. Коллекция вкладок браузера называется набором вкладок.
Opera.extension.tabs.create() — функция, создающая новую вкладку браузера, глобально, вместе с окне контекстным окном или группой вкладок.
Opera.extension.tabs.getAll() — функция, дающая возможность получить набор вкладок..extension.tabs.getSelected() — функция, дающая возможность получить выбранные вкладки браузера, глобально, в контекстном окне или группе вкладок.
BrowserTab.focus() — функция, дающая возможность сосредоточиться на определённой вкладке браузера..update() — функция, предоставляющая возможность обновления свойств вкладки браузера..close() — функция, закрывающая вкладку браузера..id — приписывает уникальный ID -идентификатор определённой вкладке браузера. BrowserTab.closed — сообщает о закрытии вкладки (true — закрыта, false — нет).
BrowserTab.locked — предоставляет информацию о заблокированном состоянии вкладки браузера (true — заблокирована, false — нет).
BrowserTab.private — предоставляет режим конфиденциальности вкладке браузера. (true — вкладка открыта в режиме конфиденциальности, false — нет).
BrowserTab.selected — содержит состояние вкладки браузера(true — выбрана, false — нет).
BrowserTab.readyState — предоставляет текущую степень готовности документа <http://www.w3.org/TR/html5/dom.html > на странице вкладки браузера. HTML или XML файл имеет свой текущий уровень готовности документа. BrowserTab.url — предоставляет URL вкладки браузера. BrowserTab.title — предоставляет название текущего документа вкладки. BrowserTab.browserWindow — предоставляет контекстное окно. BrowserTab.tabGroup — предоставляет контекстную группу вкладок. BrowserTab.position — предоставляет текущую позицию вкладки. Положение возвращается только, если вкладка браузера открыта, в противном случае возвращается NaN. BrowserTab.focused — возвращает состояние вкладки браузера (сфокусированное или не сфокусированное).
Wiki-технологии. Wiki-технология в образовании
... благодаря Wiki -технологиям. В данной работе будет рассмотрена интернет технология Целью работы является исследование возможностей Wiki -технологий, выявление актуальности использования Wiki -технологий в ... определить понятие, изучить развитие, основные характеристики Wiki -технологий; охарактеризовать возможности Wiki -технологий в образовании. ИСТОРИЯ Wiki – это коллекция взаимосвязанных между ...
API групп вкладок
Группа вкладке браузера представляет собой компоненты графического пользовательского интерфейса, содержащегося в окне браузера, который может содержать ноль или более вкладок браузера. Каждая группа вкладок браузера имеет соответствующий набор вкладок и связана с контекстом окна. Группа вкладок находится в пределах связанной с ней коллекции вкладок. Коллекцию групп вкладок браузера называют набором групп вкладок.
Opera.extension.tabGroups.create () — функция, дающая возможность создать новую группу вкладок браузера, глобально или в контексте окна..extension.tabGroups.getAll() — функция, с помощью которой можно получить набор группы вкладок..focus() — функция, дающая возможность сосредоточиться на группе вкладок браузера..close() — функция, закрывающая группу вкладок браузера вместе со всеми вкладками браузера в пределах соответствующего набора групп вкладок..insert() — функция, дающая возможность вставить вкладки браузера в группу вкладок браузера, до указанного child , если он предусмотрен.
BrowserTabGroup.update() — функция, предоставляющая способ для обновления свойств группы вкладок браузера..id — является уникальным ID-идентификатором для определённой группы вкладок браузера. BrowserTabGroup.collapsed — предостав-ляет свёрнутое состояние группе вкладок браузера(true — свёрнута, false — нет).
BrowserTabGroup.closed — сообщает о закрытии группы вкладок. (true — закрыта, false — нет).
BrowserTabGroup.browserWindow — предоставляет контекстное окно. BrowserTabGroup.tabs — вызывает менеджер вкладок. BrowserTabGroup.position — получает вкладку, в качестве положения этой группы вкладок браузера, если группа вкладок открыта. В противном случае возвращает NaN.контекстного менюконтекстного меню позволяет добавить пункт в контекстное меню расширения, иначе известный как меню правой кнопки мыши. В расширение можно добавить только один пункт в контекстное меню, но этот пункт может содержать различные слои подпунктов, похожие на папки/подпапки. Можно указать, будет ли пункт контекстного меню появляться только на определенных доменах или типах элементов (например, только на ссылках, только на фото-графиях, и т.д.) Когда пункт контекстного меню нажат, можно получить такие данные, как адрес текущего элемента или текст, который выбрал пользователь.
Opera.contexts.menu.createItem() — функция, создающая новый пункт в контекстном меню.
Opera.contexts.menu.addItem() или MenuItem.addItem() — функция, которая добавляет пункт в контекстное меню или в пункт контекстного меню.
Opera.contexts.menu.removeItem() или MenuItem.removeItem() — функция, удаляющая пункт из контекстного меню или из пункта контекстного меню.
Контрольная работа: Протокол динамического распределения адресов ...
... быть готов к обмену пакетами с любой другой ЭВМ в Интернет. Протокол DHCP позволяет, но не требует конфигурации параметров клиента, не имеющих прямого отношения к ... постоянное присвоение конфигурационных параметров для заданного клиента. 1.3 Краткий обзор протокола С точки зрения клиента, DHCP является расширением механизма BOOTP. Такая схема позволяет существующим BOOTP-клиентам ...
Оpera.contexts.menu.item() and MenuItem.item() — функция, которая получает пункт меню из контекстного меню браузера или иного пункта меню..documentURL — содержит адрес на рамку для элемента, который был выбран. MenuEvent.isEditable — показывает, является ли пункт меню редактируемым (true), или нет (false по умолчанию).
MenuEvent.linkURL — URL ссылка на событие, вызвавшее активацию пункта контекстного меню. MenuEvent.mediaType — содержит тип медиа-элемента, с помощью которого событие было активировано. MenuEvent.pageURL — URL-адрес документа верхнего уровня текущей web-страницы. MenuEvent.selectionText — отвечает за выбранный пользователем текст. MenuEvent.source / MenuEvent.srcElement — содержит MessagePort / страницу DOMNode текущего объекта вкладки браузера, на которых событие было остановлено [4].
MenuEvent.srcURL — является значением атрибута SRC элемента, на котором было активировано событие (такие элементы как <image> или <video>
— .быстрого набора это стартовая страница, которая открывается всё время, при открытии новой вкладки. Для того чтобы знать о содержании ячейки быстрого набора расширения Опера, разработчик заявляет в конфигурации документа (config.xml) о предпочтении содержания, которое хотелось бы отображать. Это делается с помощью комбинирования функций запроса, названных быстрым набором, и объявление поддержки для сведения к минимуму режима просмотра. Кроме того, действительный URI должен быть указан в атрибуте виджет элемента config.xml. Это является необходимым условием для расширении SpeedDial, так как должно быть обеспечено для всех расширений.
Для написания расширений можно использовать SpeedDialContext API, который доступен как объект opera.contexts.speeddial в фоновом режиме. SpeedDialContext API дает разработчикам возможность читать и изменять название и адрес ячейки быстрого набора. Разработчикам, однако, следует убедиться, что в приложении необходимо использование SpeedDialContext API..contexts.speeddial.title — элемент, предоставляющий собой название, заданное ячейке быстрого набора. Если он не указан, то по умолчанию записано имя внутреннего абонента (указанный в config.xml файле)..contexts.speeddial.url — элемент, представляющий собой целевой URL ячейки быстрого набора при нажатии или активировании. Это может быть ссылка, как на внешнюю страницу, так и на локальный файл в расширении. Если она не указана, то по умолчанию вызывается функция запроса URL (указанного в config.xml файле).element <http://dev.opera.com/articles/view/extensions-api-speeddial-feature>
- функция запроса расширения, отображающая его содержание в ячейке быстрого набора. Требует один параметр, URL параметр, как дочерний элемент. element <http://dev.opera.com/articles/view/extensions-api-speeddial-param>
- функция быстрого набора запроса. Имеет атрибут имя параметра, которым является строка, и атрибут значение параметра, который является действительным непустым URL адресом.
3.5 Компоненты безопасности
фильтрации URL адресов
Фильтрация URL адресов для расширения опера определяется интерфейсом DOM, который позволяет добавить в расширение временные правила блокирования адресов, помимо правил установленных производителем. Правила, добавленные с помощью этого API, применяются до тех пор, пока расширение работает. После выхода из расширения или отключения браузера, временные правила игнорируются. Чтобы включить фильтр URL, оперы: URLfilter функция должна быть добавлена в элемент «функция» в config.xml файле.
Глобальная сеть Интернет: протоколы, системы доступа
... сетями. Но в большинстве сетей организован обмен информацией с другими компьютерными сетями по протоколу TCP/IP, эта сеть сама становится частью Интернет. 3. Средства доступа ... пропускной способности и просто в подключении к локальным и глобальным сетям растут с каждым днем. Для ... в 1975 году ARPANET превратилось из экспериментальной в рабочую сеть. Ответственность за администрирование сети взяло на ...
Opera.extension.urlfilter.block.add () — функция, добавляющая правило в виртуальный список заблокированных URL-адресов.
Opera.extension.urlfilter.block.remove() — функция, удаляющая правило из виртуального списка заблокированных URL-адресов..extension.urlfilter.allow.add() — функция, добавляющая правило, с сопутствующими вариантами, в виртуальный список разрешенных URL-адресов (белый список)..excludeDomains / RuleOptions.includeDomains — массивы из нуля или более доменов, к которым не применимо/применимо данное правило URL-фильтрации. Эти два свойства передается в объект RuleOptions в качестве параметров для функций фильтрации URL [4].
RuleOptions.resources — значение, указывающее на типы ресурсов, к которым применимо данное правило URL-фильтрации. RuleOptions.thirdParty — логическое свойство, определяющее, распространяются ли данные правила URL-фильтрации на сторонние домены. Значение истина показывает, что фильтрация распространяется только на домены различного происхождения. Значение ложь показывает, что фильтрация распространяется только на домены того же самого происхождения. Значение NULL показывает, что все домены попадают под правило URL-фильтрации.
Синтаксис URL фильтра включает специальные символы, которые будут использоваться для более гибкой фильтрации. Символ «*» соответствует любому символу, символ «^» соответствует одному символу из следующего списка: ! «# $ & ‘() * +, /:;? <=> @ [\] ^` {|} ~, символ «| |» совпадает с началом любого хоста.
СТАНДАРТЫ БРАУЗЕРА OPERA
Стандартизация является необходимым компонентом в понимании отрытой информационной системы. Стандарты унифицируют какие-либо объекты, свойства или методы, что упрощает обеспечение взаимодействия между информационными системами и их компонентами.
Браузеры предназначены в первую очередь для просмотра web-сайтов <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82>, то есть для запроса web-страниц <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0>, следовательно, они обладают поддержкой большого количества web-стандартов (сюда входят стандарты по представлению данных, поддержке сетевых протоколов, поддержке языков описания web-документов).
Также могут поддерживаться стандарты шифрования данных, стандарты на форматы данных, стандартов архитектуры ПО, стандартов лицензирования ПО, и т д.
В настоящее время существуют специальные организации, занимающиеся стандартизацией. Если рассмотреть стандартизацию в сфере, связанной с информационными системами, то можно выделить несколько крупных организаций.
IEEE (Institute of Electrical and Electronics Engineers) — институт, разрабатывающий стандарты для локальных сетей.
IETF (Internet Engineering Task Force) — рабочая группа, по стандартизации протоколов сети Интернет.C (World Wide Web Consortium) — консорциум всемирной паутины, стандартизует web-технологии.
Организация по стандартизации ISO, в частности, объединенный технологический комитет ISO/IEC JTC 1, который занимается всеми вопросами связанными со стандартами в области информационных технологий <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8>, техноло-гический комитет ISO/TS 46 «информации и документации, и технологический комитет ISO/TS 154 «Процессы, элементы данных и документы в коммерции».
ITU-T — международный телекоммуникационный союз.
Существуют и другие компании и организации, занимающиеся стандартизацией в сфере информационных систем
4.1 Стандарты шифрования данных
RFC5246 <http://tools.ietf.org/html/rfc5246> The Transport Layer Security (TLS) Protocol Version 1.2
Принят IETF совместно с W3C в августе 2008 года [13].
TLS (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Transport Layer Security — безопасность транспортного уровня), как и его предшественник SSL (англ. Secure Socket Layers — уровень защищенных сокетов) — криптографические <http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F> протоколы, обеспечивающие защищённую переда-чу данных между узлами в сети Интернет <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>. TLS и SSL используют асимметричную криптографию <http://ru.wikipedia.org/wiki/%D0%90%D1%81%D0%B8%D0%BC%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F> для обмена ключами, симметричное шифрование <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B> для конфиден-циальности и коды аутентичности сообщений <http://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%B8%D1%82%D0%BE%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0> для сохранения целостности сообщений.
Данный протокол широко используется в приложениях, работающих с сетью Интернет <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>, таких как web-браузеры <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80>, работа с электронной почтой <http://ru.wikipedia.org/wiki/E-mail>, обмен мгновенными сообщениями <http://ru.wikipedia.org/wiki/IM> и IP-телефония (VoIP) <http://ru.wikipedia.org/wiki/VoIP>протокол основан на спецификации протокола SSL <http://ru.wikipedia.org/wiki/SSL> версии 3.0, раз-работанной компанией Netscape Communications <http://ru.wikipedia.org/wiki/Netscape_Communications>. Сейчас развитием стандарта TLS занимается IETF <http://ru.wikipedia.org/wiki/IETF>.
RFC6749 The OAuth 2.0 Authorization Framework
Принят IETF в октябре 2012 года [15].
RFC2818 HTTP Over TLS
Принят IETF в мае 2000 года [11].
HTTPS (Hypertext Transfer Protocol Secure) — расширение протокола <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> HTTP <http://ru.wikipedia.org/wiki/HTTP>, поддерживающее шифрование <http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5>. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL <http://ru.wikipedia.org/wiki/SSL> или TLS <http://ru.wikipedia.org/wiki/TLS>, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP <http://ru.wikipedia.org/wiki/TCP>
- порт <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%82_(TCP/IP)>
- 443.
Система была разработана компанией Netscape Communications Corporation <http://ru.wikipedia.org/wiki/Netscape_Communications>, чтобы обеспечить аутентификацию <http://ru.wikipedia.org/wiki/%D0%90%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F> и защищённое соединение. HTTPS широко используется в web-мире для приложений, в которых важна безопасность соединения, например, в платежных системах.
4.2 Стандарты передачи данных
RFС2616 Hypertext Transfer Protocol — HTTP/1.1
Принят IETF совместно с W3C в июне 1999 года [10].
HTTP (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> HyperText Transfer Prоtocоl — протокол передачи гипертекста <http://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%B5%D1%80%D1%82%D0%B5%D0%BA%D1%81%D1%82>) — протокол <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB> прикладного уровня <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F> передачи данных (изначально в виде гипертекстовых документов).
Основой HTTP является технология «клиент-сервер» <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>, то есть предполагается существование потребителей (клиентов <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B9)>
- , которые инициируют соединение и посылают запрос, и поставщиков (серверов <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80_(%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5)>
- , которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. В настоящее HTTP время повсеместно используется во Всемирной паутине <http://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D1%83%D1%82%D0%B8%D0%BD%D0%B0>
- для получения информации с web-сайтов <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82>.
RFC959 File Transfer Protocol (FTP)
Принят IETF совместно с ISI в 1985 году [6].
FTP (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> File Transfer Protocol — протокол передачи <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> файлов) — стандартный протокол <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB>, предназначенный для передачи файлов по TCP-сетям (например, Интернет).
FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом <http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9_%D1%82%D0%B5%D0%BA%D1%81%D1%82>, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH <http://ru.wikipedia.org/wiki/SFTP> для безопасной передачи, шифрующей логин и пароль, а также шифрующей содержимое.является одним из старейших прикладных протоколов (появился в 1971 году <http://ru.wikipedia.org/wiki/1971_%D0%B3%D0%BE%D0%B4>
- . Он и сегодня широко используется для распространения ПО <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>
- и доступа к удалённым хостам <http://ru.wikipedia.org/wiki/%D0%A5%D0%BE%D1%81%D1%82>.
RFC5321 Simple Mail Transfer Protocol
Принят IETF в октябре 2008 года [14].
SMTP (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Simple Mail Transfer Protocol — простой протокол передачи почты) — это широко используемый сетевой протокол <http://ru.wikipedia.org/wiki/IP>, предназначенный для передачи электронной почты <http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D1%87%D1%82%D0%B0> в сетях TCP/IP.впервые был описан в RFC 821 <http://tools.ietf.org/html/rfc821> (1982 год); последнее обновление в RFC 5321 <http://tools.ietf.org/html/rfc5321> (2008) включает масштабируемое расширение — ESMTP (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Extended SMTP).
В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты с использованием порта <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%82_(TCP/IP)> TCP <http://ru.wikipedia.org/wiki/TCP> 25.
Электронные почтовые серверы <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80> и другие агенты пересылки сообщений используют SMTP для отправки и получения почтовых сообщений, клиентские почтовые приложения обычно используют SMTP только для отправки сообщений на почтовый сервер для ретрансляции. Для получения сообщений клиентские приложения обычно используют либо POP <http://ru.wikipedia.org/wiki/POP3>, либо IMAP <http://ru.wikipedia.org/wiki/IMAP>, либо патентованные системы для доступа к учетной записи своего почтового ящика на сервере.
RFC1939 Post Office Protocol — Version 3
Принят IETF в мае 1996 года [9].
POP3 (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Post Office Protocol Version 3 — протокол <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> почтового отделения, версия 3) — стандартный Интернет-протокол прикладного уровня <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F>, используемый клиентами электронной почты <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0> для извлечения электронного сообщения с удаленного сервера <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80> по TCP/IP <http://ru.wikipedia.org/wiki/TCP/IP>
- соединению.и IMAP <http://ru.wikipedia.org/wiki/IMAP>
- (Internet Message Access Protocol) — наиболее распростра-ненные Интернет <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>
— протоколы для извлечения почты. Практически все современ-ные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3).
Предыдущие версии протокола (POP, POP2) устарели.
RFC3510 Intrrnet Message Access Protochol — Version 4rev1
Принят IETF в марте 2003 года [12].
IMAP (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Internet Message Access Protocol) — протокол <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB> прикладного уровня для доступа к электронной почте <http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D1%87%D1%82%D0%B0>.
Базируется на транспортном протоколе TCP и использует порт 143. IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80_(%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)>. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)>
- без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.
BEP 0003 The BitTorrent Protocol Specification
Принят 10 января 2008 года. Автор: Bram Cohen [28].
BitTórrent (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> «битовый поток <http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA>») — пиринговый <http://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D1%80%D0%B0%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C> (P2P <http://ru.wikipedia.org/wiki/P2P>
- сетевой протокол <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB>
- для кооперативного обмена файлами <http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB>
- через Интернет <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>.
Файлы передаются частями, каждый torrent-клиент <http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных <http://ru.wikipedia.org/wiki/%D0%98%D0%B7%D0%B1%D1%8B%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85>.
Протокол был создан Брэмом Коэном <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%8D%D0%BD,_%D0%91%D1%80%D1%8D%D0%BC>, написавшим первый torrent-клиент «BitTorrent <http://ru.wikipedia.org/wiki/BitTorrent_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)>» на языке Python <http://ru.wikipedia.org/wiki/Python> 4 апреля <http://ru.wikipedia.org/wiki/4_%D0%B0%D0%BF%D1%80%D0%B5%D0%BB%D1%8F> 2001 года <http://ru.wikipedia.org/wiki/2001_%D0%B3%D0%BE%D0%B4>. Запуск первой версии состоялся 2 июля <http://ru.wikipedia.org/wiki/2_%D0%B8%D1%8E%D0%BB%D1%8F> 2001 года <http://ru.wikipedia.org/wiki/2001_%D0%B3%D0%BE%D0%B4>.
RFC1034 Domain Names — Concept and FacilitiesDomain Names — Implementation and Specification
Приняты IETF в ноябре 1987 года [7] [8].
DNS (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Domain Name System — система доменных имён) — компьютерная распределённая система <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста <http://ru.wikipedia.org/wiki/%D0%A5%D0%BE%D1%81%D1%82> (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись <http://ru.wikipedia.org/wiki/SRV-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C>).
Распределённая база данных <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> DNS поддерживается с помощью иерархии DNS-серверов <http://ru.wikipedia.org/wiki/DNS-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>, взаимодействующих по определённому протоколу <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85>.
Основой DNS является представление об иерархической структуре доменного имени <http://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B8%D0%BC%D1%8F> и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
4.3 Стандарты графики
REC-SVG11-20110816 Scalable Vector Graphics (SVG) 1.1
Принят W3C 16 августа 2011 года [19].
SVG (от англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Scalable Vector Graphics — масштабируемая <http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D1%8C> векторная графика <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0>) — язык разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8> масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) <http://ru.wikipedia.org/wiki/W3C> и входящий в подмножество расширяемого языка разметки XML <http://ru.wikipedia.org/wiki/XML>, предназначен для описания двумерной векторной и смешанной векторно/растровой <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0> графики в формате XML. Поддерживает как неподвижную, так и анимированную интерактивную графику — или, в иных терминах, декларативную и скриптовую. Не поддерживает описание трёхмерных объектов (не путать с имитацией трёхмерности путём светотени).
В основу SVG легли языки разметки VML <http://ru.wikipedia.org/wiki/VML> и PGML <http://ru.wikipedia.org/wiki/PGML>. Разрабатывается с 1999 года. В 2001 году вышла версия 1.1, которая остается актуальной до сегодняшнего дня. В настоящее время в активной разработке находится версия 1.2.
ISO/IEC 10918-1:1994 Information technology — Digital compression and coding of continuous-tone still images: Requirements and guidelines
Принят ISO/IEC в апреле 1994 года [22].
JPEG (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Joint Photographic Experts Group, по названию организации-разработчика <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0_%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%BE%D0%B2_%D0%BF%D0%BE_%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8>) — один из популярных графических форматов <http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B>, применяемый для хранения фотоизображений <http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F> и подобных им изображений. Файлы, содержащие данные JPEG, обычно имеют расширения <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0> (суффиксы) .jpeg, .jfif, .jpg, .JPG, или .JPE. Однако из них .jpg является самым популярным на всех платформах. MIME <http://ru.wikipedia.org/wiki/MIME>
- типом является image/jpeg. Алгоритм JPEG позволяет сжимать изображение как с потерями <http://ru.wikipedia.org/wiki/%D0%A1%D0%B6%D0%B0%D1%82%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%81_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8F%D0%BC%D0%B8>, так и без потерь <http://ru.wikipedia.org/wiki/%D0%A1%D0%B6%D0%B0%D1%82%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C>
- (режим сжатия lossless JPEG).
Поддерживаются изображения с линейным размером не более 65535×65535 пикселей.
ISO/IEC 15948:2004 Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification
Принят ISO в марте 2004 [23].
PNG (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> portable network graphics) — растровый <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0> формат хранения графической информации, использующий сжатие без потерь <http://ru.wikipedia.org/wiki/%D0%A1%D0%B6%D0%B0%D1%82%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C> по алгоритму Deflate <http://ru.wikipedia.org/wiki/Deflate>.
Формат PNG спроектирован для замены устаревшего и более простого формата GIF <http://ru.wikipedia.org/wiki/GIF>, а также, в некоторой степени, для замены значительно более сложного формата TIFF <http://ru.wikipedia.org/wiki/TIFF>. Формат PNG позиционируется прежде всего для использования в Интернете <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82> и редактирования графики.поддерживает три основных типа растровых изображений <http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B2%D0%BE%D0%B5_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>:
- Полутоновое изображение <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D1%83%D1%82%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%B5_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>
- (с глубиной цвета <http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D0%B0_%D1%86%D0%B2%D0%B5%D1%82%D0%B0>
- 16 бит)
- Цветное индексированное изображение <http://ru.wikipedia.org/wiki/%D0%A6%D0%B2%D0%B5%D1%82%D0%BD%D0%BE%D0%B5_%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>
- (с глубиной цвета 24 бит)
- Полноцветное изображение <http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D0%BE%D1%86%D0%B2%D0%B5%D1%82%D0%BD%D0%BE%D0%B5_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>
- (с глубиной цвета 48 бит)
Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь, в отличие, например, от JPEG <http://ru.wikipedia.org/wiki/JPEG> с потерями.
GIF87a Graphics Interchange Format ™
Принят CompuServe Incorporated 15 июня 1987 года [27].
GIF (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Graphics Interchange) — популярный формат графических изображений. Способен хранить сжатые данные без потери качества в формате не более 256 цветов <http://ru.wikipedia.org/wiki/8-%D0%B1%D0%B8%D1%82%D0%BD%D1%8B%D0%B9_%D1%86%D0%B2%D0%B5%D1%82>. Не зависящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW <http://ru.wikipedia.org/wiki/LZW>
- компрессию, что позволяет неплохо сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы).
4.4 Стандарты на поддержку языков программирования
ECMA-262 ECMAScript Language Specification 5.1
Принят ISO/IEC в июне 2011года [26].
JavaScript — прототипно-ориентированный <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> скриптовый <http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> язык программиро-вания <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>. Является диалектом <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)> языка ECMAScript <http://ru.wikipedia.org/wiki/ECMAScript>.обычно используется как встраиваемый язык для программного доступа к объектам приложений <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0>. Наиболее широкое применение находит в браузерах <http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80> как язык сценариев для придания интерактивности <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C> <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0>.
Основные архитектурные черты: динамическая типизация <http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F>, слабая типизация, автоматическое управление памятью <http://ru.wikipedia.org/wiki/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0>, прототипное программирование <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5>, функции как объекты первого класса <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0>.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами <http://ru.wiktionary.org/wiki/%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C-%D0%BD%D0%B5%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82>. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в web-разработке.
Название «JavaScript» является зарегистрированным товарным знаком <http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D1%8B%D0%B9_%D0%B7%D0%BD%D0%B0%D0%BA> компании Oracle Corporation <http://ru.wikipedia.org/wiki/Oracle_Corporation>.
ISO/IEC 14882:2011 Information technology — Programming languages — C++
Принят ISO/IEC 23 июля 2011 года [24].
C++ — компилируемый <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80> статически типизированный <http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F> язык программирования <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F> общего назначения.
Поддерживает такие парадигмы программирования <http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%B8%D0%B3%D0%BC%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F> как процедурное программирование, объектно-ориентированное программирование, обобщенное программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых <http://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>, так и низкоуровневых языков <http://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%B7%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>. В сравнении с его предшественником — языком <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)>, — наибольшее внимание уделено поддержке объектно-ориентированного <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> и обобщённого программирования <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5>.
4.5 Стандарты представления данных
REC-XML11-20060816 <http://www.w3.org/TR/2006/REC-xml11-20060816> Extensible Markup Language (XML) 1.1
Принят W3C 16 августа 2006 года [17].
XML (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> eXtensible Markup Language — расширяемый язык разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8>) — рекомендованный Консорциумом Всемирной паутины <http://ru.wikipedia.org/wiki/W3C> язык разметки, фактически представляющий собой свод общих синтаксических <http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)> правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных <http://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85>
- , для обмена информацией между программами <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>, а также для создания на его основе более специализированных языков разметки (например, XHTML <http://ru.wikipedia.org/wiki/XHTML>
- . XML является упрощённым подмножеством языка SGML <http://ru.wikipedia.org/wiki/SGML>.
REC-XLST20-20070123 XSL Transformations (XSLT) Version 2.0
Принят W3C 23 января 2007 года [18].
XSLT (eXtensible Stylesheet Language Transformations) — язык преобразования XML <http://ru.wikipedia.org/wiki/XML>
- документов. При применении таблицы стилей XSLT, состоящей из набора шаблонов, к XML-документу (исходное дерево) образуется конечное дерево, которое может быть сериализовано <http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F>
- в виде XML-документа, XHTML <http://ru.wikipedia.org/wiki/XHTML>
- документа (только для XSLT 2.0), HTML <http://ru.wikipedia.org/wiki/HTML>
- документа или простого текстового файла <http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5>. имеет множество различных применений, в основном в области web-программирования и генерации отчётов. Одной из задач, решаемых языком XSLT, является отделение данных от их представления, другой стандартной задачей является преобразование XML-документов из одной XML-схемы <http://ru.wikipedia.org/wiki/XML_Schema>
- в другую.
401-19991224 HTML 4.01 Specification
HTML (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> HyperText Markup Language — «язык разметки гипертекста <http://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%B5%D1%80%D1%82%D0%B5%D0%BA%D1%81%D1%82>») — стандартный язык разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8> документов во Всемирной паутине <http://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D1%83%D1%82%D0%B8%D0%BD%D0%B0>. Большинство web-страниц <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0> создаются при помощи языка HTML (или XHTML <http://ru.wikipedia.org/wiki/XHTML>
- . Язык HTML интерпретируется браузерами <http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80>
- и отображается в виде документа в удобной для человека форме.является приложением («частным случаем») SGML <http://ru.wikipedia.org/wiki/SGML>
- (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO <http://ru.wikipedia.org/wiki/ISO>
- 8879. XHTML <http://ru.wikipedia.org/wiki/XHTML>
- же является приложением XML <http://ru.wikipedia.org/wiki/XML>.CSS2-20110607 <http://www.w3.org/TR/2011/REC-CSS2-20110607>
- Cascading Style Sheets, level 2 Revision 1 (CSS 2.1)
Принят W3C 7 июня 2011 года [20].
CSS (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Cascading Style Sheets — каскадные таблицы стилей) — формальный язык <http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> описания внешнего вида документа, написанного с использованием языка разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8>. CSS используется создателями web-страниц <http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0> для задания цветов <http://ru.wikipedia.org/wiki/%D0%A6%D0%B2%D0%B5%D1%82>, шрифтов <http://ru.wikipedia.org/wiki/%D0%A8%D1%80%D0%B8%D1%84%D1%82>, расположения отдельных блоков и других аспектов представления внешнего вида этих web-страниц. Основной целью разработки CSS являлось разделение описания логической структуры web-страницы (которое производится с помощью HTML <http://ru.wikipedia.org/wiki/HTML> или других языков разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8>
- от описания внешнего вида этой web-страницы (которое теперь производится с помощью формального языка <http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA>
- CSS).
Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах <http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4>
- вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана).
ISO/IEC 10646:2012 Information technology — Universal Coded Character Set
Принят ISO/IEC совместно с Unicode Consortium в мае 2012 [25].
Юникод http://ru.wikipedia.org/wiki/Unicode — cite_note-autogenerated1-1 <http://ru.wikipedia.org/wiki/Unicode> или Уникодhttp://ru.wikipedia.org/wiki/Unicode — cite_note-2 <http://ru.wikipedia.org/wiki/Unicode> (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Unicode) — стандарт кодирования символов <http://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B1%D0%BE%D1%80_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2>, позволяющий представить знаки практически всех письменных языков <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA>.
Стандарт предложен в 1991 году <http://ru.wikipedia.org/wiki/1991_%D0%B3%D0%BE%D0%B4> некоммерческой организацией «Консорциум Юникода» (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Unicode Consortium, Unicode Inc.).
Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы <http://ru.wikipedia.org/wiki/%D0%98%D0%B5%D1%80%D0%BE%D0%B3%D0%BB%D0%B8%D1%84>, математические символы, буквы греческого алфавита <http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B5%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82>, латиницы <http://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D1%82%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82> и кириллицы <http://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0>, при этом становится ненужным переключение кодовых страниц <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0>.
Стандарт состоит из двух основных разделов: универсальный набор символов (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> UCS, universal character set) и семейство кодировок (англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> UTF, Unicode transformation format).
Универсальный набор символов задаёт однозначное соответствие символов кодам <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4>
- элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление последовательности кодов UCS.
WD-dom-20121206 DOM4
Принят W3C 6 декабря 2012 года [21].
DOM (от англ. <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9>, позволяющий программам <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0> и скриптам <http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82> получить доступ к содержимому HTML <http://ru.wikipedia.org/wiki/HTML>, XHTML <http://ru.wikipedia.org/wiki/XHTML>, XML <http://ru.wikipedia.org/wiki/XML>
- документов, изменять содержимое, структуру и оформление таких документов.
Модель DOM не налагает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями «родительский-дочерний».
4.6 Стандарт на лицензирование
Limitations on exclusive rights: Computer programs
Принят Legal Information Institute 28 октября 1988 года [29].
Браузер Opera является проприетарным программным обеспечением. Проприетарное программное обеспечение — частная собственность авторов или правообладателей, и не удовлетворяет критериям свободного ПО <http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%9F%D0%9E> (наличия открытого программного кода <http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5> недостаточно).
Правообладатель <http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C> проприетарного ПО сохраняет за собой монополию <http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%BE%D0%BF%D0%BE%D0%BB%D0%B8%D1%8F> на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.
Основной чертой при приобретении проприетарного ПО является принятие пользовательского соглашения типа EULA (End-User License Agreement), которое является договором между владельцем программы <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0> и пользователем её копии.
РАЗРАБОТКА РАСШИРЕНИЯ OPERA, .1 Среда программирования
Расширения для Opera пишутся с помощью общих открытых web-стандартов, поэтому всё, что нужно, чтобы начать, это Opera (начиная с 11 версии) и текстовый редактор или IDE (Integrated Development Environment или Integrated Debugging Environment — интегрированная среда разработки).
Под IDE чаще всего понимают набор таких средств как текстовый редактор <http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80>, компилятор <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80> и/или интерпретатор <http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80>, средства автоматизации сборки, отладчик <http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA> [30].
В качестве текстовых редакторов можно использовать: Microsoft Visual Studio <http://ru.wikipedia.org/wiki/Microsoft_Visual_Studio>, AkelPad <http://ru.wikipedia.org/wiki/AkelPad>, Emacs <http://ru.wikipedia.org/wiki/Emacs>, vi <http://ru.wikipedia.org/wiki/Vi>, Notepad++ <http://ru.wikipedia.org/wiki/Notepad%2B%2B>, IntelliJ IDEA <http://ru.wikipedia.org/wiki/IntelliJ_IDEA>, PSPad <http://ru.wikipedia.org/wiki/PSPad>, RJ TextEd <http://ru.wikipedia.org/wiki/RJ_TextEd>, Eclipse <http://ru.wikipedia.org/wiki/Eclipse_(%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8)>, Ace <http://ru.wikipedia.org/wiki/Ace_(%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80)> и др. Можно писать код в блокноте, после изменяя расширения файлов с .txt на необходимые (при условии, что приложение небольшое).
Недостатком последнего случая является трудности связанные с поиском ошибок в исходном коде. Последним шагом является упаковка всех файлов расширения с помощью WinRAR в zip-архив, после чего необходимо изменить расширение архива с .zip на .oex и расширение готово к установке и работе. Если в программном коде были допущены ошибки, касающиеся работы с API, то браузер Opera сообщит об их наличии (страница с кодом и описанием ошибки).
Системные требования при создании расширения определяются типом используемого текстового редактора, и зависят от назначения расширения при его работе. Например, если расширение создаёт большое число вкладок или окон, то необходимо наличие большого объёма оперативной памяти.
В качестве среды программирования будет использоваться простейший текстовый редактор блокнот, который является частью системы Windows.
5.2 Элементы расширения
Опера расширения основаны на спецификации W3C Widgets <http://www.w3.org/TR/widgets/> (например, для таких функций, которые содержатся в config.xml).
Расширение может содержать все следующие файлы:
- /config.xml
- /index.html
- /background.js
- /popup.html
- /icons/example.png
- /locales/no/index.html
- /locales/no/background.js
- /locales/no/popup.html
- /options.html
Обязательны только первые 2 файла. Остальные создаются по необходимости (в зависимости от функционала приложения).
О файле config.xml подробно рассказано во второй главе. Файл index.html — это стартовый файл приложения. Он необходим, так как служит фоновым процессом расширения. Файл background.js — это файл, который содержит так называемые фоновые скрипты, которые контролируют фоновый процесс приложения. Можно создать столько файлов с фоновыми скриптами, сколько необходимо, и не обязательно называть эти файлы именно background.js. Popup.html — это файл (или файлы, так как может понадобится и более одного), который является содержимым всплывающего окна, запускается из фонового процесса. Также можно указать на внешний URL, как на содержимое одного из всплывающих окон, например, <http://www.opera.com/>. Icons/example.png — дирек-тория со значком (значками), которые будут использоваться расширением. Locales — директории в которых будут дублироваться все файлы расширения, если необходимо, чтобы расширение использовало другой язык. Когда браузер находит options.html файл в расширении, это происходит при открытии пункта «Настройки» в менеджере расширений (Инструменты> Расширения> Управление расширениями), то появляется возможность настраивать созданное расширение.
При написании расширения будут использоваться файлы config.xml, index.html и директория с изображениями.
5.3 Процесс написания расширения
The Milky Way extension — расширение для Opera, представляющее собой кнопку на панели инструментов браузера, при нажатии на которую будет открываться новая вкладка с панорамой Млечного пути (html-страница, расположенная на удалённом сайте).
Сначала создаётся папка, в которой будут расположены все файлы расширения. В ней создаём папку icons, в которую помещаем 2 (для данного приложения больше не требуется) изображения. Лучше всего подойдут изображения форматов PNG, JPEG или GIF (не анимированный).
Одно из них будет отображаться в менеджере расширений (лучший размер 64х64 пикселя), другое — будет иконкой кнопки (лучший размер 16х16 или 18х18 пикселей).
Для начала, необходимо создать конфигурационный файл расширения config.xml, который содержит метаданные, описывающие расширение. В нём будет содержаться информация о названии расширения, его авторе и иконке для менеджера расширений.
На первом этапе создаётся файл config.txt, в котором пишется исходный код. При написании кода используется язык XML версии 1.0. Конфигурационный файл будет содержать следующие элементы: widget, name, description, author, icon (другие элементы для данного приложения не требуются).
Элемент widget будет содержать в себе все остальные элементы. В элемент name заносится название расширения «The Milky Way». В description заносится краткое описание приложения «A button on an Opera toolbar which is opening a panorama of the Milky Way». В author заносится имя разработчика «Konoplyov Egor» (также можно указать страницу разработчика и адрес электронной почты).
В параметр scr элемента icon заносится путь к изображению, которое находится внутри пакета с расширением, и которое будет отображаться в менеджере расширений. Расширение файла config меняется с .txt на .xml, после чего файл перемещается в папку будущего расширения Opera. Файл конфигурации создан.
На следующем этапе создаётся файл самого приложения index.html . Необходимо создать файл index.txt, в котором будет записан исходный код. При написании кода используется язык HTML. В данном документе будет использоваться API Opera.
Window.addEventListener () — функция из API, которая добавляет слушателя к событию (будет содержать в себе все остальные функции).
Вторым параметром этой функции является «функция-контейнер», внутри которой содержится следующее.
Создаются переменные theButton (сама кнопка, как объект) и ToolbarUIItemProperties (свойства кнопки на панели инструментов).
Заполняются свойства кнопки: в disabled заносится булевское значение false (кнопка активна); в title заносится текст «Panorama of the Milky Way», который будет отображаться при наведении курсора мыши на кнопку; в icon заносится путь к иконке кнопки, в onclick заносится то, что должно выполняться при нажатии на кнопку (описано позднее).
После переменной theButton присваивается значение функции из API opera.contexts.toolbar.createItem (), единственным параметром которой является ToolbarUIItemProperties (кнопка создаётся).
С помощью функции из API opera.contexts.toolbar.addItem () с параметром theButton кнопка помещается на панель инструментов.
В onclick создаётся функция-контейнер, внутри которой содержится следующее.
Создаётся переменная tab и ей присваивается значение функции из API по созданию новой вкладки — opera.extension.tabs.create (), параметром которой является URL сайта с панорамой Млечного Пути. После с помощью функции из API tab.focus () браузер переключается на созданную вкладку.
Расширение файла index меняется с .txt на .html , после чего файл перемещается в папку будущего расширения Opera. Файл index. html создан.
Папка, содержащая все файлы созданного расширения, упаковывается с помощью WinRAR в zip-архив, после чего необходимо изменить расширение архива с .zip на .oex. Расширение «The Milky Way» готово к установке и работе.
Системные требования для работы данного расширения незначительны, по сравнению с требованиями браузера Opera. Для полноценной работы расширения необходимо подключение к сети Интернет.
ЗАКЛЮЧЕНИЕ
В данной курсовой работе стояла задача исследовать программный продукт браузер Opera на наличие признаков открытой информационной системы, исследовать API Opera, и написать приложение к программному продукту.
Браузер Opera по многим параметрам является открытой информационной системой. Во-первых, он обладает основными свойствами информационных систем, такими как расширяемость, интеграция, интероперабельность, переноси-мость. Во-вторых, браузер использует технологии, спецификации, интерфейсы, протоколы, которые описываются открытыми стандартами. В-третьих, обладает узкоспециализированным, но достаточно широким набором API, который можно использовать для написания различных дополнений и расширений браузера. Последним этапом работы было написание приложения к браузеру, которое показывает возможность использования API Opera.
Учитывая все вышеперечисленное, можно, что Opera является открытой информационной системой.
В настоящее время, в связи с быстрыми темпами развития языков програм-мирования, программного обеспечения и информационных систем в целом, увеличивается необходимость грамотной разработке архитектуры ПО, в которую легко бы включались новые элементы. Наличие большого числа появляющихся технологий требует стандартизации их взаимодействия. Важную роль в разра-ботке программного обеспечения начинают играть сторонние разработчики, которые всесторонне анализируют недостатки ПО. Всё это ведёт к большей открытости информационных систем, их взаимодействию, объединению, расширению.
ПРИЛОЖЕНИЯ
Листинг программы
Config.xml
<?xml version=»1.0″ encoding=»utf-8″?>
- <widget xmlns=»http://www.w3.org/ns/widgets»>
- <name>Milky Way
</name>
- <description>button on a toolbar which is opening new tab with a panorama of the Milky Way.
</description>
- <author href=»http://www.vk.com/id88473118/» email=»gosha.fiwapro@yandex.ru»>Egor
</author>
- <icon src=»icons/1.jpg»/>
- </widget>.html
<!DOCTYPE HTML>
- <html lang=»en»>
- <title>button
</title>
- <meta charset=»UTF-8″>
- <script>.addEventListener( ‘load’, function(){theButton;ToolbarUIItemProperties = {: false,: ‘Panorama of the Milky Way’,: ‘icons/2.png’,: function(){tab = opera.extension.tabs.create({: ‘http://media.skysurvey.org/interactive360/index.html ‘});.focus();
}
}= opera.contexts.toolbar.createItem(ToolbarUIItemProperties);.contexts.toolbar.addItem(theButton);
- }, false );
- </script>
- </head>
- <body>
- </body>
— </html>
СПИСОК ЛИТЕРАТУРЫ
[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/tehnologiya-otkryityih-sistem/
оpera api браузер интернет
1. Википедия — свободная энциклопедия [электронный ресурс] // Opera. URL: <http://ru.wikipedia.org/wiki/Opera>.
2. Отдел разработок Dev.Opera // Introducing the Opera Link API. URL: <http://dev.opera.com/articles/view/introducing-the-opera-link-api>.
3. Официальный сайт Opera [электронный ресурс] // Opera Link API Beta. URL: <http://www.opera.com/docs/apis/linkrest>.
— Отдел разработок Dev.Opera // Opera extensions: documentation. URL: <http://dev.opera.com/addons/extensions>.
5. Отдел My.Opera // MyOpera APIs URL: <http://my.opera.com/community/api>.
6. Группа по протоколам сети Интернет IETF: Стандарт RFC959 File Transfer Protocol (FTP).
URL: <http://tools.ietf.org/html/rfc959>.
— IETF: Стандарт RFC1034 Domain Names — Concept and Facilities. URL: <http://tools.ietf.org/html/rfc1034>.
— IETF: Стандарт RFC1035 Domain Names — Implementation and Specification. URL: <http://tools.ietf.org/html/rfc1035>.
9. IETF: Стандарт RFC1939 Post Office Protocol — Version 3. URL: <http://tools.ietf.org/html/rfc1939>.
— IETF: Стандарт RFC2616 Hypertext Transfer Protocol — HTTP/1.1. URL: <http://tools.ietf.org/html/rfc2616>.
— IETF: Стандарт <RFC2818> HTTP Over TLS. URL: http://tools.ietf.org/ html/rfc2818 <http://tools.ietf.org/%20html/rfc2818>.
— IETF: Стандарт RFC3510 Intrrnet Message Access Protochol — Version 4rev1. URL: <http://tools.ietf.org/html/rfc3501>.
13. IETF: Стандарт <RFC5246> The Transport Layer Security (TLS) Protocol Version 1.2. URL: <http://tools.ietf.org/html/rfc5246>.
— IETF: Стандарт RFC5321 Simple Mail Transfer Protocol. URL: <http://tools.ietf.org/html/rfc5321>.
— IETF: Стандарт RFC6749 The OAuth 2.0 Authorization Framework. URL: <http://tools.ietf.org/html/rfc6749>.
16. Консорциум всемирной паутины W3C: Стандарт 401-19991224 HTML 4.01 Specification. URL: <http://www.w3.org/TR/REC-html40>.
17. W3C: Стандарт <REC-XML11-20060816> Extensible Markup Language (XML) 1.1. URL: <http://www.w3.org/TR/xml11>.
18. W3C: Стандарт REC-XLST20-20070123 XSL Transformations (XSLT) Version 2.0. URL: <http://www.w3.org/TR/xslt20>.
19. W3C: Стандарт REC-SVG11-20110816 Scalable Vector Graphics (SVG) 1.1. URL: <http://www.w3.org/TR/SVG>.
20. W3C: Стандарт REC-CSS2-20110607 <http://www.w3.org/TR/2011/REC-CSS2-20110607> Cascading Style Sheets, level 2 Revision 1 (CSS2.1).
URL: http://www.w3.org/TR/ CSS21 <http://www.w3.org/TR/%20CSS21>.
— W3C: Стандарт WD-dom-20121206 DOM4. URL: http://www.w3.org/TR /dom <http://www.w3.org/TR%20/dom>.
22. Организация по стандартизации ISO: Стандарт ISO/IEC 10918-1:1994 Information technology — Digital compression and coding of continuous-tone still images: Requirements and guidelines. URL: catalogue_tc/catalogue_detail.htm?csnumber=18902 <http://www.iso.org/iso/home/store/%20catalogue_tc/catalogue_detail.htm?csnumber=18902>.
— ISO: Стандарт ISO/IEC 15948:2004 Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification. URL: detail.htm?csnumber=29581 <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_%20detail.htm?csnumber=29581>.
— ISO: Стандарт ISO/IEC 14882:2011 Information technology — Programming languages — C++. URL: detail.htm?csnumber=50372 <http://www.iso.org/iso/home/store/catalogue_tc/catalogue_%20detail.htm?csnumber=50372>.
— ISO: Стандарт ISO/IEC 10646:2012 Information technology — Universal Coded Character Set. URL: detail.htm?csnumber=56921 <http://www.iso.org/iso/home/store/catalogue_tc/catalogue_%20detail.htm?csnumber=56921>.
26. Организация ECMA International: Стандарт ECMA-262 ECMAScript Language Specification 5.1. URL: http://www.ecma-international.org/publications/ standards/ Ecma-262.htm <http://www.ecma-international.org/publications/%20standards/%20Ecma-262.htm>.
— CompuServe Incorporated: Стандарт GIF87a Graphics Interchange Format ™. URL: <http://www.martinreddy.net/gfx/2d/GIF87a.txt>.
— Bittorrent organization [электронный ресурс]: Стандарт BEP 0003 The BitTorrent Protocol Specification. URL: <http://www.bittorrent.org/beps/bep_0003.html >.
— Legal Information institute: Стандарт Limitations on exclusive rights: Computer programs. URL: <http://www.law.cornell.edu/uscode/text/17/117>.
30. Официальный сайт Opera [электронный ресурс] // Web specifications supported in Opera Presto 2. URL: <http://www.opera.com/docs/specs/presto24/>.