First of all, you need to read up a little on networking concepts. HTTP
is what's known as an application level protocol, whereas TCP
is what's known as a transport layer protocol. Take a look at the OSI Network Model.
As an example, you can imagine that TCP
is the telephone network. It gives you the basic means to connect to another person and speak with them. However, in order to actually communicate you need to speak the same language, such as English or French. That is the application level protocol, HTTP
in your case.
So to answer your question, in order for your two applications to to communicate and exchange data they need to make a connection / call using TCP
and both be speaking the same language / application level protocol namely HTTP
.