Решил добавлять код небольшими частями. Описываю что сделаю на первом шагу. …
Я решил пока-что добавить:
- Функцию "Is it the binary data?" – предварительный запрос со статусом HEAD. Для начала все "Content-type", которые не начинаются на "message/" и "text/" будут считаться двоичными.
- Функцию "Get the binary data" – запрос двоичных данных.
Погоняю на своих виртуалхостах, есть сомнения насчёт MIME-типов, начинающихся на "application/" – может быть придётся их вписывать тоже. Я пока не знаю может-ли "двоичный запрос" получить данные корректно – он идёт методом GET и просит некую дефолтную кодировку. Получение текстов этим путём зависит от того, как потом браузер разбирается с полученными данными. Вот png-картинка проходила 100% без искажений, а как будут проходить тексты – пока не знаю.
Также я покопался на тему обращения к сторонним (по отношению к скрипту) доменам – решений оказалось два – через новый script и через iframe. Нужно будет сделать правильный выбор. Я пока знаю только, что в RSS-сборщике точно работает метод создания нового script-а.
В идеале, конечно, лучше написать конфигуратор, чтобы администратор сам определял как работать скрипту – что важнее включить, а что можно или желательно отключить и т.п. Но это позже. Пока просто будет версия, получающая от скриптов бинарники.