Building Your Own Website from the Ground Up
What is a Website?
- A website consists of one or more "pages" that may be accessed by a web browser.
- A web browser is a piece of software that runs on your local computer but shows content from a website hosted on a web server.
- A web server is a computer located at a particular address on the internet that is configured to respond to requests from web browsers and provide "pages" of content.
- A web server consists of hardware that provides data storage, connection to the internet, and computing power (Central Processing Unit [CPU] cycles plus RAM).
- Most web servers are "virtual machines." They share hard disks, internet connections, CPU cycles, and RAM with many other websites. The real hardware is split up into pieces of the hard disk, CPU time, and memory so that websites take turns using the system resources.
- The two most popular flavors of web server operating systems are linux and Windows Server.
- The Apache HTTP Server is one of the most popular pieces of software used in linux systems to receive browser requests and provide data ("pages") in response.
- An "IP address" is an "Internet Protocol address," a unique number that identifies a computer on a network; the whole internet is nothing but a set of uniquely identified computers that can send packets of information to each other by means of their IP addresses.
- A page is a handy metaphor for "everything we see on our computer screen in response to a request we made of a server through our browser." The metaphor must not be pressed too closely; the content displayed in a browser by a server can be much more subtle and dynamic than a piece of paper or a page in a book.
- A browser sends requests to websites.
- Websites return "pages" to browsers.
What is a Domain Name?
- A Domain Name is a human-readable alias for an IP address that is used in a URL.
- You may build a website without a domain name. You would then distribute the IP Address in your URLs for the site. If you want to have a domain name, you must purchase the rights to a name from a Domain Name Registrar.
- A URL is a "Universal Resource Locator" (or "Uniform Resource Locator") that allows a browser to connect to a particular part ("page") of a website.
|URL||Protocol||Separator||Domain Name or IP Address||Specific "page"|
- http: Hypertext Transfer Protocol
- https: HTTP secure
- ftp: File Transfer Protocol
- mailto: Simple Mail Transfer Protocol (SMTP) interface.
- IP address
- IPv4: 32 bits.
- IPv6: 128 bits.
- static vs. dynamic
"While IPv4 allows 32 bits for an IP address, and therefore has 232 (4,294,967,296) possible addresses, IPv6 uses 128-bit addresses, for an address space of 2128 (approximately 340 undecillion or 3.4×1038) addresses."
- The Domain Name System provides lists of domain names and their corresponding IP Addresses through nameservers.
- Note well: In order to have your domain name point to your web server, you must correctly fill out the records for your ISP's name server!
How do I design a web page?
- HTML editors:
- FTP Clients:
- Filezilla, a free File Transfer Protocol (FTP) client.
- PHP: Personal Hypertext Processor
- cgi: Common Gateway Interface
- Perl: A general purpose unix scripting language.
- XML: Extensible Markup Language used to manage datasets.
Content management systems
Once you control a domain name, you can create or configure an e-mail server to send and receive e-mail from that domain.
This takes us far afield from the primary function of websites. I'm not going to go into the details now.
Most ISPs will have a pre-configured e-mail system. All you need to do is to create accounts or aliases for those who will have e-mail accounts.
If you are building a site from scratch, then you must install your own e-mail server, configure the MX records properly to point to the server, and deal with all kinds of hassles that go with being your own postmaster on the website.
To develop your own website, you need to purchase storage and bandwidth from an Internet Service Provider (ISP).