Servers and Databases

Servers, Databases, API Endpoints

Web servers host web pages and respond to requests to provide content. A database is used to store data, while an API endpoint is used to create, read, update and delete data. Two popular ways to fetch data are using a REST API or using a query language such as GraphQL.


Nginx is used to serve the websites listed on the homepage.


The iOS and Android apps listed on the homepage are run in docker containers.


Node file servers are used to store images, media and file uploads on this site.


mongodb

MongoDB is used to store user data for websites and apps listed on the home page.


REST API:

REST stands for REpresentational State Transfer. It is how HTTP was intended to be used for consuming and publishing information on the web.


A REST API provides a way for a client to Create, Read, Update and Delete (CRUD) data on a server using specific requests. Some examples include looking up the GPS location of a photo on Instagram or updating the number of 'likes' on a post.


GraphQL and Apollo:

With the emergence of GraphQL, platforms such as Apollo offer efficient ways to communicate between the front and back end. Based on a predefined data graph, the API endpoints are declared upfront so only the data that needs to be consumed is transfered in each request.


Fun Fact:

On August 6th 1991 the first web page was published on the world wide web. The web server used was W3C httpd running on a NeXTCube computer. The NeXTCube's CPU ran at 25MHz and had 16MB of RAM. The W3C http (or CERN httpd) was the precursor for Apache HTTP and NGINX.