A website is a set of files.
A website is developed by a website programmer
The web site files are saved on a Web server which provides web services.
A web server is an operating system like Windows 2003, 2008, Linux which has the required Web services.
Examples of Web services are IIS , Apache.
The process of maintaining the website files on the Web Server is known as Website hosting
Hosting Service providers
Website hosting abbreviated as web hosting is provided as a service by service providers. Some of the service providers are Hostgator, Godaddy, rackspace.com
The customer, who would want to host the webste, would have to purchase an account with the hosting service provider , which would then provide the space on the Web server with the corresponding service like IIS or Apache.
The website files can be uploaded onto the Web Server, with the necessary account information by the customer.
The customer maintains own servers.
The customer sets up web servers and hosts the website.
The Web servers would have an IP address for the Web server.
The IP address would be a public IP address accessible on the internet.
The public IP address is purchased from the local ISP (Internet Service Provider)
Every website is identified by a Name - URL
But for communication, a website should have an IP address.
DNS servers maintain a mapping with the website name and the IP address of the web server on which it is hosted.
Take a Scenario where a user types in the name of the Website on the browser
The following steps are performed by the users operating system.
Send a DNS query to the DNS server configured on it to retrieve the IP address of the Web server on which the website is hosted.
Once the IP address is identified, a TCP 3 way handshake is initiated by the client operating system process (browser window) between the client and the Web server.
The 3 way handshake is initiated on the destination TCP port 80. This is because , the default port on which Web services listen is on port 80.
Once the 3 way handshake is successful, the client requests for the web site files
The requested files are send from the Server to the client using TCP.
The files are loaded on the browser which would display the website