ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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