[О блоге]
[наверх]
[пред]
[2025-09-12 11:32:25+03:00]
[59fdf60075de1bb380561096b618f420c9b89ae6]
Темы: [web]
Снова про простые протоколы
https://portal.mozz.us/spartan/spartan.mozz.us/
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/nex_protocol
https://nightfall.city/nex/info/specification.txt
https://nightfall.city/nex/info/station-guide.txt
https://nightfall.city/nps/info/specification.txt
https://nightfall.city/nps/info/form.txt
https://textprotocol.org/
https://github.com/zzo38/scorpion/
В 0f779dbbdbf24f2aec67b5593e0d0e8590abac25 упоминал про множество всяких
минималистичных протоколов. Причём более минималистичных относительно
Gemini.
Мне Gemini с самого начала не нравился, как и многим другим. Его правила
работы с URL-ами и redirect-ами (86360e1584dc8f63d4c15c4658e856a3fbadb16d)
косячны. Сама идея redirect -- нафиг. SNI и virtual hosting: нафиг, ибо
всегда можно всё понавешать на разные IP адреса (конечно не в legacy
мире IPv4) и домены. Из контекста, переходя с index-страниц, на практике
почти всегда можно понять что за файл будет скачан -- поэтому нафиг и
MIME types. Нафиг кодировки -- есть UTF-8. Вот и вышел nex:// протокол.
echo path/to/document | nc host 1900 >document
echo | nc nightfall.city 1900 | less
К которому есть и "nps" протокол для отправки данных. Как отличить
отправку данных (post) от получения (get)? Да банально используя другой
TCP порт:
nc nightfall.city 1915
classifieds
YOUR MESSAGE GOES HERE
.
Ведь, строго говоря, вполне можно и бинари без проблем так передавать.
Описание text:// протокола мне не нравится. Unicode emoji, и всё
выглядит как ребус. Надо поломать голову, чтобы понять как работает
протокол. Принципиально как и всякие gemini:// и прочие штуки. Там
здорово то, что не обязательно использовать TLS, а можно и Noise-based
протокол, вот только там не сказано как кодировать сообщения. Да и
реализаций с ним нет.
------------------------ >8 ------------------------
Comparison: gemini:// vs. spartan://
gemini spartan
------ -------
transport TCP + TLS TCP
request structure full URL hostname & path
request encoding utf-8 us-ascii
status codes 18 4
document type text/gemini text/gemini
input prompt 1x status "=:" prompt line
data upload limited yes
mimetypes yes yes
virtual hosting yes yes
same-site redirects yes yes
cross-site redirects yes no
proxy requests yes no
"lang" parameter yes no
------------------------ >8 ------------------------
gemini spartan scroll nex
------ ------- ------ ---
naming scheme space sparta/greece scrolls & libraries cityscape & highways
transport TCP + TLS TCP TCP + TLS TCP
request structure full URL hostname & path full URL path
request encoding utf-8 us-ascii utf-8 utf-8
status codes 18 4 18 0
document type text/gemini text/gemini text/scroll text/plain
input prompt 1x status "=:" prompt line 1x status none
data upload limited yes limited no
mimetypes yes yes yes no
virtual hosting yes yes yes no
same-site redirects yes yes yes no
cross-site redirects yes no yes no
proxy requests yes no yes no
"lang" response parameter yes no yes no
lang request parameter no no yes no
response metadata heuristic heuristic yes heuristic
abstract/metadata requests no no yes no
link relationships heuristic heuristic yes heuristic
list nesting no no yes heuristic
[оставить комментарий]