Introduction This article describes how to set up a website www.example.org with nginx and Let’s Encrypt HTTPS certificates on Ubuntu 20.04. I also describe how to make sure that the same website is served at https://example.org The domain example.org is a reserved domain name for use in illustrative examples in documents. and https://www.example.org and that HTTP requests to the server’s IP-adress are redirected to https://www.example.org. The article is based on notes from when I set up this website on a Digital Ocean droplet.
Read more

Fact 1: HTTP stands for Hypertext Transfer Protocol. It does not stand for Hypertext Transport Protocol. Fact 2: HTTP is not a transport protocol in the sense of a computer or network communication protocol, despite it being used as such by SOAP. It is an application-level protocol for distributed, collaborative, hypermedia information systems. Fact 3: HTTP is a protocol, i.e. a specification. It can be implemented in software. Fact 4: REST is a set of software architectural principles and constraints for characterizing a certain class of systems; those that consist of distributed and independently developed and continuously evolving applications that need to collaborate.
Read more

Some reflections on HTTP
Since I wrote this back in 2010, the heated and confused REST/HTTP vs SOAP debate is over. Today, a REST-ful HTTP/JSON API is firmly established as the best-practice technology for web API:s. Of course, there are many legacy systems that provide API:s implemented with other technologies based on other design principles or simply because it seemed like a good idea at the time. I still think these simple reflections on HTTP are relevant for understanding why REST-ful HTTP/JSON API:s have become so dominant today.
Read more