or
Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Plus terms and definitions throughout
Let's take a tour! A typical web site will live or is "hosted" on a web server. Web servers are often large computers connected to a network.
Photo credit computerroom085 cc
Next slides are step-by-step process.
Browser starts the process on your behalf.
We're skipping or condensing steps for clarity.
Each website has a unique code, called an IP address, that is like a phone number.
DNS, or Domain Name Servers, are like phone books. The DNS servers will connect you to the right server.
girldevelopit.com → 205.178.189.129
DNS Servers are spread throughout the world.
Your ISP, like Comcast or Time Warner Cable, probably provides your DNS server.
Your computer also has an IP address; that's how the page gets back to you.
Your computer uses the IP address to find the correct web server and sends a request for a page.
Your browser will send a different request for each file.
The server processes your request and finds the right files. Sometimes it has to "compile" a page from code and other sources, like a database.
Back-end languages often talk to databases
Remember this?
HTML: Hyper Text Markup Language - The code structure used to convey the content of a web site
CSS: Cascading Style Sheets - A language used to describe the presentation of the content
WYSIWYG: What You See Is What You Get - A type of editing software meant to be used by those who don't know how to code
IP Address: Internet Protocol Address - A unique address for a computer or a server. Some IP Addresses are only unique to the network they are on while others are completely unique
DNS: Domain Name Service - A directory that associates domain names with host IPs to allow users to connect to web sites via URLs
CMS: Content Management System - A program that allows publishing, editing, and modifying content as well as maintenance from a central interface
API: Application Programming Interface - An easy-to-use interface or set of tools made available to access a complex application
IDE: Integrated Development Environment - Software meant to support the entire development process, often including compilation for a server-side language
Open source: A program in which the source code is available to the general public for use and/or modification from its original design
The simplest type of request you can send is a "ping." It asks the server "are you there?"
Open the command line (Windows) or the terminal (Mac) Type "ping google.com" and see what happens Try some different websitesExplain what the different terms mean:
Source: StatCounter Global Stats - Browser Market Share
Examples: Google Drive, Apple Music
A programming language is basically a set of strings (letters, numbers, commands) that is changed into machine code that the computer can understand.
Java:
JavaScript:
Example of AJAX: Airbnb's search results
We all need to play by the same rules!
In general, this means a site should:
There are multiple methodologies for how to get there, but the touchpoints are generally consistent for every web project
A user-friendly, well-architected site will:
Go down a step for Sitemaps and Decision Tree examples
Let's edit a simple HTML page.
Go to our CodePen Try changing some of the text on the page in the HTML Try changing one of the colors in the CSSNothing you do will set your computer on fire!
Click down for examples of Hello World in multiple languages
PHP
echo "Hello, world!";
Java
class HelloWorld { static public void main( String args[] ) { System.out.println( "Hello World!" ); } }
Python
'Hello, world!'
Ruby
puts 'Hello, world!'
JavaScript
Not server-side, but just for example
document.writeln('Hello, World!');
To build your web site, you will probably need:
You will also need:
FTP is appropriate for beginning websites, may not be applicable as you get deeper into development in lieu of other deployment methods
Remember the three Rs: