TCP is a transport layer protocol it determines how computers communicate with each other with IP packets. It is pretty much a way for two devices to establish a dialogue where they both know the other is listening and that their messages are arriving in order without being dropped.
HTTP is an application layer protocol, it is built on top of TCP. Whenever you send an HTTP request by visiting a website or receive and HTTP response when the page loads those messages are being sent over TCP. HTTP defines the semantics of these messages so each computer knowns what to do and how to display the results to you