To understand the factors and risks which affect the security of your website, it is helpful to have a basic understanding of how the Internet works. This post sets the scene, introducing some of the basic concepts which we will explore in more detail in later posts.
So what is the Internet?
The Internet is the global system of interconnected computer networks. These networks use the standard Internet Protocol Suite (known as TCP/IP) to allow information to be transferred between computers and networks. The diagram below illustrates the Internet in its simplest form, a networked computer connected to a host (server) using HTTP, with a domain name server (DNS) translating the web address entered by the user into an IP address.
The user communicates with the server using a browser (e.g. Firefox, Internet Explorer, Safari, etc) . Using this Internet connection the user can access a vast array of information resources and services, particularly the inter-linked hypertext documents which are commonly referred to as the World Wide Web (WWW), but also services such as electronic mail and streamed multi-media (films, television and audio). There is an interesting video illustrating internet connectivity here.
What do we mean by HTTP?
So how does a user connect to a website?
In the above diagram, if the user wishes to obtain a page from the WWW, the page address may be entered into the browser address field, or a hyperlink clicked.The browser initiates the communication by sending an HTTP Request and the Website (Server) will respond with an HTTP Response. Every time the browser needs to send a request, it first establishes a TCP reliable connection with the website, then transfer the request via this connection. Similarly, when the website needs to return an HTTP Response to browser. Either of the two parties – the browser or the website can prematurely stop a data transfer by simply terminating the TCP connection.
What are the HTTP Requests and HTTP Responses?
An HTTP Request has three main components, they are:
- HTTP Request Method, URI, and Protocol Version
- HTTP Request Headers
- HTTP Request Body
An HTTP Response also has three main components, which are:
- Protocol/Version, Status Code, and its Description
- HTTP Response Headers
- HTTP Response Body
We will look at a simple HTTP Request and Response interaction in a future post.
An HTTP Request has been sent, what happens next?
In our next post we will look at the composition of a typical web-server used to host a Joomla! website, and examine the components used to receive, interpret and respond to the Request.