Skip to content
Zato4ka edited this page Dec 23, 2018 · 7 revisions

Выполнил(и): Коротков А.С. (ИДМ-18-04). https://github.com/Zato4ka

Вопрос №1 "Понятие единого указателя ресурса. Форма записи и основные протоколы. Понятия абсолютного и относительного пути."

URL (с англ. Universal Resource Locator – «Единый указатель ресурсов») – это стандартизированное описание адреса сайта (интернет-ресурса) в Интернете.

Общая схема или структура URL-адреса выглядит следующим образом:

<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь>

  1. Схема – это тот протокол передачи данных, по которому, происходит обращение к ресурсу (http/https).

  2. Логин и пароль — имя пользователя и пароль, используемые для доступа к ресурсу. Связка логин и пароль не всегда используется. Например, для доступа к какой-либо веб-странице, по протоколу http – как правило, эти данные не указывают.

  3. @ — разделитель между хостом и парой логин-пароль. В случае, если логин-пароль не указывается, то разделитель не указывается.

  4. Хост – доменное имя или IP-адрес (ссылки) того ресурса, к которому нужно обратиться.

  5. Порт – уникальный номер, который выделяется тому приложению, которое будет обрабатывать запрос пользователей.

  6. URL — путь – указывается уточняющая информация о местонахождении ресурса. Зависит от используемого протокола. В случае с протоколом HTTP задается путь с указанием каталогов и подкаталогов, где лежит ресурс.

  7. Параметры – следуют сразу после имени файла и пишутся после знака вопроса (?). Для разделения этих параметров используется знак амперсанда (&).

  8. Якорь – это специальная строка, в которой могут иметься как буквенные символы, так и цифры. С помощью якоря ссылаются на определенное место на сайте, который открывается. Благодаря этому пользователь попадается не на главную страницу портала, а сразу в нужное место. Якорь располагается в единообразном локаторе сразу после знака решетки (#).

Абсолютный адрес сайта — это полный адрес ссылки включая протокол, домен и путь к файлу.

В относительном адресе URL отсутствует протокол и адрес домена. Т.е. адрес рассчитывается исходя из текущего домена.

Вопрос №2: "Современные языки определения и обмена данными в интернете (XML, XSD, JSON)."

XML

XML (eXtensible Markup Language) — расширяемый язык разметки. Рекомендован Консорциумом Всемирной паутины (W3C). Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка.

XSD

Язык определения схем XSD Консорциум W3C выработал рекомендацию языка определения схем XML (XSD), объединив наиболее популярные языки описания схем в один стандарт. Основная цель, которая при этом преследовалась, — получение стандарта, который можно широко реализовать и при этом он платформно-независимый.

Схемы XSD способны решать следующие задачи:

Перечисление элементов в документе XML и проверка наличия в документе только объявленных элементов. Объявление и определение атрибутов, модифицирующих элементы документа. Определение родительско-дочерних отношений между элементами. Определение состояний и моделей содержания для элементов и атрибутов. Задание типов данных. Установка значений по умолчанию. Возможность расширения. Поддержка использования пространств имен.

Корневым элементом в схеме XML является элемент Schema, который содержит все остальные элементы в документе схемы. В рамках корневого элемента схемы XSD атрибутом xmlns определяется пространство имен XMLSchema, которое содержит элементы и атрибуты XSD схемы.

Все элементы XSD начинаются с префикса xsd:, который указывается для пространства имен XSD, объявленного в корневом элементе экземпляра схемы.

XML-документ, который проверяется с помощью схемы, также должен содержать объявление пространства имен. Пространство имен всегда указывается в корневом элементе экземпляра документа с помощью атрибута xmlns:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Это пространство имен содержит элементы и атрибуты XMLSchema, которые можно включать в документ XML. По общему соглашению префикс xsi используется для этого пространства имен и добавляется в начале имен всех элементов и атрибутов, принадлежащих пространству имен, отделяясь от них двоеточием.

Ссылка на конкретную схему приводится в атрибуте

xsi:schemaLocation="http://kit.znu.edu.ua/scemes/имя_файла.xsd"

Процесс создания схемы включает в себя два шага — определение и объявление типов элементов или типов атрибутов. Элементы и атрибуты XML-документа объявляются элементами схемы xsd:element и xsd:attribute. Структура же XML-документа определяется элементами схемы xsd:simpleType и xsd:complexType.

В схемах XSD дескрипторы, используемые в документах XML, разделяются на две категории — сложные типы и простые типы. Элементы сложных типов могут содержать другие элементы, а также обладают определенными атрибутами; элементы простых типов такими возможностями не обладают.

Простые типы данных Есть две главных категории простых типов:

встроенные типы;

определенные пользователем простые типы.

Язык XSD имеет большое количество встроенных простых типов данных. Встроенные типы включают в себя примитивные типы и производные. Примитивные типы данных не получены из других типов данных. Например, числа с плавающей запятой - математическое понятие, которое не получено из других типов данных. Производные типы данных определены в терминах существующих типов данных. Например, целое число - частный случай, полученный из десятичного типа данных.

JSON

JSON (JavaScript Object Notation) - текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми.

За счёт своей лаконичности по сравнению с XML, формат JSON может быть более подходящим для сериализации сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между браузером и сервером (AJAX), так и между самими серверами (программные HTTP-сопряжения).

JSON основан на двух структурах данных:

Коллекция пар ключ/значение. В разных языках, эта концепция реализована как объект, запись, структура, словарь, хэш, именованный список или ассоциативный массив.

Упорядоченный список значений. В большинстве языков это реализовано как массив, вектор, список или последовательность

Это универсальные структуры данных. Почти все современные языки программирования поддерживают их в какой-либо форме. Логично предположить, что формат данных, независимый от языка программирования, должен быть основан на этих структурах.

В нотации JSON это выглядит так:

Объект - неупорядоченный набор пар ключ/значение. Объект начинается с { (открывающей фигурной скобки) и заканчивается } (закрывающей фигурной скобкой). Каждое имя сопровождается : (двоеточием), пары ключ/значение разделяются , (запятой).

Массив - упорядоченная коллекция значений. Массив начинается с [ (открывающей квадратной скобки) и заканчивается ] (закрывающей квадратной скобкой). Значения разделены , (запятой).

Значение может быть строкой в двойных кавычках, числом, true, false, null, объектом или массивом. Эти структуры могут быть вложенными.

Строка - коллекция нуля или больше символов Unicode, заключенная в двойные кавычки, используя \ (обратную косую черту) в качестве символа экранирования. Символ представляется как односимвольная строка. Похожий синтаксис используется в C и Java.

Число представляется так же, как в C или Java, кроме того, что используется только десятичная система счисления.