Децентрализованный сервис публикации файлов на основе протоколов IPv6 и HTTP
Традиционно, для публикации данных пользователи сети Интернет используют облачные сервисы (например Dropbox, Google Drive и т.д.) или специализированные протоколы (например BitTorrent). Первый способ требует загрузки публикуемых данных на сервера третьих лиц, второй способ, как правило, требует установки специального ПО для получения доступа к публикуемым данным.
Соблюдение этих условий не всегда возможно, поэтому, в рамках данного проекта предлагается разработать программную систему, предоставляющую доступ к заданным локальным файлам посредством широко-распространенного протокола прикладного уровня HTTP. С целью обеспечения максимальной доступности публикуемых таким образом файлов, а также с целью исключения из рассмотрения проблем NAT, передачу данных предлагается осуществлять по протоколу IPv6.
На данной итерации проекта требуется разработать прототип HTTP-сервера, реализующего минимальные требования спецификации HTTP 1.1, обслуживающего запросы только к одному, заданному в параметрах запуска, файлу. HTTP-сервер должен поддерживать поддерживать работу по протоколу IPv6 (поддержка IPv4 на данной итерации не требуется).
Сервер должен, как минимум, обрабатывать запросы к следующим ресурсам:
/
— содержимое заданного при запуске файла с указанием соответствующих его содержимому стандартных заголовков HTTP./stat
— HTML-страница с описанием статистики доступа к публикуемому файлу за время работы сервера. Опционально, запрос к данному ресурсу должен требовать авторизации.
Прототип должен работать в ОС Linux, опционально в ОС Windows.