Tor should be an HTTP proxy server
Tor accepts connections (from applications that want to use the Tor network) using the SOCKS protocol.
However, SOCKS is a very old and very limited protocol, and is rarely used in the wild. Not many applications support it, and the existing (non-Tor/-SSH) SOCKS server implementations are 10-20 years old and very simple and buggy.
In contrast, HTTP proxies are widespread, and there are several good implementations of it. Many companies are allowing outward connections only via HTTP proxies. As a result, many client-side applications have native support for HTTP proxies.
For non-HTTP apps, HTTP proxies have the CONNECT command that gives a raw socket to the target server. It's used primarily for SSL, but can be used for other protocols, too.
For HTTP, as an added bonus, the HTTP proxy sees all headers that the client sends, and thus has much richer meta-data to make decisions for circuits etc.. Also, a client can send additional metadata in X-Tor-Foo headers that is intended only for Tor, e.g. grouping requests based on windows or similar. This is what legacy/trac#6733 (closed) tries to achieve.
Note: This isn't a request for Tor to connect to an HTTP proxy. That support already exists. It's for Tor to //be// an HTTP proxy.
Trac:
Username: ben