Name and server relashionship

​

A name in dappy may be associated with many IP servers, this allows you not to have a single point of failure for your web application. You may maintain 3 servers at 1.2.3.4, 5.6.7.8 and 9.10.11.12 which all listen to the same host, or a different one. The browser will iterate until a request succeeds.

The only IP addresses the web application (tab) context will ever be able to reach are the ones linked with the name (whitelist). Neither the web server nor the user can alter this whitelist.

Primary and secondary servers

The primary servers are the ones you own, they can be queried by the browser to load the site in the first place (top level navigation). The secondary servers are third party servers like CDN from which you may load resources (images, javascript etc..), or hit API endpoints.

The list of servers associated to name "mysite" in dappy browser

​Our implementation​

An example of property .servers in the configuration of a name "mysite":

{
...
servers: [{
cert: 'BEGIN CERT...',
ip: "1.2.3.4",
host: "mysite",
primary: true,
},{
cert: 'BEGIN CERT...',
ip: "5.6.7.8",
host: "mysite",
primary: true,
},{
cert: 'BEGIN CERT...',
ip: "9.10.11.12",
host: "mysite",
primary: true,
},{
cert: 'BEGIN CERT...',
ip: "20.20.20.20",
host: "weatherapi",
primary: false,
}]
}

This feature mainly concerns IP applications , dapps may still deal with this feature but it is yet to be documented.