I've been reading something about this, and I read about stratum, GBT, getwork. I wanna ask if what protocol are they using (HTTP?, TCP?). I am +1 to beginner so what I am asking now might be wrong please do correct me
Most use the stratum protocol which sends JSON data over a TCP socket. Some pools also support the getblocktemplate protocol which works over the JSON-RPC (i.e. it uses HTTP requests).