Web Hosting Basics
You may be interested having your own website but don't know what meant by that or why you need to "host" it somewhere or how the "domain name" relates to hosting.
Most of you won't need this, but if you DO accept sensitive information via your website you should have encrypted communication with the visitor's browser using SSL and a digital certificate.
We will attempt to explain these basics here to help you understand what you are getting for your money.
A website is simply a collection of formatted documents written in HTML (Hypertext Markup Language). Each page in your website is a document that conveys information to your visitors. HTML provides a mechanism for you to create click-able links (often termed "hyper-links) to other pages within the content of a page.
This collection of HTML pages is often created by a web designer using an application such as Adobe Dreamweaver or Microsoft Frontpage. Once loaded on a web-server, this collection is often termed a "static website". HTML pages of a static website don't change until the web designer uploads changes to the server.
Websites can also be a collection of "dynamic" HTML pages. A dynamic web page is one that is generated on the fly by the web-server. The server builds these pages from static parts (often stored in a database), a page layout, and a collection of other information (usually stored in a database) that is formatted for display. For example, a storefront is usually a commonly styled page with product specific information such as weight, price, description, etc all obtained from a table in a database. The server dynamically constructs this page making the result appear the same as lots of static pages.
Your website at Fred's Used Websites is dynamic. The server generates each page using a custom layout file and style sheet. The main page links are generated from page information in the database. Your editable content is also retrieved from the database, put together, and sent to the browser.
A website is a collection of documents much like the "My Documents" folder on your computer. You can get on your computer and look at this collection, but if you want your friend across town see them you need to share them with your friend somehow. We accomplish this electronically using web hosting.
Web hosting is the mechanism you use to share the collection of documents (your website) with the world! To do this you need a computer that is very well connected to the Internet, running 24 hours a day 7 days a week, and serves your documents to anyone connecting with a web browser. It isn't practical to do this with your personal computer on your home network, so this job is normally performed by a server computer running in a data center. A web-server computer is normally shared by many websites.
Your monthly hosting charge is rent on this server. This rent pays for the computer, the cost of connecting this computer to the Internet, the electricity to power and cool the computer, the labor to keep the computer maintained and running, and of course profit for the data center and your hosting provider.
Domain names provide a way for anyone in the world to locate the computer or web-server that is serving your website documents. All one needs to know is your unique domain name and the network magically connects their browser with your web-server. Your domain name is unique. Of all the millions of websites on the planet, no other can have the same name as yours.
Your domain name is managed by a large collection of computers called the Domain Name System (DNS). This system is operated collectively by a number of companies throughout the world but are overseen by a single non-profit organization called the Internet Corporation for Assigned Names and Numbers (ICANN) under a mandate from the US Government. Companies such as ENom, Tucows, GoDaddy, etc have licenses to directly sell domain names created in and managed by the DNS. They sell directly to end users (such as yourself) or through resellers (such as Fred's Used Websites).
Consider your domain name Intellectual Property in the same way youwould a company name. Should your domain name become well known, it becomes a very valuable asset in drawing visitors to your business. You (or someone on your behalf such as Fred's Used Websites) has the ability to manage this domain name by defining the specifi server (Name Server) that knows where your domain is hosted.
When you host your website with Fred's Used Websites, this Name Server server must be set (by the owner or representative of the owner, I.e. Fred's Used Websites) to our server. Once so designated, the new address for this domain name will propagate out to the world's DNS Servers; this process can take anywhere from 1 to 24 hours to complete. If you had been hosting elsewhere, that server will still have your pages but visitors will no longer be connected to that web-server.
The Secure Sockets Layer (SSL) is a protocol that was originally developed by Netscape and is now a universal standard. SSL provides two distinct features for your website. The first is that the communications between browser users and your web-server are encrypted in a way that prevents eavesdropping by any component of the Internet between the browser and the web-server.
You typically know you are connected over a secure connection when the URL you use starts with "https:" rather than "http:". Browsers also have an indicator somewhere (usually looks like a padlock) which indicates the page was loaded via a secure connection.
The second SSL feature is that the Digital Certificate that is used to encrypt the data is also used to authenticate your website to the browser. This is the rough equivalent of showing your driver's license or passport to prove to someone that you are who you are.
You should have SSL for your site if you receive sensitive information from your visitors such as credit card numbers, social security numbers, etc. To be absolutely safe, you should have this to accept passwords for your site but you must weigh the cost of SSL against the additional security. We will not attempt to defend either decision regarding password security.
So what does all this cost? We charge an additional $2/month on your hosting charge to pay for a dedicated IP address for your website (we are only passing on our cost for this), a $50 charge to install your certificate, and the cost of the certificate itself - see below.
The digital certificate (or Public Key Certificate) provides the key for the encryption of the link for SSL connections and also acts as an identifier to prove that this website really belongs to you and that you are legitimate. You can think of it as the electronic version of a driver's license or an ID card.
In order for a certificate to achieve its role as proof of your identity, it needs to be signed by an authority or institution that everyone trusts. For example, the State of Colorado issues me a driver's license and people trust that they have properly verified that my date of birth is accurate. Therefore I can "prove" almost anywhere that I am over 21 years of age. More about this below.
Website owners most frequently need a certificate because they want to provide a secure connection between the web-server and the web browser to prevent eavesdropping of sensitive information such as passwords, credit card numbers, etc. Once upon a time it was possible to achieve this cheaply by signing your own certificate. A self-signed certificate provides a secure connection but no real proof of who you are, and was great for a website that only needed to protect login passwords. Today however a self-signed certificate will likely drive people away from your site because the newest web browsers (Internet Explorer 7 and Firefox 3) present such an awful warning to your visitors that the site is unsafe.
To prove your identity you must get your certificate signed by a respected authority. All the web browsers maintain a known set of authorities and will indicate that this certificate is legitimate only if the signer is recognized as one of them. The user can then look at the certificate if they wish to see the extent to which the signer verified your identity.
Certificate signatures are sold on a per-year basis. The cost of the signature is based on how much research the signer does to establish your credentials and how much of a warranty they provide your visitors should a credit card loss occur due to a mis-issued signature. They may require you to provide a copy of a government issued identity such as driver's license, do credit check, check known databases, require a notary, or more.
Prices run from as little as about $25/year for a domain name only (signature verifies that you are the owner of the domain name - no warranties), $80-100 per year for a general purpose(signature verifies that they checked your ID and did some background checking - warranty around $1000), to hundreds or thousands per year where extensive background checking is done and warranties can be in the thousands or millions.
If you wish to obtain your own certificate you will need a Certificate Signing Request (CSR) that your authority provider will need in order to produce a signed certificate. We will provide the CSR to you as part of the certificate installation charge.
We are a reseller of Comodo certificates. You can purchase a Comodo certificate from us - see our price list. We can also purchase certificates from other authorities on your behalf. For non-Comodo certificates we charge $25 plus the purchase price of the certificate. For general purpose and higher certificates you may be required to provide additional information directly to the authority.
Bandwidth is one of the costs covered under your site's hosting fee. It is an allocation of the number of bytes of data per month your site may deliver to your visitors. Our default hosting package provides you with up to 4 gigabytes per month of bandwidth.
Most of these files are small (1-10 kilobytes) and you have more than enough bandwidth to cover thousands of page loads per month. When you have large files (video or images that haven't been re-sized properly), you could hit your bandwidth limit with relatively few page loads. For example, if you tried to use your website to share a full length DVD video, not only would this take hours or days to download but would also consume your entire allotment of bandwidth in one download.
When we design your site we take steps to ensure that images and video are optimized to minimize download time but also to enable your site to operate well within the 4 gigabyte limit. Your website may on occasion go slightly over this limit. This most often occurs when you have the combination of large or large numbers of images and video and a surge of visitors. We typically absorb these overages and temporarily bump up your limit without additional charge. However if your site begins to sustain this higher level of traffic we will need to permanently raise your bandwidth and charge a higher monthly hosting rate.
You will likely hear us talk about the database frequently. A database provides a mechanism to easily store, index, and retrieve data. The database consists of a number of tables each containing a series of structured records of information.
You can think of a database table much like a sheet in a spreadsheet. Each column in a table contains a specific type of information and rows contain the instances of this information. For example, an address table will contain columns for street address, city, state, and zip code plus an index or key. When you add an address to the database a new row is created with values for each column and a unique key. Other tables (such as a persons table) can reference this address by saving only the index. In this way, the address for several people living at the same place need only be stored once. The real benefit of this comes when updating information as you only need to change one record.
We use the database extensively for your websites. We have a page table that maintains information about every page on your site. Using the information in this table, the server can easily generate things like your navigational link bar, the site map page, or the informational XML files used to tell the search engines which pages have been updated.
When you edit an area on one of your pages, the HTML that is generated by the editor is stored directly in the database for that field of that page in the page content table. When someone visits one of your pages, the server builds the page by retrieving parts of the page from various tables including the page content table.