Файл: Шаляев Егор фкт 3 Курс Операционные системы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 8

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Шаляев Егор ФКТ 3 Курс Операционные системы

Задание 1

- Оценить глубину структуры файловой системы приложения;

Несмотря на некоторые нижеуказанные факты, Curl не является офлайн-браузером, так как не может целиком загрузить содержимое сайта.


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

cURL (расшифровывается как Client URL) — программное обеспечение, которое предоставляет библиотеку libcurl и инструмент командной строки curl. Возможности cURL огромны, во многих опциях легко потеряться.
curl — инструмент для передачи данных с сервера или на него, при этом используется один из поддерживаемых протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET и TFTP. Команда предназначена для работы без взаимодействия с пользователем. С помощью Curl можно получить ту же служебную информацию, что получают все эти клиенты, в виде текста для, например, задач отладки. По факту, единственная функция программы — сделать запрос в интернет по заданному протоколу и получить ответ, тщательно запротоколировав весь процесс взаимодействия с сервером/приложением.
Однако в силу гибкости утилиты, вариантов применения этой функции огромное множество. Например, Curl можно использовать, чтобы автоматически отправлять запросы к определенным сетевым ресурсам, получать доступ к ресурсам в интернете без браузера, имитировать действия пользователей для тестирования API, использовать внутри shell-скриптов, для возобновления передачи файла с места обрыва и так далее.

Задание 2

- Составить списки структурных уникальных элементов исходного кода приложения, такие как:

Структура

WebKit1 — внешнее апи, дефакто для каждого порта свое;

WebKit2 — новая его версия, с ним я не работал;

JavascriptCore — JavaScript движок;

WTF — Web Template Framework;

ThirdParty — набор сторонних библиотек, вчасности leveldb;

WebCore — базисный функционал WebKit. Как раз про него и большая часть текста. Весь функционал загружен в namespace WebCore. Состоит из подпроектов:

loader — WebCore::FrameLoader, WebCore::DocumentLoader,WebCore::DocumentWriter — это оттуда, в общем, все что связано с коммуникацией Document <-> внешний мир — это там;

dom — Document Object Model. WebCore::Document;

html — WebCore::HTMLDocument — наследник WebCore::Document,WebCore::PluginDocument,WebCore::HTMLElement, его наследники — WebCore::HTMLAnchorElement и так далее. Имплементация докмументной модели HTML.

page — WebCore::Frame,WebCore::History,WebCore::ContextMenu — все, что связано с UI или просто с высокоуровневой коммуникацией (History браузера, например);

platform — Специфические реализации функционала для разных портов;

rendering, css, svg, storage, plugins, inspector — названия говорят сами за себя. Детально не рассматриваются.

Процесс загрузки документа, loader

programm1.c

mainWidget = new QWebView(parent);

// mainWidget->setHtml("HEIL HEIL HEILIGO