Das Hypertext Transfer Protocol (HTTP) ist eines der am weitesten verbreiteten Protokolle im Internet. Es ist außerdem eines der wenigen Protokolle, das die Lücke zwischen Netzwerk- und Anwendungsentwicklungsgruppen schließt, indem es Informationen enthält, die von beiden bei der Bereitstellung und Entwicklung webbasierter Anwendungen verwendet werden.
HTTP ist eine Methode zum Kodieren und Transportieren von Informationen zwischen einem Client (z. B. einem Webbrowser) und einem Webserver. HTTP ist das primäre Protokoll für die Übertragung von Informationen über das Internet.
Der Informationsaustausch zwischen Clients und Servern erfolgt in Form von Hypertext-Dokumenten, woher HTTP seinen Namen hat. Hypertext ist strukturierter Text, der logische Verknüpfungen bzw. Hyperlinks zwischen Knoten verwendet, die Text enthalten. Hypertext-Dokumente können mit der Hypertext Markup Language (HTML) bearbeitet werden. Mithilfe von HTTP und HTML können Clients unterschiedliche Arten von Inhalten (wie Text, Bilder, Videos und Anwendungsdaten) von Web- und Anwendungsservern anfordern, die die Inhalte hosten.
HTTP folgt einem Anforderungs-Antwort-Paradigma, bei dem der Client eine Anforderung stellt und der Server eine Antwort ausgibt, die nicht nur den angeforderten Inhalt, sondern auch relevante Statusinformationen zur Anforderung enthält. Dieses in sich geschlossene Design berücksichtigt die verteilte Natur des Internets, wo eine Anfrage oder Antwort viele Zwischenrouter und Proxyserver durchlaufen kann. Darüber hinaus können Zwischenserver Mehrwertfunktionen wie Lastausgleich, Caching, Verschlüsselung und Komprimierung ausführen.
HTTP ist ein Protokoll der Anwendungsschicht und benötigt für seine Funktion ein zugrunde liegendes Protokoll der Netzwerkschicht, beispielsweise das Transmission Control Protocol (TCP).
Die Funktionsweise von HTTP, insbesondere die Header, die vom Client und Server zum Austausch von Informationen zu Status und Funktionen verwendet werden, wirken sich häufig auf die Leistung webbasierter Anwendungen aus. Das Verständnis von HTTP und der Art und Weise, wie diese Header das Verhalten dieser Anwendungen steuern, kann zu einer besseren Endbenutzerleistung führen und erleichtert die Auswahl einer Anwendungsbeschleunigungslösung, die die Mängel von HTTP- und browserbasierten Lösungen behebt.