What is a shared web hosting ?
Shared web hosting service refers to a web hosting service where many websites reside on one web server connected to the Internet. This is generally the most economical option for hosting, as the overall cost of server maintenance is amortized over many customers.
By choosing shared hosting, the website will share a physical server with one or different other websites. With shared hosting, a server will store different other files and would be responsible for serving up the information about them.
In a shared hosting environment, your and other website owners shared one server. This includes sharing the physical server and the software applications within the server. Shared hosting services are affordable because the cost to operate the server is shared between you and these other owners. There are, however, a number of down sides, such as being slower.
The service must include system administration since it is shared by many users; this is a benefit for users who do not want to deal with it, but a hindrance to power users who want more control. In general shared hosting will be inappropriate for users who require extensive software development outside what the hosting provider supports.
Almost all applications intended to be on a standard web server work fine with a shared web hosting service. But on the other hand, shared hosting is cheaper than other types of hosting such as dedicated server hosting. Shared hosting usually has usage limits and hosting providers should have extensive reliability features in place.
Shared hosting services typically offer basic web statistics support, email and webmail services, auto script installations, updated PHP and MySQL, basic after-sale technical support that is included with a monthly subscription. It also typically uses a web-based control panel system.
Most of the large hosting companies use their own custom developed control panel. Control panels and web interfaces can cause controversy however since web hosting companies sometimes sell the right to use their control panel system to others. Attempting to recreate the functionality of a specific control panel is common, which leads to many lawsuits over patent infringement.
In shared hosting, the provider is generally responsible for managing servers, installing server software, security updates, technical support, and other aspects of the service. Most servers are based on the Linux operating system and LAMP (software bundle). Some providers offer Microsoft Windows-based or FreeBSD-based solutions.
Server-side facilities for either operating system (OS) have similar functionality (for example: MySQL (database) and many server-side programming languages (such as the widely used PHP programming language) under Linux, or the proprietary SQL Server (database) and ASP.NET programming language under Microsoft Windows.
Shared web hosting can also be done privately by sharing the cost of running a server in a colocation centre; this is called cooperative hosting.
How to manage a shared web hosting server ?
Shared web hosting can be accomplished in two ways: name-based and Internet Protocol-based (IP-based), although some control panels allow a mix of name-based and IP-based on the one server.
In IP-based virtual hosting, also called dedicated IP hosting, each virtual host has a different IP address. The web server is configured with multiple physical network interfaces or virtual network interfaces on the same physical interface. The web server software uses the IP address the client connects to in order to determine which website to show the user. The issue of IPv4 address exhaustion means that IP addresses are an increasingly scarce resource, so the primary justification for a site to use a dedicated IP is to be able to use its own SSL/TLS certificate rather than a shared certificate.
In name-based virtual hosting, also called shared IP hosting, the virtual hosts serve multiple hostnames on a single machine with a single IP address. This is possible because when a web browser requests a resource from a web server using HTTP/1.1 it includes the requested hostname as part of the request. The server uses this information to determine which website to show the user.
Understanding DNS and name servers
DNS stands for “Domain Name System”. The domain name system acts like a large telephone directory and in that it’s the master database, which associates a domain name such as
www.wikipedia.org with the appropriate IP number. Consider the IP number something similar to a phone number: When someone calls
www.wikipedia.org, the ISP looks at the DNS server, and asks “how do I contact
www.wikipedia.org?” The DNS server responds, for example, “it can be found at:
220.127.116.11.”. As the Internet understands it, this can be considered the phone number for the server that houses the website. When the domain name is registered/purchased on a particular registrar’s “name server”, the DNS settings are kept on their server, and in most cases point the domain to the name server of the hosting provider. This name server is where the IP number (currently associated with the domain name) resides.
DNS Distributed System
Every domain has a domain name server handling its requests, and there is a person or IT team maintaining the records in that DNS server’s database. No other database on the planet gets as many requests as DNS servers, and they handle all those queries while also processing data updates from millions of people every day. That’s one of the most amazing parts of DNS — it is completely distributed throughout the world on millions of machines, managed by millions of people, and yet it behaves like a single, integrated database!
A DNS server will have one of the following as its primary task:
- Maintain a small database of domain names and IP addresses most often used on its own network, and delegate name resolution for all other names to other DNS servers on the Internet.
- Pair IP addresses with all hosts and sub-domains for which that DNS server has authority.
To deal with millions of Internet users throughout the globe, a single DNS server is not capable of mapping each and every hostname to every IP address in a Computer Network. Thus, a network of DNS known as Distributed DNS is formed. This Domain Name Systems are structured in a hierarchical format. There are basically 3 types of DNS servers- Root Servers, Top-level Domain Servers and Authoritative Servers. Lets have a look at this diagram.
1. Root DNS Servers:
There are 13 root servers throughout the globe. They are named from A to M. Most of these are located in North America. This doesn’t mean that there are only 13 root DNS servers. This indicates that there are 13 authoritative companies that look after these root DNS servers and most of these companies are in North America. Because root DNS servers are replicated at various places to distribute the load and provide better services. The number of root DNS servers is around 247 that are spread throughout the world.
2. Top Level Domain (TLD )Servers:
These servers are responsible for the Top level Domain Names such as .com, .org, .edu, .gov etc. and the Top level Domains of a country such as .in, .us, .fr etc. The Two companies, 1st is Verisign Global Registry Services maintains the TLD servers for com top level domain and 2nd one is the Educause, that maintains the edu top level domains.
3. Authoritative Servers:
A company or a university can maintain their own authoritative DNS servers. The organisation having its host accessible publicly to the Internet can provide an authoritative DNS servers.
There is also one more type of DNS servers. These are known as Local DNS servers. Every Internet Service Provider (ISP) has a local DNS. Whenever a host connects to a ISP, the ISP provides it with the IP address of its local DNS server. When a host makes a DNS query , the query is 1st send to the local DNS, which forwards it to the upper DNS server hierarchy.
DNS servers that perform the first task are normally managed by your Internet service provider (ISP). As mentioned earlier, the ISP’s DNS server is part of the network configuration you get from DHCP as soon as you go online. These servers reside in your ISP’s data centers, and they handle requests as follows:
- If it has the domain name and IP address in its database, it resolves the name itself.
- If it doesn’t have the domain name and IP address in its database, it contacts another DNS server on the Internet. It may have to do this multiple times.
- If it has to contact another DNS server, it caches the lookup results for a limited time so it can quickly resolve subsequent requests to the same domain name.
- If it has no luck finding the domain name after a reasonable search, it returns an error indicating that the name is invalid or doesn’t exist.
Let us discuss an example that will make you clear with the working of the DNS servers in a hierarchy.
Let us suppose that a host ec.school.edu wants the IP address of the cs.stanford.edu. The local DNS server of ec.school.edu is dns.school.edu and the authoritative DNS server of cs.stanford.edu is dns.stanford.edu. The host ec.school.edu will 1st send the DNS query to its local DNS server. The query is to translate the hostname cs.stanford.edu into its IP address. The local DNS server forwards the query to the root DNS server. The root DNS notes that the query contains the .edu suffix, and returns the local DNS server a list of IP addresses for TLD servers responsible for .edu. The local DNS server then re-sends the query to a TLD server. The TLD server notes that query is with .stanford.edu suffix. Thus it responds with the IP address of authoritative DNS server for the Stanford University, named dns.stanford.edu. The local server now sends the final query to the dns.stanford.edu, which responds with the IP address of the cs.stanford.edu. You can see that, to obtain the IP address for 1 hostname, 8 DNS queries are being sent. Thus to reduce these queries DNS caching is used, that I will tell you later in this post.
Lets clear it with the help of a figure :
Here we have observed that the TLD server knows the address of the Authoritative server, but in real world , it might not be the case. For example : Stanford University has a DNS server dns.stanford.edu. And the individual departments in the University might have their separate DNS servers for the departments, that will act as Authoritative Servers for the hosts in that department. Now the local server will send a query for cs.stanford.edu to the Stanford DNS server, dns.stanford.edu. The Stanford server will now return the IP address of the Authoritative server of CS department, dns.cs.stanford.edu. Finally the local server will sends a query directly to the authoritative DNS server of CS department, and it will return the desired IP address of the host. In this case, there will be total 10 DNS messages sent.
A figure for this scenario:
There are particularly 2 types of queries.
i) Recursive Query
ii) Iterative Query
The query sent from ec.school.edu to dns.school.edu is recursive , as it is send on its own behalf. But the other subsequent queries are iterative, since the replies are directly returned to dns.school.edu. In Figure 1 and Figure 2, only the query send from ec.school.edu to dns.school.edu is recursive, rest all other queries are iterative.
Diagram for Recursive Queries:
In an Internet world, the queries follows the Figure 1 and Figure 2 pattern.
DNS caching is an important aspect of DNS. It is highly used in the real Internet world to reduce the delays and to reduce the number of DNS queries running around the Internet. Let me take the above Stanford example and you will understand DNS Caching very well.
Here ec.school.edu queries to Local DNS server to get the IP address of cs.stanford.edu. Now after completing this request, the Local DNS server will save this mapping in its own memory. Therefore, if any other host from the school , queries for the cs.stanford.edu again, then the local server can reply from its own memory at much faster pace. This phenomenon is known as DNS Caching. The Local DNS servers can cache the mappings of TLD servers also, in order to bypass the root servers.But this caching will be removed after some period of time , as mapping between the hosts and IP address is not permanent.
The second category of DNS servers mentioned above is typically associated with Web, mail and other Internet domain hosting services. Though some hardcore IT gurus set up and manage their own DNS servers, hosting services have made DNS management much easier for the less technical audience. A DNS server that manages a specific domain is called the start of authority (SOA) for that domain. Over time, the results from looking up hosts at the SOA will propagate to other DNS servers, which in turn propagate to other DNS servers, and so on across the Internet.
This propagation is a result of each DNS server caching the lookup result for a limited time, known as its Time To Live (TTL), ranging from a few minutes to a few days. People managing a DNS server can configure its TTL, so TTL values will vary across the Internet. So, each time you look up “www.howstuffworks.com,” it’s possible that the DNS server for your ISP will find the lookup results “18.104.22.168” in its own cache if you or someone else using that server looked for it before within the server’s TTL.
Now that you know how DNS servers are interconnected to improve the name resolution process, let’s look at how you can configure a DNS server to be the authority for your domain.
What is the advantages and distanges of share web hosting ?
Shared Hosting advantages
- full features – Shared web hosting is the most commonly used method of hosting, Shared web hosting has an economic advantage, You can handle your website easily without special skill set, you can ask for the extra storage space, Every sort of software can be installed.You need to upload the website or the web-based system and configure it to work, You can create email accounts and a database, although some websites share the same resources, most shared hosting plans offer the supervision, maintenance & technical support.
- Cheap – Shared hosting service means that a number of websites are hosted in a single server, It is called shared hosting plan, It is cheaper than the dedicated hosting and VPS, You can have multiple email accounts at your own domain, and You can have more than one database.
- Easy to manage – Shared Web Hosting Hosting provider takes care of the administration and maintenance. It solves the technical issues of the server. You can get MySQL and PHP support. You can get cPanel or other user-friendly application which are designed to make the website management easy.
- No server maintenance – Shared web hosting is cheap will fit your needs depends on the size of the web sites hosted. You don’t need to perform the technical maintenance on the server when you run the programs. It saves time and the headaches because another one takes care of the server maintenance. It is the best choice for the small to medium websites.
- Easy to use – It is easy to set up and manage the websites, and you do not have to configure the server by yourself. Shared hosting service providers can set up the shared server, and they will install and upgrade the necessary software, and they will monitor the servers to avoid downtime. They will also fix all the security issues to ensure the safety of the server and the website uptime.
- Website Setup instantly – there are lots of control panel and billing software such as cpanel, plesk and whcm can set up the websites instantly right after payment verification.
Disadvantages of Shared Web Hosting
Shared hosting sounds pretty good: it’s affordable, has a solid uptime, and is easy to manage. But, it does come with certain drawbacks.
- The load time can be a lot slower than dedicated servers.
- The server can become overburdened by other sites that are sharing the server.
- As your site begins to receive higher levels of traffic you’ll begin to notice that your site might begin to perform much worse.
- You never quite know who your neighbors are. Although rare, it is possible for other sites on the server to pose a risk to your own site.
- There’s a lack of customization options to truly get the highest level of performance from your website.
- Bad neighbor websites will make your website Search Engine Rank very low
For most people just getting started online the advantages of shared hosting will greatly outweigh the disadvantages, especially if you’re trying to get a site up and running as quickly as possible and have little tech skills. It’s also important to note that a responsible web host will let you know when your traffic hits a level that it’s time to upgrade, and will monitor and shut down any sites that pose a risk to the others on the server.