- What is a website

A website is a collection of media elements and web pages accessible by a web browser. A website typically has a domain name registered with the ICANN organization. Websites can be accessed via a web browser, and must be published to a webserver to be accessible. Websites can be used to convey information, sell products, provide entertainment, keep people connected, bring people together, provide news, or, generally, to allow people to communicate, digitally.

- How does it work

When an internet browser reaches a web server, the web server's configuration file determines what page the server delivers. The page is usually executed by the web server, and the results are delivered to the web browser. The web browser renders the content delivered to the user, who can then interact with the content.
external image web-hosting.gif

- Web servers

Web servers contain the files and data required for a website to work. They can execute server-side code in order to allow websites to be dynamic. They communicate with browsers to deliver the data that was requested. There are many different applications that function as a web server. Apache, IIS, Nginx, and GWS are the top four such pieces of software.

- Web browsers

Web browsers access websites by sending a request to the web server. The server then delivers the content back to the web browser, which displays the content. Web browsers also allow users to interact with websites, and allow them to request more information or different webpages, or complete actions on the website. Google Chrome, Mozilla Firefox, Internet Explorer, and Safari are the four most common web browsers in use today.
- DNS
DNS is the "address book" of the Internet. When a computer wants to find the location of a website, it cannot go directly to the domain name (ex. google.com). Instead, it must look up the domain name, and find out where on the Internet the website is. The location of the website is called the IP address. DNS is a complicated beast, but it is necessarily so; each layer presents the opportunity for caching, and without DNS caching, each request would be much slower. The diagram below shows the DNS lookup process.
external image 8268507431_ae7a8b86e2_z.jpg

- History

When websites were first becoming popularized, they were typically just static HTML. They were built by hand, and anything complex was difficult to accomplish. Websites were updated infrequently because the development was usually outsourced. Most websites were owned by companies or hobbyists.
Blogs were popularized in the early 2000's, and allowed anyone to build a website with minimal knowledge of the underlying complexities. Popular blogging platforms were dynamic, and used PHP in combination with a database in order to accomplish that.
The next generation of websites used Adobe Flash (Macromedia Flash, at the time) in order to natively allow animation, videos, and sound. They looked very good at the time, because they could be programmed to have a higher level of intractability than was previously possible.
Content management systems (CMS), such as Wordpress, Drupal, and Joomla, allowed people to deploy their own websites with very high accessibility. They have a login portal that allows people to log in to the 'back end' of the website from their own browser, and manage various menus, the layout of the page, add new content, etc. without any knowledge of the underlying code whatsoever. Plugins and themes are typically available for download that add designs, or features. This allows anyone from small-business owners to soccer moms to make a moderately serviceable site themselves.

- First web servers

Webservers were originally simple tools that allowed the files to be delivered to the web browsers. They eventually gained the ability to access databases and execute server-side code, which allowed for dynamic web pages. They have since gained extensibility, which allows modules to be loaded in for things like load-balancing, secure content delivery, additional security, additional reliability, etc.

- First web browsers

The original web browsers could do little more than request pages from the server, and render basic HTML. They slowly gained the ability to render other types of content, such as images, or PDFs. They also gained the ability to execute code delivered by the server, such as javascript or Flash, which allow for further dynamic content to be displayed.

- Types of websites

The only limit to what a website can do or say is your own creativity. This means that there are many types of websites. Some common types include blogs, wikis, CMSs, search engines, e-commerce sites, social networking sites, news sites, streaming sites, gaming sites, humor sites, etc.