For many of us a network is either our little home setup consisting of perhaps a modem and wireless access point and a few connected devices, or perhaps that huge global wide network – the internet. Whatever the size all networks need to allow communication between the various devices connected to them. Just like human beings need languages to communicate so do networks only in this context we call them ‘protocols’.
The internet is built primarily using TCP/IP protocols to communicate, this is used to transport information between ‘web clients’ and ‘web servers’. It’s not enough though to enable the media rich content delivered to our web browsers and a host of secondary protocols site above the main transport protocol – the most important one which enables the world wide web is called HTTP.
This provides a method for web browsers to access content stored on web servers, which is created using HTML (Hypertext Markup Language). HTML documents contain text, graphics and video but also hyperlinks to other locations on the world wide web. HTTP is responsible for processing these links and enabling the client/server communication which results.
Without HTTP the world wide web simply wouldn’t exist and if you want to see it’s origins search for RFC 1945 where you’ll find HTTP defined as an application level protocol designed with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. It is a stateless, generic and object orientated protocol which can be used for a huge variety of tasks – crucially it can be used on a variety of platforms which means it doesn’t matter whether you’re platform your computer is on (linux, Windows or Mac for instance) – you can still access the web content via HTTP.
The content is largely irrelevant as well although obviously your computer may need plugins or codecs in order to handle things like specific video formats. The fact is that the protocol doesn’t limit you in any way. I can just as easily watch something like the BBC iPlayer on a high end Unix server as I can on a cheap desktop PC. Indeed in many environments this has become to be a problem where traffic into corporate networks is rising rapidly because so many formats can be supported under HTTP.
It’s incredible to see something like a video being streamed across the internet, across many different forms of hardware all encapsulated in a single web page powered by HTTP. When many people worried that tehir access to the BBC iPlayer stopped working last year, it was thought it could be some sort of compatibility problems. In truth it was simply the BBC VPN not working that most ex-pats used to bypass the geo-blocking introduced earlier in the decade.
So what happens? When someone types a web name or address into the address field of their web browser, the browser attempts to locate the address on the network it is connected to. This can either be a local address or more commonly it will look out on to the internet looking for the designated web server. HTTP is the command and control protocol which enables communication between the client and the web server allowing commands to be passed between the two of them. HTML is the formatting language of the web pages which are transferred when you access a web site.
The HTTP connection between the client and server can be secured in two specific ways – using secure HTTP (SHTTP) or Secure Sockets Layer (SSL) which both allow the information transmitted to be encrypted and thus protected. It should be noted though that the vast majority of communication is standard HTTP and is transmitted in clear text insecurely which is why so many people use proxies and VPNs like this to protect their connections.