**Use case**

For creating external data dictionary with settings (url, headers, etc.) from config.xml `<named_collections>`  for HTTP sources.
This is to allow updating per environment test, staging, prod without updating `CREATE DICTIONARY` statement, values set externally.

**Describe the solution you'd like**

Add HTTP source options as currently available for PostgreSQL, MySQL, S3 and Kafka:
https://clickhouse.com/docs/en/operations/named-collections/
keys should be `url`, `user`,`password`, `headers`.

**Describe alternatives you've considered**

use different data source for named collections.
use custom settings.

cc: @kssenii 

credentials.setPassword(config.getString(credentials_prefix + ".password", ""));
        }
        const auto & headers_prefix = settings_config_prefix + ".headers";
        ReadWriteBufferFromHTTP::HTTPHeaderEntries header_entries;
        if (config.has(headers_prefix))
        {
            Poco::Util::AbstractConfiguration::Keys config_keys;
            config.keys(headers_prefix, config_keys);
            header_entries.reserve(config_keys.size());
            for (const auto & key : config_keys)
            {
                const auto header_key = config.getString(headers_prefix + "." + key + ".name", "");
                const auto header_value = config.getString(headers_prefix + "." + key + ".value", "");
                header_entries.emplace_back(std::make_tuple(header_key, header_value));
            }
        }
        auto configuration = HTTPDictionarySource::Configuration
        {
            .url = config.getString(settings_config_prefix + ".url", ""),
            .format =config.getString(settings_config_prefix + ".format", ""),
            .update_field = config.getString(settings_config_prefix + ".update_field", ""),
            .update_lag = config.getUInt64(settings_config_prefix + ".update_lag", 1),
            .header_entries = std::move(header_entries) 
        };
        return std::make_unique<HTTPDictionarySource>(dict_struct, configuration, credentials, sample_block, context, created_from_ddl);
    };
    factory.registerSource("http", create_table_source);
}
}