What is HTTP

From Supporting Role Wiki
Jump to navigationJump to search

The Hyper Text Transfer Protocol comes in both plain and encrypted forms. It is the protocol that allows us to download web pages, and navigate web sites. When your computer starts a conversation with a web server, your browser sends a request that includes the site name, and sometimes a directory or a specific web page. If your browser does not request a specific page, the web server at the other end will send back a default page. On a Windows-based web server this is usually a page called default.htm, whereas on a unix-based web server it is usually called index.html. Once this web page has been sent to your computer, your web browser determines what sort of file it is (usually included in the file header) and displays it accordingly.

Since the last set of revisions to the HTTP protocol (1.1) it has been possible for web servers to host many sites on the same server. These are referred to as Virtual Sites, and most hosting companies will use this technology to maximise the efficiency and profitability of their servers.

As well as this, server virtualisation means that a number of virtual servers can share the same hardware, so you can end up with the situation where a single piece of hardware is running 20 virtual servers, each running 100 virtual sites. This is just one of the many reasons why there is such a differential in price between web site providers.

Encryption is provided by technology called SSL (Secure Sockets Layer), which was originally developed by Netscape (they of Netscape Navigator fame). SSL uses certificates not only to encrypt the traffic, but also to provide a level of assurance that the site you are contacting is indeed who they say they are. Every browser has a set of root certificates, issued by reputable companies like Thawse and Verisign. When you buy an SSL certificate from one of these companies, there is a certain amount of verification that you are who you say you are. Then, when your web server presents a SSL certificate to a client browser, that browser can check the authenticity of the certificate by comparing it against the signature in the appropriate root certificate stored in the browser.

Because all this happens before your browser can ask for a specific web site, you can only have one SSL certificate per server IP address, which can make SSL sites expensive, as you need exclusive use of that IP address for the certificate to work properly. In other words, apart from some trick certificates now available, you cannot use virtual sites with SSL.

Web pages are written in a text based programming language, such as HTML (HyperText Markup Language), and it is over HTTP or HTTPS that these pages are delivered to your computer's browser.

Other systems use the HTTP and HTTPS protocol as well. These include WebDAV (a web protocol that allows you to write to a web site) and CalDAV, a calendaring protocol.