Intro to Website Technologies

From FreekiWiki
Revision as of 20:50, 1 November 2013 by Bsandberg (talk | contribs) (braindump)
Jump to navigation Jump to search

The purpose of this class is to provide a broad overview of the technical components required to have a website.

Domain Names

Domain names are perhaps the most familiar aspect of websites. Whether it is FreeGeek.org or Linux.com, these are memorable names which we can use to locate and contact an individual server on the internet.

Registration

One 'registers' a domain name, by choosing an ICANN registrar, finding an available domain name, and paying an annual fee for that domain name.

Some notable registrars are:

WHOIS

Every domain name's owner must provide certain contact information for what is called the WHOIS registry (or database). It is public information, and many registrars sell 'privacy listing' services to hide your contact info and thus prevent spam. Whois.net, a free WHOIS service

Top-Level Domains

Top-Level Domains, or TLDs, are the technical term for the ".com" part of a domain name. While the generic TLDs are still available, each country has been assigned a two-letter country code, such as ".us" or ".uk" -- each country controls domains in their TLD, and set prices as they see fit.

IP Addresses & DNS

Perhaps you've heard of an IP Address. Each computer connected to the internet has a unique IP (Internet Protocol) address, much like a phone number. These IP addresses are used to contact a server or other device connected to the internet. Because IP addresses are fairly difficult to remember, we use domain names, and rely upon DNS, or the Domain Name System, to resolve a domain name to an IP address -- much like a phonebook or similar directory.

URL Structure

URLs are not read in a left-to-right fashion, as many might expect -- instead, the domain name is processed first, to determine which server we wish to connect to. Next comes the protocol used to communicate, and the path to a resource we're requesting. Finally, there can also be optional query strings, or anchors.

  1. TLD
    The TLD is the first part of a domain name to be used. Each country controls the domains within their TLD, so those systems must be contacted to resolve the next step.
  2. Domain
    The domain name is perhaps the most recognizable part of a URL. Using DNS, the domain name is resolved to an IP address.
  3. Subdomain
    Next, the subdomain is resolved to yet another IP address.
  4. Protocol
    Now, with the IP address of the desired server, we must contact that server. The protocol (http://) is how that communication should be conducted. This could be analogous to spoken language.
  5. Path
    Once a communication protocol has been established, we can make our actual request for a resource on that server. Often, this is an HTML document or at image, but it could be just about anything.
  6. Query String
    The query string is how we can pass information to the server, to help it respond to our request. Perhaps a webpage will display a certificate; it will need a name to display. By adding a question mark to the end of a URL, and separating each piece of data with an ampersand, we can provide this information, like so; ?first_name=John&last_name=Doe
  7. Fragment Identifier
    Last, comes the fragment identifier, or more commonly, an anchor. This allows us to point the user to a specific point in a document. One example might be, a long webpage with the contents of a book; there is a table of contents near the start, and clicking on 'Chapter 3' will cause the webpage to scroll down to chapter 3. It is added on to the end of a URL, like this; #chapter3

Products & Services

There are lots of free website services. Here are a few;

  • Wix
  • Weebly
  • Webs

These free services are wonderful - one can have a website up in mere moments using these tools. But one is limited to the features or capabilities of a particular service, and alternatives may be more difficult.

Server Software

CMS

  • WordPress
  • Joomla!
  • Drupal
  • Concrete5

Languages

  • PHP
  • Perl
  • Python
  • ASP / .NET

Hosting

Choosing a hosting provider is not always an easy choice. There are many factors to consider, including price, speed and support, just to name a few.

Tools

Browser Inspector

Text Editor

See Also