Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№107-09-2008 01:40:22

ivan386
Участник
 
Группа: Members
Зарегистрирован: 01-06-2007
Сообщений: 11
UA: unknown 0.0

Partial File Sharing Protocol (Протокол обмена частями файла)

Уже была попытка реализовать P2P сеть в фаерфоксе но не получилось видимо. Я предлагаю реализовать более простой вариант на основе PFSP.

Это расширение хедеров HTTP. На данный момент в таком виде

Partial File Sharing Protocol (Протокол обмена частями файла)
HTTP Extensions for a Content-Addressable Web
Partial File Sharing Protocol 0.2.1
Partial File Sharing Protocol 0.1.2

Выглядит это на данный момент так.

Client:
GET /get/partials/my_song.mp3 HTTP/1.1
User-Agent: FooBar/1.0
Host: 123.123.123.123:6346
Listen-IP: 126.126.126.126:6346
Connection: Keep-Alive
Range: bytes=73826-
X-Content-URN: urn:sha1:QLFYWY2RI5WZCTEP6MJKR5CAFGP7FQ5X
Alt-Location:
http://theclient.com:6346/get/2468/my_song.mp3

Server:
HTTP/1.1 206 Partial Content
Server: FooBar/1.0
Content-Type: audio/mpeg
Content-Range: bytes 73826-83825/533273
Content-Length: 10000
Connection: Keep-Alive
X-Available-Ranges: bytes 0-285749
X-Content-URN: urn:sha1:QLFYWY2RI5WZCTEP6MJKR5CAFGP7FQ5X
X-Thex-URI:
/uri-res/n2x?urn:sha1:QLFYWY2RI5WZCTEP6MJKR5CAFGP7FQ5X;VEKXTRSJPTZJLY2IKG5FQ2TCXK26SECFPP4DX7I
Alt-Location:
http://otherserver/get/2468/my_song.mp3 2008-08-07T23:00Z, http://otherclient:6346/get/2468/my_song.mp3 2008-08-07T22:05Z, http://124.124.124.124:6346/uri-res/N2R?urn:sha1:QLFYWY2RI5WZCTEP6MJKR5CAFGP7FQ5X
<10000 bytes of data>

его успешно используют шареаза и другие Gnutella P2P клиенты. Но скачать с них не удасться ибо Mozilla забанена у них поскольку не является P2P клиентом.

Логично его использовать для файлов скачанных с источников (серверов, пользователей) подерживающих PFSP и файлов которые сам пользователь расшарит.

Если реализовать поддержку в FireFox тогда начнут и на обычных серверах включать его поддержку. Для сервера это огромная польза - разгрузка канала и ресурсов. Для прокси это польза ибо проверяется изменился ли файл по его хешу. Для клиентов польза ибо файл гораздо быстрее скачивается (больше источников файла которые могут быть гораздо ближе и быстрее).

Но имеет это смысл для файлов больше 1МБ. Тобиш аудио (MP3, WMA ...), видео контента(FLV, AVI ...).

Отредактировано ivan386 (07-09-2008 16:04:45)

Отсутствует

 

№207-09-2008 13:41:50

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: Partial File Sharing Protocol (Протокол обмена частями файла)

а в чём, собственно, вопрос?
UA можно очень просто подделать, тогда банить не будут

Отсутствует

 

№307-09-2008 15:56:54

ivan386
Участник
 
Группа: Members
Зарегистрирован: 01-06-2007
Сообщений: 11
UA: unknown 0.0

Re: Partial File Sharing Protocol (Протокол обмена частями файла)

Это скорее не вопрос это предложение. И не для плагина.

Дело не в бане.

По минимуму:
Надо реализовать поддержку скачки по частям с разных источников переданных в заголовке Alt-Location. Ну и соответственно проверку по дереву скачанных частей X-Thex-URI. Ну и не запрашивать частей которых нет благодаря X-Available-Ranges. Если главный сервер(первоисточник) не отдал X-Content-URN и X-Thex-URI по которому можно идентифицировать что скачиваеш именно то что надо то скачивается файл только полностью и с одного источника если главный(сервер) занят (503).

Далее шаринг:
Listen-IP указывает что клиент может отдавать и сервер автоматически добавляет его в источники. Ну а далее обработка запросов, отдача файла, обмен источниками - тобиш реализация функций сервера.

UA соответственно кому надо тот поминяет.

Отредактировано ivan386 (09-09-2008 15:28:29)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]