Some History
  1. First, there was the Internet.
    1. First Arpanet message 1969.
    2. Evolved into the Internet, production about 1983.
    3. Connected computers around the world.
    4. Interface was purely text based.
    5. No good way to find things:
      1. Searching meant looking at a likely site you happened to know about.
      2. Or asking your friends.
      3. Try ftp ftp.sdf.org and log in as "anonymous" to try it out. (Your computer may have the ftp program, and Sandbox does.)
    6. Does allow publishing and transfer of files, once you find them.
  2. Tim Berners-Lee invented the World-Wide-Web at CERN, including HTML and HTTP
    1. Invented in 1989, working internally by 1990. A few years before wide use outside CERN.
    2. Berners-Lee created HTML to express pages, and HTTP to transfer them over the existing Internet.
    3. Hypertext, the idea of linking related documents, is not new, thought to date from 1945.
    4. Berners-Lee applied this idea to Internet documents to make them more accessible.
    5. His primary purpose was helping the physics researchers at CERN share their work.
    6. The original vision of the web was of static documents, and maybe some images. Much more staid that we have today.
  3. Wild West
    1. The Web was a big hit.
    2. There were some text-based browsers in the early days, GUIs being expensive and rare.
    3. Mosaic: Early graphical browser, 1992, University of Illinois.
    4. Netscape Navigator: first widely-used graphical browser, 1994, based on Mosaic.
    5. Microsoft Internet Explorer: Designed to kill Netscape, 1995.
    6. Period known as the browser wars. HTML was expanded rapidly without much reflection.
    7. Different browsers gained different and inconsistent features, making coding difficult.
    8. This situation has been greatly improved, but there are still differences in behavior between browsers.
  4. Standards, darn-it.
    1. HTML-2 1995, IETF RFC 1866. Much ignored.
    2. HTML-3.2 1997, by newly-formed World-Wide Web Consortium (WWWC). Too willing to just include whatever was already there.
    3. HTML-4 1999. Starts to trim the excess.
    4. Firefox 1.0, 2004. Designed to implement standards, and wake up IE which had fallen asleep after killing Netscape.
    5. HTML-5 2008 (finalized 2014).
    6. Current standardization seems to be the “living standard” from the Web Hypertext Application Technology Working Group.
  5. Language and technology changes.
    1. Appearance.
      1. The Berners-Lee original design was for tags to say what the data is for (like <em>; for emphasis), and let the browser decide how to display it.
      2. During the browser wars, HTML grew many tags that say more explicitly how to display, like <i> for italics.
      3. The eventual solution is to invent style sheets to describe appearance, and leave the tags for structure.
      4. Of course, a bunch of physical tags and attributes are still present.
    2. Media: Tags for playing sound and displaying video are added.
    3. Making server-dynamic pages
      1. The original idea was static HTML files delivered from servers.
      2. HTML adopted forms, allowing user input.
      3. Servers adopted dynamic pages to receive, process, and respond to data from the forms.
      4. Dynamic pages run and send output to the browser, rather than send an existing file.
      5. Some web pages use very little static material on the server, instead are generated on demand.
      6. We will study this process in some detail later.
    4. Making client-dynamic pages.
      1. Originally, a web page would is made of static HTML. It changes only when you load a different page. JavaScript introduced to make the page content dynamic.
      2. Brendan Eich at Netscape created JavaScript
        1. Introduced in NN 2.0 in 1996.
        2. JavaScript code is embedded in the web page.
        3. JavaScript runs in the browser and responds immediately to user actions.
        4. JavaScript allows mouse clicks and such to update the page without a round trip to the server.
        5. Stupid Name.
          1. Java was released by Sun Microsystems (later acquired by Oracle), and had been well-received.
          2. Netscape had a close business relationship with Sun.
          3. JavaScript was originally “Mocha,” but renamed to glom onto Java's success.
      3. AJAX
        1. JavaScript can update the existing page, but only with user input and data it already knows. To display other information requires displaying a new page.
        2. In 1999, Microsoft introduced the ability for JavaScript to request a document from the server (IE 5), eventually named XMLHttpRequest.
        3. Allows javascript to update the page with data from the server, avoiding the overhead of a page load and parsing.
        4. This technique now known as AJAX.
      4. Web pages may have very little static code, and be built entirely by JavaScript.
    5. The combination of modern HTML, CSS, and JavaScript with AJAX allowed the creation of a much more dynamic and interactive web. This is sometimes called Web 2.0.