Origin Server

The server that delivers the client-side javascript that starts you browsing the federated wiki is called the Origin Server. It's special.

A browser can expect javascript to communicate with the Origin Server. However, browser vendors are skeptical of javascript that tries to communicate with other (remote) servers. There are many security and privacy implications. Federated Wiki employs several mechanisms to appear respectable to modern browsers.

Cross Origin Resource Sharing allows a server to specifically permit sharing with browsers running javascript on behalf of a different origin. We expect all federated wiki servers to permit sharing.

Remote Proxy would be when our browser asks the origin server to retrieve the remote page on our behalf. We use remote proxy when following remote links. This gives the origin server an opportunity to cache the remote page but we've yet to offer this.

JSONP is a convention used with ajax requests where the requested content is bundled as a script. Strangely running remote javascript is considered safe while reading inert JSON from a non-origin server is not. We don't use JSONP because the origin server cannot know what remote servers a user might visit.

Here we describe the essential elements that make up a Fedwiki Server: