Protocol

The TCP/IP protocols (it's really a family of protocols) provide for 5 different layers of protocols, where one layer sits on top of a lower one. In the higher layers the protocols can make use of the functionality provided by lower layers, and don't have to care about the implementation details.

If you look at the column on the right side in Wikipedia: TCP/IP model, you'll see that HTTP sits on top of TCP, which sits on top of IP. So there's no overlap between HTTP and TCP (or IP) - they're complimentary.

If you need Internet access, you need TCP/IP. If you need web specific access in internet you need HTTP. i.e HTTP runs on Top of TCP/IP. HTTP has simple Request/Response feature. Client Request and server Responds. On the other hand TCP sends the file by splitting in chunks from source to destination. IP takes care of those chunks and selects the route from source to destination.HTTP depends on TCP/IP to complete its request and response.