From 86360e1584dc8f63d4c15c4658e856a3fbadb16d Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 21 Apr 2024 16:13:59 +0300 Subject: [PATCH] =?utf8?q?=D0=9E=D1=82=D0=BD=D0=BE=D1=81=D0=B8=D1=82=D0=B5?= =?utf8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20URL=20=D0=B2=20Gemini?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Спецификация Gemini говорит: URL may be absolute or relative. If relative, it should be resolved against the URL used in the original request. вроде бы это интерпретируется однозначно как "берёшь текущий URL, добавляешь к нему (относительную) ссылку". Я в Gemini редко бываю, но бывает посещаю время от времени их ресурсы. Заметил, что у некоторых относительные ссылки не работают. Текущий URL "host.name/foo", относительная ссылка "bar/baz", и они ожидают "host.name/bar/baz", а не "host.name/foo/bar/baz". Решил выяснить кто же всё таки прав, хоть спецификация и не читается двояко. Так вот первый (reference) клиент для Gemini был написан на Python. И в нём используется urljoin (dcd9193595c262f96f29e4984ca0304106634fbc), который вот так вот коряво объединяет ссылки. То есть, некоторые gem-сайты ожидают bug-compatible поведения как у дурацкого Python клиента, хоть это и не по спецификации, которую сам же автор клиента и написал. -- 2.48.1