It’s barely complex. It’s a standard dispatch on the accept header, all major web servers handle this out of the box. Also it has the significant benefit of working with existing browsers. On what basis were you making that statement?
> Also it's definitely not enough to set a HTTP header. Need to use a different schema so that the restraints on content can be expressed in the URL of a link.
You can accomplish the same URL transparency by using a file extension convention. E.g. “https://foo.com/my log.gemini”