Difference between revisions of "Courses/Essential HTML"

From Publication Station
Line 166: Line 166:


===Domain name===
===Domain name===
The domain name is like the address of webpages, or more precisely the alias to the page's true address, page's IP.
The domain name, such as https://www.google.com/ is a kind of '''central address to a website.'''


It is via the domain name that the user sends a request to the computer (known as server) where the website lives, and as a reply a (html) file is sent back to the user's browser.
However this request and response journey is not so straight forward. That is because '''the domain name is not the true address, but an alias''' to the true address of the website.
The IP is the true address of a web page, or to be more precise, the address of the computer that hosts that website. 
As in the case of google.com its IP is 74.125.136.138
When a users types for a first time a URL on the browser, her request does not go straight to the computer that hosts that website.
Instead the request goes to a central list - DNS server - that has information about what url belongs to each address and sends back to the user's browser the IP corresponding to that URL. That way the user's browser gets to know where (wo which IP) to send its requests, when that URL is typed.
In other words:
"[If you want]to access the Witness Web site you would type in the www.witness.org address, also known as a domain name, instead of 216.92.171.152. Your computer then sends a message with this name to a DNS server. After the DNS server translates the domain name into an IP address, it shares that information with your computer. This system makes Web browsing and other Internet applications more human-friendly for humans, and computer-friendly for computers."
"[If you want]to access the Witness Web site you would type in the www.witness.org address, also known as a domain name, instead of 216.92.171.152. Your computer then sends a message with this name to a DNS server. After the DNS server translates the domain name into an IP address, it shares that information with your computer. This system makes Web browsing and other Internet applications more human-friendly for humans, and computer-friendly for computers."


[[File:DNS.png]]
[[File:DNS.png|700px]]
 
From http://en.flossmanuals.net/bypassing-censorship/ch006_chapter-1-how/
From http://en.flossmanuals.net/bypassing-censorship/ch006_chapter-1-how/



Revision as of 14:50, 26 November 2014

<slidy theme="aa" />

Day 1 the Wold Wide Web

WWW (what ?)

HTML developed from the creation of the Wold Wide Web.

World Wide Web, AKA www, AKA the Web, is not the Internet.

The Internet is essentially the motorway where many vehicles (or protocols) circulate, the Web is simply one of them. Others vehicles on the Internet are email, FTP, torrents, IRC chat, etc.

The Web is a network of interlinked pages, that are accessible through a Web Browser.

Tim Berners-Lee

The vision for what would become the Web came from Tim Berners-Lee who happened to be working at CERN in the late 1980s

Tim-Berners Lee


a bloody mess at CERN

Tim Berners-Lee in 1980 worked as a software developer at CERN.

He was faced with a few facts that would make him muse about what would later become the Web.

  • CERN's incredible abundance of knowledge and research
  • CERN's equally abundance of different computer hardware/software, protocols, file formats, documentation systems

== a bloody mess

http://www.sciencephoto.com/static/media/images/collections/main/cern-the-european-organisation-for-nuclear-science.jpg

Inside CERN

a unified, global documentation system

Berners-Lee wanted to create a unified, global documentation system, that allowed CERN researchers to document and share their progress in both an easily readable easily writable way.

Enquire

Berners-Lee's first efforts went to the development of a program called ENQUIRE, a pet project to help him remember the connections among the various people, computers and projects at CERN.

"In Enquire I could type in a page of information about a person, a device or a program. Each page was a ‘node’ in the program, a little like an index card. The only way to create a new node was to make a link from and old node"

a single information space

The Enquire experiment got him thinking:

"Suppose all the information stored in computers everywhere were linked … Suppose I could program my computer to create a space in which anything could be linked to anything. All the bits of information in every computer at CERN, and on the planet, would be available to me and anyone else. These would be a single information space".

Proposal

In a proposal written to CERN's administration Berner-Lee listed the requirements for this global information space:

  • accessible across networks - providing data to different computers
  • distributed - allowing anyone to write information
  • non hierarchical - no tree structures, but stuff connected to stuff.

http://info.cern.ch/images/proposal.gif

Tim Berner-Lee proposal

Hypertext

Provided an non hierarchical way of connecting pieces of information, by interlinking them, and resulting in a web of content.

Berner-Lee recognized the similarities between his concept for a single information space and the web like structure that hypertext allowed.

HTML

To put his ideas into practice Berner-Lee turned into one of the available markup languages, SGML. A snipped of SGML

He simplified, and added external hyperlink, to allow connection to external documents (in one direction).

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World</title>
  </head>
  <body>
    <h1>Greetings</h1>
    <p>This is my homepage!</p>
  </body>
</html>

The marking is done by enclosing content in the element that will format it <element>content</element>


Editor, Browser, Go

  • Editor - your html writing tool
  • Browser - the interpreter of html, but also a debug and prototyping space


golden rules

  • In HTML the content is given meaning or structure by being with an element or tag.
  • An element or tag is formed by angel brackets "<" and ">", like <h1> - the heading1 element
  • In order to format content with tags you need to enter the content between an opening and closing element. As in the following case:

<h1>My Title</h1>

    • <h1> is the opening tag
    • </h1> is the closing tag
    • "My Title" is the content that will be formatted by the h1 tag and become a title


  • Once open a tag must be closed, either with
  • an end tag:

<h1>Closing Heading 1</h1>

  • self-closing tag:

<img src="nice_picture.jpg" />



html essential structural elements

  • doctype <!DOCTYPE HTML> - an indication to the browser of what content will be given to it to interpret
  • html - all the content of an html file
  • head - invisible content: page title, character encoding, styles, etc. (not essential)
  • body - visible content


essential tags

Comments: <!-- comments -->
Header: <h1>,<h2>,<h3>,<h4>
Paragraph: <p>
Line break: <br />
italics: <i>
bold: <b>
lists: <ul> or <ol>
list items: <li>

div container: <div>
span: <span>

Hyperlink(requires arguments): <a href="http://thecolourclock.co.uk/">a link</a></code>
Image(requires arguments): img src="nice_picture.jpg" /> 


Resources

Historical: http://home.web.cern.ch/topics/birth-web - on the birth of the Web at CERN from CERN

Technical:


Day 2: the URL, linked and embed resources

URL

URL stands for Uniform Resource Locator. It is the global address for documents on the Web.

It is trough URLs that from our computers we request webpages and these appear in our browsers.


A URL , such as: http://mouchette.org/home/chezmoi.html be decomposed in to the following parts:

  • http: the protocol
  • mouchette.org: the domain name
  • /home/chezmoi.html: the file path


Protocol

  • http
  • https
  • ftp

Domain name

The domain name, such as https://www.google.com/ is a kind of central address to a website.

It is via the domain name that the user sends a request to the computer (known as server) where the website lives, and as a reply a (html) file is sent back to the user's browser.

However this request and response journey is not so straight forward. That is because the domain name is not the true address, but an alias to the true address of the website.

The IP is the true address of a web page, or to be more precise, the address of the computer that hosts that website. As in the case of google.com its IP is 74.125.136.138

When a users types for a first time a URL on the browser, her request does not go straight to the computer that hosts that website. Instead the request goes to a central list - DNS server - that has information about what url belongs to each address and sends back to the user's browser the IP corresponding to that URL. That way the user's browser gets to know where (wo which IP) to send its requests, when that URL is typed.

In other words: "[If you want]to access the Witness Web site you would type in the www.witness.org address, also known as a domain name, instead of 216.92.171.152. Your computer then sends a message with this name to a DNS server. After the DNS server translates the domain name into an IP address, it shares that information with your computer. This system makes Web browsing and other Internet applications more human-friendly for humans, and computer-friendly for computers."

DNS.png From http://en.flossmanuals.net/bypassing-censorship/ch006_chapter-1-how/

file path

The file path indicates the location of page inside the computer (aka server) that hosts this webpage.

home/chezmoi.html indicates that the file we are requesting is inside the "home" folder is called "chezmoi.html".

Paths in my local page:

Folder structure.svg

myfolder/ - the child folder
myfolder/mysubfolder/ - the grand-grandchild 
../ - the parent folder 
../../ - the grand parent folder

Exercise:

  • Create an HTML file, that uses other local files (images, html files, etc), stored in parent, current and child folders.
  • Move the HTML file to a different directory
  • Try to make all the local files are not broken in HTML file

iframe

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

The <iframe> Element embeds another HTML page into the current page.

iframe with local content

A solution to keep the same "header" and "footer" (outside the iframe) while the content keeps changing inside the iframe

iframe with remote content

embedding googles services

(later) https://developers.google.com/maps/documentation/embed/guide

embed

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed

The <embed> element, integrate external content, such as (youtube, vimeo) videos on to a html page


id, class arguments

css