简而言之:TCP是一种传输层协议,而HTTP是一种通过TCP运行的应用层协议。
详细信息:要了解差异(以及许多其他网络主题),您需要了解分层网络模型的概念。实质上,有不同的协议可以让计算机在不同的距离和不同的抽象层进行对话。
在网络堆栈的最底层是物理层。这是电信号或光脉冲或无线电波实际上将信息从一个地方传输到另一个地方的地方。物理层没有真正的协议,而是具有电压,频率和其他物理属性的标准。您可以通过这种方式直接传输信息,但是您需要大量电源或专用线路,并且无需更高层次,您将无法共享带宽。
下一层是链路层。该层覆盖与共享物理通信介质的设备的通信。在这里,以太网,802.11a/b/g/n和令牌环等协议指定了如何处理对物理介质的多个并发访问,以及如何将流量引导到一个设备而不是另一个设备。在一个典型的家庭网络中,这就是你的计算机如何与你的家庭“路由器”交谈。
第三层是网络层。在大多数情况下,这是由互联网协议(IP)主导的。这就是互联网的魔力发生的地方,你可以在世界各地的中途与电脑交谈,而无需知道它在哪里。路由器负责将您的流量从本地网络引导至另一台计算机所在的网络,其链路层负责将数据包传送到正确的计算机。
现在我们正在某个地方。我们可以与世界各地的计算机通话,但该计算机正在运行许多不同的程序。它应该如何知道将哪一条信息传递给你?传输层负责这一点,通常使用端口号。两种最流行的传输层协议是TCP和UDP。 TCP做了很多有趣的事情来平滑网络层分组交换通信的难点,例如重新排序数据包,重新传输丢失的数据包等.UDP更不可靠,但开销较小。
因此,我们已将浏览器连接到另一端的Web服务器软件,但服务器如何知道您想要的页面?你如何发布问题或答案?这些是应用层协议处理的事情。对于网络流量,这是超文本传输协议(HTTP)。有数以千计的应用层协议:用于电子邮件的SMTP,IMAP和POP3; XMPP,IRC,ICQ聊天;远程管理的Telnet,SSH和RDP;等等。
这些是TCP/IP网络模型的五个层,但它们实际上只是概念上的。 OSI模型有7层。实际上,一些协议在各个层之间进行填充,或者可以同时在多个层上工作。 TLS/SSL例如提供网络和传输层之间的加密和会话信息。在应用层之上,应用程序编程接口(API)管理与Quora,Twitter和Facebook等Web应用程序的通信。
他们在协议阶层的不同层。看看他们的维基百科页面,或去像tcpipguide.com这样的网站,了解协议是如何分层的。 – Barmar
@Barmar非常有用的链接到tcpipguide.com – Adam