Well, the difference lies in the way they actually are built first and foremost, way before classifying them according to their respective types...
Socks are in general a WAY more versatile kind of proxy than even an elite http proxy is, due to how the intrinsic protocol works. While http is meant to be mainly a protocol to relay the http protocol, socks is meant to be way less specific kind of relay allowing seamlessly most protocols. Look up the ISO/OSI stack to understand this thing of the protocols if in doubt...
IF the http proxy supports "CONNECT" calls they will merrily allow a general socket to be tunneled, but if the proxy lacks this capability (that's totally up to the http proxy admin to enable or not) you're gonna be stuck to the http (web) protocol.
Socks proxies have been designed with a way broader approach in mind, thus making them the ideal way to tunnel most tcp/ip connections. Various implementations of system-wide socks clients make it possible for a system to relay the entire tcp/ip stack thru specific socks proxy IPs on both windows and unix variants (socksify and torify that's the equivalent for tor are the first on top of my mind)...
Made clear the distinction among the two, each protocol has specific subtypes as already described.
Http proxies may be L1/L2/L3, categorized according to the specific headers the proxy itself sends (aka how anonymous you'll ultimately end up being for your endpoint..)
Socks proxies are known to have to main variants: version 4 and version 5 that without delving too much into it are very similar for the end user (you).
Bookmarks