Basics: Domain names and Web Servers

Question from a student: Do I need a domain name [to upload my files to a server]?

Yes and no. FTP (File Transfer Protocol) is the means by which we transfer files from a client computer to a server. In order to connect to a server you need its address, and login credentials. Every server has an IP address (IP stands for Internet Protocol). It’s like a telephone number that identifies a specific computer connected to the internet. EVERY computer connected to the internet has one. IP addresses are hard to remember, so domain names were created to make that process easier. A domain name is associated with an ip address. That way when someone types in http://www.dalerogers.me, a chain of events happens that finds a specific file, in a specific folder, on a specific computer, out of billions that make up the World Wide Web. So yes, you need to know the server’s address. Usually we use a domain name to identify the server.

The Basics

There are several parts to having a web site:

  1. The designed and coded pages,
  2. a domain name,
  3. and a web server.

Designed and coded pages

When we consume content on a web page (read, listen, watch a video, play a game, etc) we are consuming content that is being presented on the screen through a program, usually a web browser. The technical community calls these programs user agents. To standardize the way that user agents present information, HTML, CSS, and JS were created. Each are languages that instruct the user agent how to display the content.

  1. HTML (Hypertext Markup Language) puts a structured element on a page
  2. CSS (Cascading Style Sheets) allows us to control the properties of those elements
  3. JS (Javascript) allows us to control the properties of those elements based on page events, or other criteria

Each language has its own job. They all work together to create the experiences we all enjoy on web sites. All of the languages are living languages. New tags, properties, and functions are constantly being added and refined to accommodate the needs of the the web. The organization responsible for overseeing the development of the languages is the W3C (World Wide Web Consortium). The developers of the user agents (browsers) are responsible for ensuring that their products present content using the guidelines provided by the W3C.

Therefore, when we design and created web sites on our computers, what we are doing is designing to the browser; i.e. we are giving instructions on how to position and display our content. We don’t need a web server to do that, we only need to know how the languages work, our media, images, etc, and a browser to display them. Having said that, as soon as we want the rest of the world to see our creation through the web, we need to copy our web site to public web server.

Domain Names

As mentioned above, domain names provide an easy remember set of alphanumeric characters that point to a server. When you know you are going to create a web site, you normally get the domain first because you want to make certain you get the one that best brands your information or product. You create (or register) the name through a registrar. Currently, I use goDaddy.com and nameCheap.com as my registrars, but there are lots of others out there. All they do is  reserve a custom name and high-level domain extension (.com, .net, .org, etc). The domain name is your individual identification on the web. The registrars act as agents for ICANN (Internet Corporation for Assigned Names and Numbers – http://www.icann.org/). ICANN is the official organization that registers and maintains every domain name in the world. All other registrars, like GoDaddy,  are agents (middlemen) that act as an interface between you and ICANN. They also provide online tools for you to manage and renew your domain license.

When you register a domain name, they ask you for information:

  • The Owner Contact info
  • The Administrative Contact info
  • The Technical Contact info
  • The DNS address (Domain Naming Server) – basically, where are you hosting your web site.

By default, the registrar will “park” your domain name on a generic page until you manually update the DNS address with the hosting server address where you are keeping your web site.

Web Hosts

After you design/code the pages to your web site on your local machine, you need a way that the world can see them. You need a web host. It’s a server (a computer) that has web server software on it. It is connected to the internet (usually with a robust connection to move lots of data). Many web sites can be hosted on these servers. The web server software’s job is to organize them into their own folders (directories) and keep track of them so when a request comes in for your domain name, it knows which folder and file to get and fulfill the request.

When you get a hosting account. The host needs to know what your domain name is. It will issue you a login and password. It will also create a primary FTP account. The web host will tell you what URI to use to access the FTP login. You use the FTP URL (it usually it is something like ftp.yourdomainname), your login and password to get in. When you log in, the web server software will automatically connect you to YOUR folder where you can upload your web site files.

The web host will provide you with the domain name(s) of the web hosting server that your account is associated with. You copy that server address into the NS field of your domain profile using your registrar’s interface.

Once you have your domain name, it is pointed at your web host, and you have your FTP login credentials, you can upload your web site to the server so the world can find you.