<?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=How_Computers_Interact_with_HTTP_Endpoints</id>
	<title>How Computers Interact with HTTP Endpoints - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://knowledgebase.pirho.net/index.php?action=history&amp;feed=atom&amp;title=How_Computers_Interact_with_HTTP_Endpoints"/>
	<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=How_Computers_Interact_with_HTTP_Endpoints&amp;action=history"/>
	<updated>2026-07-11T13:06:07Z</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=How_Computers_Interact_with_HTTP_Endpoints&amp;diff=299&amp;oldid=prev</id>
		<title>Dex at 11:13, 14 March 2026</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=How_Computers_Interact_with_HTTP_Endpoints&amp;diff=299&amp;oldid=prev"/>
		<updated>2026-03-14T11:13:53Z</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:13, 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;= How Computers Interact with HTTP Endpoints =&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;&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;This article explains how computers programmatically communicate with remote systems using HTTP-based interfaces. It covers common web service approaches including XML-RPC, SOAP, RESTful APIs, and JSON-RPC, explaining how they differ, why they exist, and where each is still encountered in real-world 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;This article explains how computers programmatically communicate with remote systems using HTTP-based interfaces. It covers common web service approaches including XML-RPC, SOAP, RESTful APIs, and JSON-RPC, explaining how they differ, why they exist, and where each is still encountered in real-world 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-271:rev-299:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
	<entry>
		<id>https://knowledgebase.pirho.net/index.php?title=How_Computers_Interact_with_HTTP_Endpoints&amp;diff=271&amp;oldid=prev</id>
		<title>Dex: Created page with &quot;= How Computers Interact with HTTP Endpoints =  &#039;&#039;&#039;Summary:&#039;&#039;&#039; This article explains how computers programmatically communicate with remote systems using HTTP-based interfaces. It covers common web service approaches including XML-RPC, SOAP, RESTful APIs, and JSON-RPC, explaining how they differ, why they exist, and where each is still encountered in real-world systems.  == Context == HTTP is often thought of as a protocol for humans using web browsers. In practice, it i...&quot;</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=How_Computers_Interact_with_HTTP_Endpoints&amp;diff=271&amp;oldid=prev"/>
		<updated>2026-03-13T11:45:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= How Computers Interact with HTTP Endpoints =  &amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039; This article explains how computers programmatically communicate with remote systems using HTTP-based interfaces. It covers common web service approaches including XML-RPC, SOAP, RESTful APIs, and JSON-RPC, explaining how they differ, why they exist, and where each is still encountered in real-world systems.  == Context == HTTP is often thought of as a protocol for humans using web browsers. In practice, it i...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= How Computers Interact with HTTP Endpoints =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
This article explains how computers programmatically communicate with remote systems using HTTP-based interfaces. It covers common web service approaches including XML-RPC, SOAP, RESTful APIs, and JSON-RPC, explaining how they differ, why they exist, and where each is still encountered in real-world systems.&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
HTTP is often thought of as a protocol for humans using web browsers. In practice, it is more commonly used for machine-to-machine communication.&lt;br /&gt;
&lt;br /&gt;
When one system needs to:&lt;br /&gt;
* submit data to another system&lt;br /&gt;
* request information&lt;br /&gt;
* trigger a remote action&lt;br /&gt;
* integrate with a third-party platform&lt;br /&gt;
&lt;br /&gt;
…it will often do so by sending structured data to an HTTP endpoint.&lt;br /&gt;
&lt;br /&gt;
These interactions are commonly referred to as:&lt;br /&gt;
* Web Services&lt;br /&gt;
* APIs (Application Programming Interfaces)&lt;br /&gt;
&lt;br /&gt;
While modern systems strongly favour RESTful APIs, older and more formal RPC-style approaches are still widely encountered and must be understood.&lt;br /&gt;
&lt;br /&gt;
== The Basic Interaction Model ==&lt;br /&gt;
At a fundamental level, all HTTP-based integrations follow the same pattern:&lt;br /&gt;
&lt;br /&gt;
Client System -&amp;gt; HTTP Request -&amp;gt; Endpoint -&amp;gt; HTTP Response -&amp;gt; Client System&lt;br /&gt;
&lt;br /&gt;
Key points:&lt;br /&gt;
* HTTP is the transport&lt;br /&gt;
* The payload format defines the service style&lt;br /&gt;
* The contract defines what both sides expect&lt;br /&gt;
&lt;br /&gt;
== Web Services vs APIs ==&lt;br /&gt;
Historically, the term Web Service implied:&lt;br /&gt;
* formal contracts&lt;br /&gt;
* strict schemas&lt;br /&gt;
* RPC-style method calls&lt;br /&gt;
&lt;br /&gt;
The term API is broader and now usually implies:&lt;br /&gt;
* resource-based interaction&lt;br /&gt;
* lightweight formats (JSON)&lt;br /&gt;
* pragmatic, loosely-coupled design&lt;br /&gt;
&lt;br /&gt;
In practice:&lt;br /&gt;
* SOAP and XML-RPC are classic Web Services&lt;br /&gt;
* RESTful interfaces are modern APIs&lt;br /&gt;
* JSON-RPC sits somewhere in between&lt;br /&gt;
&lt;br /&gt;
== RPC-Style Services ==&lt;br /&gt;
RPC-style services treat HTTP as a tunnel for calling remote functions.&lt;br /&gt;
The client effectively says: &amp;quot;Run this method with these parameters.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Characteristics:&lt;br /&gt;
* Strongly action-oriented&lt;br /&gt;
* Message body defines the operation&lt;br /&gt;
* Server behaves like a remote object or service&lt;br /&gt;
&lt;br /&gt;
== XML-RPC ==&lt;br /&gt;
Key Characteristics:&lt;br /&gt;
* Uses HTTP POST&lt;br /&gt;
* Payload is XML&lt;br /&gt;
* Calls a named method with parameters&lt;br /&gt;
&lt;br /&gt;
Where You’ll See It:&lt;br /&gt;
* Legacy systems&lt;br /&gt;
* Older CMS platforms&lt;br /&gt;
* Internal automation tools&lt;br /&gt;
&lt;br /&gt;
== SOAP ==&lt;br /&gt;
SOAP is a formal, standards-driven evolution of RPC-style services.&lt;br /&gt;
&lt;br /&gt;
Strengths:&lt;br /&gt;
* Strong contracts&lt;br /&gt;
* Formal validation&lt;br /&gt;
* Enterprise tooling support&lt;br /&gt;
&lt;br /&gt;
Weaknesses:&lt;br /&gt;
* Verbose&lt;br /&gt;
* Complex&lt;br /&gt;
* Tooling-heavy&lt;br /&gt;
&lt;br /&gt;
== RESTful APIs ==&lt;br /&gt;
REST treats HTTP as a first-class application protocol.&lt;br /&gt;
&lt;br /&gt;
Core Principles:&lt;br /&gt;
* Resources identified by URLs&lt;br /&gt;
* Standard HTTP verbs define actions&lt;br /&gt;
* Stateless interactions&lt;br /&gt;
* Clear use of HTTP status codes&lt;br /&gt;
&lt;br /&gt;
== Why REST Is Preferred ==&lt;br /&gt;
REST aligns naturally with how HTTP already works.&lt;br /&gt;
Advantages:&lt;br /&gt;
* Simple mental model&lt;br /&gt;
* Human-readable&lt;br /&gt;
* Easy debugging&lt;br /&gt;
* Scales well&lt;br /&gt;
&lt;br /&gt;
== JSON-RPC ==&lt;br /&gt;
JSON-RPC brings RPC-style semantics into the JSON world.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{&amp;quot;method&amp;quot;: &amp;quot;getUserDetails&amp;quot;, &amp;quot;params&amp;quot;: {&amp;quot;userId&amp;quot;: 123}}&lt;br /&gt;
&lt;br /&gt;
== REST vs RPC Comparison ==&lt;br /&gt;
REST = resource-oriented&lt;br /&gt;
RPC = method-oriented&lt;br /&gt;
&lt;br /&gt;
== Common Pitfalls ==&lt;br /&gt;
* Treating REST endpoints like RPC calls&lt;br /&gt;
* Ignoring status codes&lt;br /&gt;
* Overloading POST&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
Check:&lt;br /&gt;
* HTTP codes&lt;br /&gt;
* Headers&lt;br /&gt;
* Payload validity&lt;br /&gt;
&lt;br /&gt;
== Related Topics ==&lt;br /&gt;
* [[HTTP Status Codes]]&lt;br /&gt;
* [[API Authentication Methods]]&lt;br /&gt;
* [[REST API Versioning]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* RFC 2616 / 7230–7235 (HTTP)&lt;br /&gt;
* SOAP 1.2 Specification&lt;br /&gt;
* JSON-RPC Specification&lt;/div&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
</feed>