Chapter 1 - Introduction
Chapter 1 - Introduction
Chapter 1 - Introduction
1
Introduction
The Internet is a global network of computers spanning
the globe. It is also called the World Wide Web.
2
Evolution of the Internet and World
Wide Web
In the late 1960s, ARPA (the Advanced Research
Projects Agency) rolled out blueprints for networking the
main computer systems of about a dozen ARPA-funded
universities and research institutions.
They were to be connected with communications lines
operating at a then-stunning 56 Kbps (i.e., 56,000 bits
per second)—this at a time when most people (of the
few who could) were connecting over telephone lines to
computers at a rate of 110 bits per second.
3
Evolution of the Internet and World
Wide Web
ARPA accomplished this with the development of IP—the
Internet Protocol, truly creating a network of networks, the
current architecture of the Internet.
The combined set of protocols is now commonly called TCP/IP.
Each computer on the Internet has a unique IP address.
The current IP standard, Internet Protocol version 4 (IPv4), has
been in use since 1984 and will soon run out of possible
addresses.
IPv6 is just starting to be deployed. It features enhanced security
and a new addressing scheme, hugely expanding the number of
IP addresses available so that we will not run out of IP
addresses in the foreseeable future.
4
Evolution of the Internet and World
Wide Web
TCP/IP
The protocol (i.e., set of rules) for communicating over the
ARPANET became known as TCP—the Transmission Control
Protocol.
TCP ensured that messages were properly routed from sender
to receiver and that they arrived intact.
5
Evolution of the Internet and World
Wide Web
Explosive Growth
Initially, Internet use was limited to universities
and research institutions; then the military began
using it intensively.
Eventually, the government decided to allow
access to the Internet for commercial purposes.
Bandwidth (i.e., the information-carrying capacity)
on the Internet’s is increasing rapidly as costs
dramatically decline.
6
Evolution of the Internet and World
Wide Web
7
Evolution of the Internet and World
Wide Web
8
Evolution of the Internet and World
Wide Web
HTTPS
URLs of websites that handle private information, such as
credit card numbers, often begin with https://, the
abbreviation for Hypertext Transfer Protocol Secure
(HTTPS).
HTTPS is the standard for transferring encrypted data on
the web.
It combines HTTP with the Secure Sockets Layer (SSL)
and the more recent Transport Layer Security (TLS)
cryptographic schemes for securing communications and
identification information over the web.
9
Web Basics
Let’s examine the components of the URL
http://www.deitel.com/books/downloads.html
The text http:// indicates that the HyperText Transfer
Protocol (HTTP) should be used to obtain the resource.
Next in the URL is the server’s fully qualified hostname
(for example, www.deitel.com)—the name of the web-
server computer on which the resource resides.
This computer is referred to as the host, because it
houses and maintains resources.
10
Web Basics
The hostname www.deitel.com is translated into an IP
(Internet Protocol) address—a numerical value that
uniquely identifies the server on the Internet.
An Internet Domain Name System (DNS) server
maintains a database of hostnames and their
corresponding IP addresses and performs the translations
automatically.
11
Web Address
Endings of web pages tells us a bit about the page.
Some common endings to web addresses are:
com (commercial)
edu (educational institution)
gov (government)
net (network)
org (organization)
You might also see addresses that add a country code
as the last part of the address such as:
ca (Canada)
uk (United Kingdom)
fr (France)
us (United States of America)
au (Australia)
12
Client-side programming vs Server-side
programming
13
Client-Side Scripting versus Server-
Side Scripting
Client-side scripting with JavaScript can be used to validate
user input, to interact with the browser, to enhance web
pages, and to add client/server communication between a
browser and a web server.
Client-side scripting does have limitations, such as browser
dependency; the browser or scripting host must support the
scripting language and capabilities.
Programmers have more flexibility with server-side scripts,
which often generate custom responses for clients.
Server-side scripting languages have a wider range of
programmatic capabilities than their client-side equivalents.
14
Client-Server: Requesting
15
Client-Server: Response
16
World Wide Web Consortium (W3C)
In October 1994, Tim Berners-Lee founded an organization—the World
Wide Web Consortium (W3C)—devoted to developing nonproprietary,
interoperable technologies for the World Wide Web.
One of the W3C’s primary goals is to make the web universally
accessible— regardless of disability, language or culture.
The W3C is also a standards organization.
Web technologies standardized by the W3C are called
Recommendations.
Current and forthcoming W3C Recommendations include the HyperText
Markup Language 5 (HTML5), Cascading Style Sheets 3 (CSS3) and
the Extensible Markup Language (XML).
17
Web 2.0: Going Social
Web 1.0 versus Web 2.0
Web 1.0 (the state of the web through the 1990s and early
2000s) was focused on a relatively small number of companies
and advertisers producing content for users to access (some
people called it the “brochure web”).
Web 2.0 involves the users—not only do they often create
content, but they help organize it, share it, remix it, critique it,
update it, etc.
One way to look at Web 1.0 is as a lecture, a small number of
professors informing a large audience of students. In
comparison, Web 2.0 is a conversation, with everyone having
the opportunity to speak and share views.
18
Web 2.0: Going Social
Ajax (Asynchronous JavaScript And XML)
Ajax is one of the premier Web 2.0 software
technologies.
Ajax helps Internet-based applications perform like
desktop applications—a difficult task, given that such
applications suffer transmission delays as data is
shuttled back and forth between your computer and
servers on the Internet.
19
HTML5, CSS3, JavaScript
HTML5
HTML (HyperText Markup Language) is a special type of
computer language called a markup language designed
to specify the content and structure of web pages (also
called documents) in a portable manner.
A “stricter” version of HTML called XHTML (Extensible
HyperText Markup Language), which is based on XML
(eXtensible Markup Language), is still used frequently
today.
20
HTML5, CSS3, JavaScript
Cascading Style Sheets (CSS)
Although HTML5 provides some capabilities for
controlling a document’s presentation, it’s better not to
mix presentation with content.
Cascading Style Sheets (CSS) are used to specify the
presentation, or styling, of elements on a web page (e.g.,
fonts, spacing, sizes, colors, positioning).
CSS was designed to style portable web pages
independently of their content and structure.
21
HTML5, CSS3, JavaScript
JavaScript
JavaScript helps you build dynamic web pages (i.e.,
pages that can be modified “on the fly” in response to
events, such as user input, time changes and more) and
computer applications.
It enables you to do the client-side programming of web
applications.
22
HTML5, CSS3, JavaScript
Web Browsers and Web-Browser Portability
Ensuring a consistent look and feel on client-side
browsers is one of the great challenges of developing
web-based applications.
23
HTML, CSS and JavaScript
Validators
24
Types of Programming Languages
Programmers write instructions in various programming
languages, some directly understandable by computers and
others requiring intermediate translation steps.
Any computer can directly understand only its own machine
language, defined by its hardware design.
Programming in machine language—the numbers that
computers could directly understand—was simply too slow
and tedious for most programmers.
These abbreviations formed the basis of assembly languages.
Translator programs called assemblers were developed to
convert assembly-language programs to machine language.
25
Types of Programming Languages
To speed the programming process even further, high-level
languages were developed in which single statements could
be written to accomplish substantial tasks.
High-level languages allow you to write instructions that look
almost like everyday English and contain commonly used
mathematical expressions.
Translator programs called compilers convert high-level
language programs into machine language.
Interpreter programs were developed to execute high-level
language programs directly, although more slowly than
compiled programs.
26
Examples of Web
Languages
27
HTML (Hypertext MarkUp Language)
HTML is the lingua franca for publishing hypertext on the
World Wide Web
Define tags <html><body> <head>….etc
Allow to embed other scripting languages to manipulate
design layout, text and graphics
Platform independent
For more info: http://www.w3.org/MarkUp/
28
JavaScript
Compact object-based scripting language
Code be embedded into HTML file
HTML tag
<script language=“javascript”>CODE</script>
Also be in a separate file FILENAME.js
HTML tag
<SCRIPT LANGUAGE="JavaScript"
SRC=“FILENAME.js"></SCRIPT>
29
PHP (Hypertext Preprocessor)
PHP- HTML-embedded scripting language
Syntax looks like C, JAVA, and PERL
File extension: FILENAME.php
Main Objective:
Generate Dynamic content
User Interface
Server side loadable module
Server side execution
More info: http://www.php.net
30
Database Technology (MYSQL)
Database driven backend infrastructure
Content is independent from design
CGI and PHP are widely used
Provide the flexibility of data storage
Popular database for web systems:
◦ MYSQL, MSQL, Cold Fusion, MS-ACCESS, ORACLE
SCS database driven sites USE MYSQL
Example of SCS database driven sites
31
Flash
Multimedia web development
Audio, video, animation really flashy web content
3D graphics
More info:
◦ http://www.macromedia.com/devnet/mx/flash/
SCS Web site (Flash):
◦ http://www.cs.cmu.edu/fla/
Performance on low bandwidth is an issue
32
VoiceXML (Voice Extensible Markup
Language)
Designed for creating
Audio Dialog that feature synthesized speech
Digitized audio
Recognition of spoken and DTMF(Dual-tone-multi-
frequency) key input
Recording of spoken input
Telephony
Mixed initiative conversation
http://www.w3.org/TR/voicexml20/
http://www.voicexml.org/
33
End…
34