Publishing your work on the internet
You have learned HTML, expiremented with your own files, made some good looking functional pages, and now what? Now you can publish your work on the internet for people to see. That's right, your webpages on the internet for others to see! The question now is..how do you do that?
This tutorial focuses on:
- How do websites work?
- What is a web server?
- Publishing your work
- Working with your data
How do websites work?
Have you ever wondered how do websites work? How does a web browser know what to bring up when you type in www.yahoo.com, for example? Also, where are all these files stored?
The contents for every website in existence are stored on computers that run special software that allow them to be able to serve web pages to whoever requests them.
So whenever you type www.yahoo.com into your browser, the computer that stores the data for www.yahoo.com will send the contents (in the form of code) of that websites home page to your web browser. Your web browser will then convert that code into something meaningful that will appear on your screen.
How does my browser know which computer on the internet is the one that stores content for a particular website?
This is thanks to the incredible DNS system. DNS stands for domain name server and it is a system that contains a large database of all the websites in the world together with the IP address of the computers they are stored on. When you type a web address into your browser, the browser takes the domain name, looks it up through the DNS system (your Internet Service Provider has its own DNS computers), gets its IP address, connects to that computer, gets the file for you and converts it into meaningful data that is displayed on your screen.
How websites work
You type in a web address into your web browser
For example, http://www.landofcode.com/html/html-publish-work.php.
The web browser takes the domain name
In this case it is landofcode.com and looks up the IP address associated with this domain name in your Internet Service Provider's DNS. Once the web browser knows the IP address, it sends out a request to the computer with that IP address for whatever page you're requesting. In this case it is the file html-publish-work.php and it is located in the /html directory.
The source code of the file gets sent back to the web browser
The web browser takes the source code, converts it into meaningful data, and displays that data on your screen for you.
What is a web server?
You may have heard this term before. It's one of those computer buzzwords thats always floating around like the term 'IP Address', and now you get to learn what it means.
Not just any computer can store the contents of a website. A computer needs special software to do so. Once this software has been properly installed on a computer and it is functioning correctly, the computer becomes a web server. A web server is a computer that stores the contents of a website.
There are many different web server software to choose from. As choosing the right one all depends on your needs and plans, there is no absolutely best software to use.
Different web server software:
Apache is open source web server software made by the Apache Software Foundation. It can run on several operating systems including (but not limited to) Linux, Unix, and Windows. According to a netcraft survey, Apache is the most popular web server on the internet as of November 2009.
IIS stands for Internet Information Services. This web server software was developed and implemented by Microsoft to run on Windows. It is the second most popular web server on the internet according to the same netcraft survey
Jigsaw is web server software created by the W3C. Just like Apache, it is open source software and can run on several operating systems including (but not limited to) Linux, Unix, and Windows.
Web server software is what will turn your computer from an ordinary computer to a machine that can serve web pages. But don't download one of these web servers thinking that after installing it, you can serve webpages just like any website out there. Remeber that DNS system we were talking about? Would you like people to have to type an IP address into their browsers to access your webpages or would you rather they type in a domain name for the same results? A domain name sounds easier, and it is, since remembering words is alot easier than remembering a set of numbers.
If you're going to download web server software and actually use it, use it for experimental purposes. Use it to learn how web servers function and how to make your webpages publicly available. But if you want to actually publish your work on a live site, then read on....
Publishing your work
You have several options as to how you're going to publish your work. Actually, a domain name is not a requirement. You can go with a subdomain on a free webhost. So instead of something like www.coolsite.com, your web address would be coolsite.freehost.com but having your own domain name as opposed to a subdomain gives a great sense of satisfaction and makes you look more professional. Domain names are cheap anyway (9 or so dollars a year), so it's not something to worry about in terms of money.
Once you have your own domain name (or a free subdomain), you will want a place to store all your websites files (also known as hosting space). There are several choices when it comes to hosting.
There are web hosting companies that provide a limited amount of free hosting space. But you should be careful with such deals as there is usually a catch such as mandatory banner ads that you have to display on your site.
A basic hosting package is cheap and relatively easy to manage and work with. You should go with a web hosting company that gives you a monthly package as opposed to a web hosting company that asks you to sign up for a year or more. Going with a monthly package, you pay just once a month for the previous month services, where with a year or more commitment, you may have to pay alot more money up front. By going with a monthly package, if you are ever unhappy with the services your web hosting company provides, you can take your business elsewhere withot having lost any money.
The web hosting company that hosts www.landofcode.com is Host For Web. They provide a monthly package and everything has been running smoothly without any problems (They have been our web hosting company for almost two years now). If you are going to pay for hosting, we recommend Host For Web.
You can host a website yourself on your own computer, but it is not recommended unless you are very tech savvy and you have alot of free time. Self hosting will require you to dedicate a computer to hosting the website which should not be used for anything else. Self hosting is a tiring process that requires alot of maintenance, analysis, and dedication.
Paid hosting is the way to go! Unlike free hosting that almost always has a catch to it, with paid hosting there is no catch since you are actually paying for the service. And unlike self hosting which is to complex, paid hosting involves the web hosting company you are a customer of maintaining the web server for you.
Working with your data
Once you have a domain name and hosting set up, how do you actually get your pages onto your hosting account so that they can be seen online? How do you edit existing pages? How do you add new pages?
There are several ways you can work with the files on your hosting account.
Control Panel file editor
When you set up a hosting account, your web hosting company will give you a username and password to log in to your control panel area. This control panel area should have a file editor option through which you can edit and upload files.
FTP stands for File Transfer Protocol. FTP is a protocol by which you can download files from your web server, edit them, and upload the changes back to the web server. FTP also gives you the option of uploading new files to the web server.
Your web hosting company should provide you with a username and password for FTP access.
SSH stands for Secure Shell. SSH is a protocol by which you can log in to a server remotely and edit its files. With SSH, you can actually log in to your web server and edit your files right on it. Not all web hosting companies provide SSH access though, as there is some risk associated with it. This risk is the fact that you are using a remote server as if you were actually sitting in front of it and it's possible that by mistake you will make something go wrong (like opening a program that should not be opened) which will have negative consequences like making your site go offline. If you're going to use SSH there are two things you must do -- learn some UNIX commands (as that is what you will need to work with a remote server because it will be on a command line) and be VERY careful.
Visit our website files section for more info on working with your websites files.