<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://knowledgebase.pirho.net/index.php?action=history&amp;feed=atom&amp;title=HTTP_%28HyperText_Transfer_Protocol%29</id>
	<title>HTTP (HyperText Transfer Protocol) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://knowledgebase.pirho.net/index.php?action=history&amp;feed=atom&amp;title=HTTP_%28HyperText_Transfer_Protocol%29"/>
	<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;action=history"/>
	<updated>2026-07-11T15:42:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=300&amp;oldid=prev</id>
		<title>Dex at 11:14, 14 March 2026</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=300&amp;oldid=prev"/>
		<updated>2026-03-14T11:14:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:14, 14 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= HTTP (HyperText Transfer Protocol) =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Summary:&#039;&#039;&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HTTP is an application‑layer protocol that defines how clients and servers exchange representations. While often described as simple and stateless, real‑world HTTP behaviour is shaped by decades of evolution, intermediaries, infrastructure policy, and layered usage. Understanding HTTP as a &amp;#039;&amp;#039;&amp;#039;container protocol&amp;#039;&amp;#039;&amp;#039; is essential to designing, publishing, securing, and troubleshooting modern systems.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HTTP is an application‑layer protocol that defines how clients and servers exchange representations. While often described as simple and stateless, real‑world HTTP behaviour is shaped by decades of evolution, intermediaries, infrastructure policy, and layered usage. Understanding HTTP as a &amp;#039;&amp;#039;&amp;#039;container protocol&amp;#039;&amp;#039;&amp;#039; is essential to designing, publishing, securing, and troubleshooting modern systems.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-270:rev-300:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
	<entry>
		<id>https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=270&amp;oldid=prev</id>
		<title>Dex at 11:31, 13 March 2026</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=270&amp;oldid=prev"/>
		<updated>2026-03-13T11:31:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:31, 13 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l256&quot;&gt;Line 256:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 256:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SOAP did not fail technically — it optimised for enterprise integration rather than browser ergonomics.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SOAP did not fail technically — it optimised for enterprise integration rather than browser ergonomics.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== XML‑RPC: The Predecessor to SOAP ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;XML‑RPC occupies a key position in the evolution of HTTP‑based application protocols.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Created in 1998, it was the first widely adopted method for encoding remote procedure calls in XML and transporting them over HTTP.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Origins and Purpose ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;XML‑RPC was developed as a simple, cross‑platform mechanism for system‑to‑system communication. Its goal was to provide a minimal and easy‑to‑implement RPC framework using:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* XML for structured data&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* HTTP POST for transport&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Message Structure ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;An XML‑RPC call is an XML document containing:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* a &amp;lt;methodCall&amp;gt; root element&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* a &amp;lt;methodName&amp;gt; identifying the operation&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* a &amp;lt;params&amp;gt; list holding typed values&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* a structured &amp;lt;methodResponse&amp;gt; in the reply&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Relationship to SOAP ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;XML‑RPC directly influenced the development of SOAP. As XML‑RPC evolved, additional functionality and extensibility needs led to the creation of SOAP as a feature‑rich successor.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SOAP introduced:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* XML namespaces&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* envelopes and headers&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* structured fault models&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* extensibility modules&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* schema‑driven type systems&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Architectural Significance ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;XML‑RPC demonstrates the flexibility of HTTP as a transport container.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It represents the midpoint between:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* plain HTTP POSTs carrying arbitrary XML&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* the heavily structured, contract‑driven SOAP messaging model&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;XML‑RPC remains an important conceptual and historical link in web service evolution.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DLNA and HTTP Beyond the Browser ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DLNA and HTTP Beyond the Browser ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-269:rev-270:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
	<entry>
		<id>https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=269&amp;oldid=prev</id>
		<title>Dex: Created page with &quot;= HTTP (HyperText Transfer Protocol) = &#039;&#039;&#039;Summary:&#039;&#039;&#039; HTTP is an application‑layer protocol that defines how clients and servers exchange representations. While often described as simple and stateless, real‑world HTTP behaviour is shaped by decades of evolution, intermediaries, infrastructure policy, and layered usage. Understanding HTTP as a &#039;&#039;&#039;container protocol&#039;&#039;&#039; is essential to designing, publishing, securing, and troubleshooting modern systems.  == Context == H...&quot;</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=HTTP_(HyperText_Transfer_Protocol)&amp;diff=269&amp;oldid=prev"/>
		<updated>2026-03-13T11:23:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= HTTP (HyperText Transfer Protocol) = &amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039; HTTP is an application‑layer protocol that defines how clients and servers exchange representations. While often described as simple and stateless, real‑world HTTP behaviour is shaped by decades of evolution, intermediaries, infrastructure policy, and layered usage. Understanding HTTP as a &amp;#039;&amp;#039;&amp;#039;container protocol&amp;#039;&amp;#039;&amp;#039; is essential to designing, publishing, securing, and troubleshooting modern systems.  == Context == H...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= HTTP (HyperText Transfer Protocol) =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
HTTP is an application‑layer protocol that defines how clients and servers exchange representations. While often described as simple and stateless, real‑world HTTP behaviour is shaped by decades of evolution, intermediaries, infrastructure policy, and layered usage. Understanding HTTP as a &amp;#039;&amp;#039;&amp;#039;container protocol&amp;#039;&amp;#039;&amp;#039; is essential to designing, publishing, securing, and troubleshooting modern systems.&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
HTTP was created to transfer documents between machines.&lt;br /&gt;
It was not designed to be an application framework, a session manager, or a security system — those concerns emerged later.&lt;br /&gt;
Today, HTTP underpins:&lt;br /&gt;
&lt;br /&gt;
Web browsing&lt;br /&gt;
APIs and microservices&lt;br /&gt;
Cloud control planes&lt;br /&gt;
Device management&lt;br /&gt;
Media streaming&lt;br /&gt;
Enterprise integration&lt;br /&gt;
&lt;br /&gt;
The gap between HTTP’s original intent and its modern usage explains much of its perceived complexity.&lt;br /&gt;
&lt;br /&gt;
== Position in the Stack ==&lt;br /&gt;
HTTP operates above the transport layer.&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| Application (HTTP)        |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| Transport (TCP / QUIC)    |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| Network (IP)              |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| Data Link / Physical      |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
&lt;br /&gt;
Key implications:&lt;br /&gt;
&lt;br /&gt;
HTTP does not guarantee delivery (the transport does)&lt;br /&gt;
HTTP does not encrypt data (TLS does)&lt;br /&gt;
HTTP does not manage long‑term state (applications do)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Concepts ==&lt;br /&gt;
=== Request–Response Model ===&lt;br /&gt;
HTTP is fundamentally client‑driven.&lt;br /&gt;
Client                    Server&lt;br /&gt;
  | --- Request --------&amp;gt; |&lt;br /&gt;
  | &amp;lt;--- Response ------- |&lt;br /&gt;
&lt;br /&gt;
There is no server‑initiated messaging in classic HTTP.&lt;br /&gt;
Everything begins with a request.&lt;br /&gt;
&lt;br /&gt;
=== Methods and Intent ===&lt;br /&gt;
HTTP methods express intent, not implementation.&lt;br /&gt;
&lt;br /&gt;
GET – retrieve a representation&lt;br /&gt;
POST – submit data or trigger processing&lt;br /&gt;
PUT – replace a resource&lt;br /&gt;
PATCH – modify a resource&lt;br /&gt;
DELETE – remove a resource&lt;br /&gt;
&lt;br /&gt;
Misuse of methods commonly breaks:&lt;br /&gt;
&lt;br /&gt;
caching&lt;br /&gt;
retries&lt;br /&gt;
intermediaries&lt;br /&gt;
security assumptions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Status Codes ===&lt;br /&gt;
Status codes communicate outcome, not meaning.&lt;br /&gt;
&lt;br /&gt;
2xx – success&lt;br /&gt;
3xx – redirection&lt;br /&gt;
4xx – client error&lt;br /&gt;
5xx – server error&lt;br /&gt;
&lt;br /&gt;
A status code indicates where a failure occurred — not why.&lt;br /&gt;
&lt;br /&gt;
== HTTP as a Container ==&lt;br /&gt;
HTTP is best understood as a &amp;#039;&amp;#039;&amp;#039;structured container&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
It defines:&lt;br /&gt;
&lt;br /&gt;
how data is wrapped&lt;br /&gt;
how metadata is expressed&lt;br /&gt;
how representations are transported&lt;br /&gt;
&lt;br /&gt;
It does not define:&lt;br /&gt;
&lt;br /&gt;
business meaning&lt;br /&gt;
processing logic&lt;br /&gt;
data validity&lt;br /&gt;
security policy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The HTTP Envelope ===&lt;br /&gt;
An HTTP message consists of three parts:&lt;br /&gt;
+----------------------------------+&lt;br /&gt;
| Start Line                        |&lt;br /&gt;
|----------------------------------|&lt;br /&gt;
| Headers                           |&lt;br /&gt;
|----------------------------------|&lt;br /&gt;
|                                  |&lt;br /&gt;
| Body (Representation)             |&lt;br /&gt;
|                                  |&lt;br /&gt;
+----------------------------------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The start line expresses intent or outcome&lt;br /&gt;
Headers describe the representation&lt;br /&gt;
The body carries opaque data&lt;br /&gt;
&lt;br /&gt;
HTTP does not interpret the body.&lt;br /&gt;
&lt;br /&gt;
=== Headers as Metadata ===&lt;br /&gt;
Headers describe content — they do not enforce behaviour.&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
Content-Type&lt;br /&gt;
Content-Length&lt;br /&gt;
Authorization&lt;br /&gt;
Cache-Control&lt;br /&gt;
&lt;br /&gt;
Any intermediary may:&lt;br /&gt;
&lt;br /&gt;
inspect headers&lt;br /&gt;
rewrite headers&lt;br /&gt;
add new headers&lt;br /&gt;
ignore headers entirely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nested Containers ===&lt;br /&gt;
Modern systems routinely layer containers:&lt;br /&gt;
HTTP&lt;br /&gt;
 └─ JSON / XML&lt;br /&gt;
     └─ Domain Object&lt;br /&gt;
         └─ Business Meaning&lt;br /&gt;
&lt;br /&gt;
When something breaks, the key question is:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Which container failed?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== How HTTP Evolved ==&lt;br /&gt;
HTTP evolved in response to real operational pain.&lt;br /&gt;
=== HTTP/0.9 – File Transfer ===&lt;br /&gt;
&lt;br /&gt;
No headers&lt;br /&gt;
One request per connection&lt;br /&gt;
Experimental&lt;br /&gt;
&lt;br /&gt;
=== HTTP/1.0 – Metadata ===&lt;br /&gt;
&lt;br /&gt;
Headers introduced&lt;br /&gt;
Status codes&lt;br /&gt;
Still connection‑per‑request&lt;br /&gt;
&lt;br /&gt;
=== HTTP/1.1 – Operational Reality ===&lt;br /&gt;
&lt;br /&gt;
Persistent connections&lt;br /&gt;
Chunked transfer encoding&lt;br /&gt;
Mandatory Host header&lt;br /&gt;
Improved caching&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 remains widely deployed.&lt;br /&gt;
&lt;br /&gt;
=== Intermediaries Become Permanent ===&lt;br /&gt;
As the web scaled, intermediaries emerged:&lt;br /&gt;
&lt;br /&gt;
proxies&lt;br /&gt;
firewalls&lt;br /&gt;
load balancers&lt;br /&gt;
CDNs&lt;br /&gt;
&lt;br /&gt;
Modern HTTP behaviour is often shaped more by the path than by the endpoints.&lt;br /&gt;
&lt;br /&gt;
=== HTTP/2 and HTTP/3 ===&lt;br /&gt;
Later versions improved transport efficiency:&lt;br /&gt;
&lt;br /&gt;
multiplexing&lt;br /&gt;
binary framing&lt;br /&gt;
improved connection handling&lt;br /&gt;
&lt;br /&gt;
They did not change HTTP semantics.&lt;br /&gt;
&lt;br /&gt;
== Stateful and Application‑Aware Firewalls ==&lt;br /&gt;
Stateful firewalls remember conversations.&lt;br /&gt;
Application‑aware firewalls interpret HTTP itself.&lt;br /&gt;
They may:&lt;br /&gt;
&lt;br /&gt;
validate methods&lt;br /&gt;
inspect headers&lt;br /&gt;
block responses&lt;br /&gt;
rewrite content&lt;br /&gt;
terminate sessions&lt;br /&gt;
&lt;br /&gt;
HTTP may be stateless — infrastructure is not.&lt;br /&gt;
&lt;br /&gt;
== Reverse Proxies ==&lt;br /&gt;
A reverse proxy presents itself as the server while forwarding requests upstream.&lt;br /&gt;
Client ───► Reverse Proxy ───► Application&lt;br /&gt;
&lt;br /&gt;
Common responsibilities:&lt;br /&gt;
&lt;br /&gt;
service publication&lt;br /&gt;
TLS termination&lt;br /&gt;
load balancing&lt;br /&gt;
authentication&lt;br /&gt;
policy enforcement&lt;br /&gt;
&lt;br /&gt;
Reverse proxies are architectural boundaries, not optimisations.&lt;br /&gt;
&lt;br /&gt;
== Forward Proxies, Caching, and Control ==&lt;br /&gt;
Forward proxies act on behalf of clients.&lt;br /&gt;
Client ───► Proxy ───► Internet&lt;br /&gt;
&lt;br /&gt;
They are used for:&lt;br /&gt;
&lt;br /&gt;
caching&lt;br /&gt;
traffic control&lt;br /&gt;
policy enforcement&lt;br /&gt;
bandwidth management&lt;br /&gt;
hotspot and walled‑garden control&lt;br /&gt;
&lt;br /&gt;
HTTP’s descriptive nature makes it an effective policy surface.&lt;br /&gt;
&lt;br /&gt;
== Hotspots and Walled Gardens ==&lt;br /&gt;
In controlled networks, HTTP is intercepted and shaped.&lt;br /&gt;
&lt;br /&gt;
DNS is allowed&lt;br /&gt;
authentication portals are reachable&lt;br /&gt;
other destinations are blocked&lt;br /&gt;
access is gradually opened&lt;br /&gt;
&lt;br /&gt;
This is achieved by controlling HTTP flows, not by modifying applications.&lt;br /&gt;
&lt;br /&gt;
== HTTP Across Web 1.0, 2.0, and 3.0 ==&lt;br /&gt;
The “Web X.0” labels describe usage patterns, not protocol changes.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Web 1.0&amp;#039;&amp;#039;&amp;#039; – HTTP delivers documents&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Web 2.0&amp;#039;&amp;#039;&amp;#039; – HTTP carries application messages&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Web 3.0&amp;#039;&amp;#039;&amp;#039; – HTTP underpins services and abstractions&lt;br /&gt;
&lt;br /&gt;
HTTP remains the constant container beneath evolving expectations.&lt;br /&gt;
&lt;br /&gt;
== SOAP: HTTP as a Transport Bus ==&lt;br /&gt;
SOAP is an application protocol layered on HTTP.&lt;br /&gt;
HTTP&lt;br /&gt;
 └─ SOAP Envelope&lt;br /&gt;
     └─ XML Payload&lt;br /&gt;
&lt;br /&gt;
SOAP treats HTTP primarily as:&lt;br /&gt;
&lt;br /&gt;
transport&lt;br /&gt;
addressing&lt;br /&gt;
firewall‑friendly delivery&lt;br /&gt;
&lt;br /&gt;
It prioritises:&lt;br /&gt;
&lt;br /&gt;
contracts&lt;br /&gt;
strong typing&lt;br /&gt;
formal governance&lt;br /&gt;
&lt;br /&gt;
SOAP did not fail technically — it optimised for enterprise integration rather than browser ergonomics.&lt;br /&gt;
&lt;br /&gt;
== DLNA and HTTP Beyond the Browser ==&lt;br /&gt;
DLNA demonstrates HTTP used outside traditional web contexts.&lt;br /&gt;
&lt;br /&gt;
Discovery uses HTTP‑formatted messages over UDP (SSDP)&lt;br /&gt;
Control uses SOAP over HTTP/TCP&lt;br /&gt;
Media streaming uses HTTP over TCP&lt;br /&gt;
RTP over UDP is optional and legacy&lt;br /&gt;
&lt;br /&gt;
DLNA uses HTTP as:&lt;br /&gt;
&lt;br /&gt;
a message grammar&lt;br /&gt;
a control channel&lt;br /&gt;
a content container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Common Pitfalls ==&lt;br /&gt;
&lt;br /&gt;
Assuming clients talk directly to servers&lt;br /&gt;
Ignoring intermediaries&lt;br /&gt;
Treating headers as authoritative&lt;br /&gt;
Misusing HTTP methods&lt;br /&gt;
Assuming stateless behaviour end‑to‑end&lt;br /&gt;
&lt;br /&gt;
Most HTTP failures are emergent, not local.&lt;br /&gt;
&lt;br /&gt;
== Design &amp;amp; Architecture Considerations ==&lt;br /&gt;
=== Scalability ===&lt;br /&gt;
Stateless endpoints scale; state moves elsewhere.&lt;br /&gt;
=== Security ===&lt;br /&gt;
Trust boundaries matter more than encryption alone.&lt;br /&gt;
=== Maintainability ===&lt;br /&gt;
Explicit contracts and logging at boundaries are essential.&lt;br /&gt;
=== Backwards Compatibility ===&lt;br /&gt;
Legacy behaviour persists indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Diagnostics ==&lt;br /&gt;
When HTTP breaks:&lt;br /&gt;
&lt;br /&gt;
inspect raw requests and responses&lt;br /&gt;
compare behaviour across paths&lt;br /&gt;
log before and after intermediaries&lt;br /&gt;
validate container boundaries&lt;br /&gt;
&lt;br /&gt;
HTTP failures are often observable — if you look at the wire.&lt;br /&gt;
&lt;br /&gt;
== Architectural Takeaway ==&lt;br /&gt;
HTTP is not just a protocol.&lt;br /&gt;
It is:&lt;br /&gt;
&lt;br /&gt;
a container&lt;br /&gt;
a negotiation mechanism&lt;br /&gt;
a policy surface&lt;br /&gt;
a historical artifact&lt;br /&gt;
an infrastructural constant&lt;br /&gt;
&lt;br /&gt;
Understanding HTTP means understanding the &amp;#039;&amp;#039;&amp;#039;entire path&amp;#039;&amp;#039;&amp;#039; it travels.&lt;br /&gt;
&lt;br /&gt;
== Related Topics ==&lt;br /&gt;
&lt;br /&gt;
[[TCP]]&lt;br /&gt;
[[TLS]]&lt;br /&gt;
[[Reverse Proxies]]&lt;br /&gt;
[[API Design]]&lt;br /&gt;
[[SOAP]]&lt;br /&gt;
[[DLNA]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
RFC 9110 – HTTP Semantics&lt;br /&gt;
RFC 9112 – HTTP/1.1&lt;br /&gt;
RFC 7540 – HTTP/2&lt;br /&gt;
RFC 9000 – QUIC&lt;/div&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
</feed>