Kurz gesagt: TCP ist ein Transportschichtprotokoll, und HTTP ist ein Anwendungsebenenprotokoll, das über TCP ausgeführt wird.
Detail: Um den Unterschied (und viele andere Netzwerkthemen) zu verstehen, müssen Sie die Idee eines geschichteten Netzwerkmodells verstehen. Im Wesentlichen gibt es verschiedene Protokolle, die einen Computer in verschiedenen Entfernungen und auf verschiedenen Abstraktionsschichten sprechen lassen.
Ganz unten im Netzwerkstack befindet sich die physikalische Schicht. Dies ist, wo elektrische Signale oder Lichtimpulse oder Radiowellen tatsächlich Informationen von Ort zu Ort übertragen. Die physikalische Schicht hat nicht wirklich Protokolle, sondern stattdessen Standards für Spannungen, Frequenzen und andere physikalische Eigenschaften. Sie können Informationen auf diese Weise direkt übertragen, aber Sie benötigen viel Strom oder eine Standleitung, und ohne höhere Schichten können Sie keine Bandbreite teilen.
Die nächste Ebene ist die Link-Ebene. Diese Schicht deckt die Kommunikation mit Geräten ab, die sich ein physisches Kommunikationsmedium teilen. Hier legen Protokolle wie Ethernet, 802.11a/b/g/n und Token Ring fest, wie mehrere gleichzeitige Zugriffe auf das physische Medium zu handhaben sind und wie der Datenverkehr auf ein Gerät statt auf ein anderes gerichtet wird. In einem typischen Heimnetzwerk kommuniziert Ihr Computer so mit Ihrem Heim-Router.
Die dritte Schicht ist die Netzwerkschicht. In den meisten Fällen dominiert das Internet Protocol (IP). Hier findet die Magie des Internets statt und Sie können mit einem Computer auf der ganzen Welt sprechen, ohne wissen zu müssen, wo es sich befindet. Router steuern den Datenverkehr von Ihrem lokalen Netzwerk zu dem Netzwerk, in dem sich der andere Computer befindet, wobei seine eigene Sicherungsschicht die Pakete an den richtigen Computer weiterleitet.
Jetzt sind wir irgendwo. Wir können irgendwo auf der Welt mit einem Computer sprechen, aber auf diesem Computer laufen viele verschiedene Programme. Woher soll er wissen, an wen er deine Nachricht senden soll? Die Transportschicht erledigt dies normalerweise mit Portnummern. Die zwei beliebtesten Transportschicht-Protokolle sind TCP und UDP. TCP macht eine Menge interessanter Dinge, um die rauhen Stellen von paketvermittelter Netzwerkschicht-Kommunikation zu glätten, wie das Neuordnen von Paketen, das erneute Übertragen verlorener Pakete usw. UDP ist unzuverlässiger, hat jedoch weniger Overhead.
So haben wir Ihren Browser mit der Webserver-Software am anderen Ende verbunden, aber wie weiß der Server, welche Seite Sie wollen? Wie können Sie eine Frage oder eine Antwort posten? Dies sind Dinge, die von Protokollen auf Anwendungsebene gehandhabt werden. Für den Web-Verkehr ist dies das HyperText Transfer Protocol (HTTP). Es gibt Tausende von Protokollen auf Anwendungsebene: SMTP, IMAP und POP3 für E-Mails; XMPP, IRC, ICQ für Chat; Telnet, SSH, RDP für die Fernverwaltung; usw.
Dies sind die fünf Schichten des TCP/IP-Netzwerkmodells, aber sie sind wirklich nur konzeptionell. Das OSI-Modell hat 7 Schichten. In der Praxis sind einige Protokolle zwischen verschiedenen Ebenen angeordnet oder können gleichzeitig auf mehreren Ebenen arbeiten. TLS/SSL bietet beispielsweise Verschlüsselungs- und Sitzungsinformationen zwischen den Netzwerk- und Transportschichten. Über der Anwendungsschicht steuern Anwendungsprogrammierschnittstellen (APIs) die Kommunikation mit Webanwendungen wie Quora, Twitter und Facebook.
Sie sind verschiedene Schichten in der Protokollhierarchie. Werfen Sie einen Blick auf ihre Wikipedia-Seiten oder besuchen Sie eine Website wie tcpipguide.com, um zu erfahren, wie Protokolle übereinander gelegt sind. – Barmar
@Barmar sehr nützliche Verbindung zu tcpipguide.com – Adam