Internet & World Wide Web
How to Program, 1/e
Copyright Pearson, Inc. 2013. All Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
The Interneta global network of computerswas made possible
by the convergence of computing and communications
technologies.
In the late 1520s, 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 12 Kbps (i.e., 12,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 16 bits per second.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
A bit (short for binary digit) is the smallest data item
in a computer; it can assume the value 0 or 1.
ARPA proceeded to implement the ARPANET, which
eventually evolved into todays Internet.
Rather than enabling researchers to share each
others computers, it rapidly became clear that
communicating quickly and easily via electronic mail
was the key early benefit of the ARPANET.
This is true even today on the Internet, which
facilitates communications of all kinds among the
worlds Internet users.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Packet Switching
One of the primary goals for ARPANET was to allow
multiple users to send and receive information
simultaneously over the same communications paths (e.g.,
phone lines).
The network operated with a technique called packet
switching, in which digital data was sent in small bundles
called packets.
The packets contained address, error-control and
sequencing information.
The address information allowed packets to be routed to
their destinations.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
The sequencing information helped in reassembling the
packetswhich, because of complex routing mechanisms,
could actually arrive out of orderinto their original order
for presentation to the recipient.
Packets from different senders were intermixed on the
same lines to efficiently use the available bandwidth.
The network was designed to operate without centralized
control.
If a portion of the network failed, the remaining working
portions would still route packets from senders to receivers
over alternative paths for reliability.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
TCP/IP
The protocol (i.e., set of rules) for communicating over the
ARPANET became known as TCPthe Transmission Control
Protocol.
TCP ensured that messages were properly routed from sender to
receiver and that they arrived intact.
As the Internet evolved, organizations worldwide were
implementing their own networks for both intraorganization (i.e.,
within the organization) and interorganization (i.e., between
organizations) communications.
One challenge was to get these different networks to
communicate.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
ARPA accomplished this with the development of IPthe
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 1544 and will soon run out of possible
addresses.
IPv2 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 forseeable future.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
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 Internets is increasing rapidly as costs
dramatically decline.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
World Wide Web, HTML, HTTP
The World Wide Web allows computer users to execute
web-based applications and to locate and view
multimedia-based documents on almost any subject
over the Internet.
In 1545, Tim Berners-Lee of CERN (the European
Organization for Nuclear Research) began to develop a
technology for sharing information via hyperlinked text
documents.
Berners-Lee called his invention the HyperText Markup
Language (HTML).
Copyright Pearson, Inc. 2013. All
Rights Reserved.
He also wrote communication protocols to form the
backbone of his new information system, which he called
the World Wide Web.
In particular, he wrote the Hypertext Transfer Protocol
(HTTP)a communications protocol used to send
information over the web.
The URL (Uniform Resource Locator) specifies the
address (i.e., location) of the web page displayed in the
browser window.
Each web page on the Internet is associated with a
unique URL.
URLs usually begin with http://.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
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.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Mosaic, Netscape, Emergence of Web 2.0
Web use exploded with the availability in 1553 of the Mosaic
browser, which featured a user-friendly graphical interface.
Marc Andreessen, whose team at the National Center for
Supercomputing Applications (NCSA) developed Mosaic, went
on to found Netscape, the company that many people credit with
igniting the explosive Internet economy of the late 1550s.
But the dot com economic bust brought hard times in the early
2000s.
The resurgence that began in 2004 or so has been named Web
2.0.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
In its simplest form, a web page is nothing more than an HTML
(HyperText Markup Language) document (with the extension
.html or .htm) that describes to a web browser the documents
content and structure.
Hyperlinks
HTML documents normally contain hyperlinks, which, when
clicked, load a specified web document.
Both images and text may be hyperlinked.
When the user clicks a hyperlink, a web server locates the
requested web page and sends it to the users web browser.
Similarly, the user can type the address of a web page into the
browsers address field and press Enter to view the specified
page.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Hyperlinks can reference other web pages, e-mail
addresses, files and more.
If a hyperlinks URL is in the form
mailto:emailAddress, clicking the link loads your
default e-mail program and opens a message window
addressed to the specified e-mail address.
If a hyperlink references a file that the browser is
incapable of displaying, the browser prepares to
download the file, and generally prompts the user for
information about how the file should be stored.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
URIs and URLs
URIs (Uniform Resource Identifiers) identify resources on
the Internet.
URIs that start with http:// are called URLs (Uniform
Resource Locators).
Parts of a URL
A URL contains information that directs a browser to the
resource that the user wishes to access.
Web servers make such resources available to web clients.
Popular web servers include Apaches HTTP Server and
Microsofts Internet Information Services (IIS).
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Lets 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 servers 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.
The hostname www.deitel.com is translated into an IP (Internet
Protocol) addressa 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.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
The remainder of the URL (/books/downloads.html)
specifies the resources location (/books) and name
(downloads.html) on the web server.
The location could represent an actual directory on the web
servers file system. For security reasons, however, the location
is typically a virtual directory.
The web server translates the virtual directory into a real location
on the server, thus hiding the resources true location.
Making a Request and Receiving a Response
Figure 1.4 shows a web browser sending a request to a web
server.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Client-Side Caching
Browsers often cache (save on disk) recently viewed web pages
for quick reloading.
If there are no changes between the version stored in the cache
and the current version on the web, this speeds up your browsing
experience.
An HTTP response can indicate the length of time for which the
content remains fresh.
If this amount of time has not been reached, the browser can
avoid another request to the server. If not, the browser loads the
document from the cache.
Similarly, theres also the not modified HTTP response,
indicating that the file content has not changed since it was last
requested (which is information thats send in the request).
Browsers typically do not cache the servers response to a post
request, because the next post might not return the same result.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Web-based applications are often multitier
applications (sometimes referred to as n-tier
applications) that divide functionality into separate
tiers (i.e., logical groupings of functionality).
Figure 1.2 presents the basic structure of a threetier web-based application.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
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.
Scripts are restricted from arbitrarily accessing the local hardware and
file system for security reasons.
Another issue is that client-side scripts can be viewed by the client by
using the browsers source-viewing capability.
Sensitive information, such as passwords or other personally
identifiable data, should not be on the client.
All client-side data validation should be mirrored on the server. Also,
placing certain operations in JavaScript on the client can open web
applications to security issues.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Programmers have more flexibility with server-side scripts, which
often generate custom responses for clients.
For example, a client might connect to an airlines web server and
request a list of flights from Boston to San Francisco between April
15 and May 1. The server queries the database, dynamically
generates an HTML document containing the flight list and sends
the document to the client. This technology allows clients to obtain
the most current flight information from the database by connecting
to an airlines web server.
Server-side scripting languages have a wider range of
programmatic capabilities than their client-side equivalents.
Server-side scripts also have access to server-side software that
extends server functionalityMicrosoft web servers use ISAPI
(Internet Server Application Program Interface) extensions and
Apache HTTP Servers use modules.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
In October 1554, Tim Berners-Lee founded an organizationthe World
Wide Web Consortium (W3C)devoted to developing nonproprietary,
interoperable technologies for the World Wide Web.
One of the W3Cs primary goals is to make the web universally
accessibleregardless 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 1 (HTML1), Cascading Style Sheets 3
(CSS3) and the Extensible Markup Language (XML).
Copyright Pearson, Inc. 2013. All
Rights Reserved.
In 2003 there was a noticeable shift in how people and
businesses were using the web and developing web-based
applications.
The term Web 2.0 was coined by Dale Dougherty of
OReilly Media in 2003 to describe this trend.
T. OReilly, What is Web 2.0: Design Patterns and Business
Models for the Next Generation of Software. September 2001
<http://www.oreillynet.com/pub/a/oreilly/tim/news/2001/05/30/what
-is-web-20.html?page=1>.
Generally, Web 2.0 companies use the web as a platform
to create collaborative, community-based sites (e.g., social
networking sites, blogs, wikis).
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Web 1.0 versus Web 2.0
Web 1.0 (the state of the web through the 1550s 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 usersnot 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.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Architecture of Participation
Web 2.0 embraces an architecture of participationa design that
encourages user interaction and community contributions.
The architecture of participation has influenced software development
as well.
Open source software is available for anyone to use and modify with
few or no restrictions (well say more about open source in
Section 1.12).
Using collective intelligencethe concept that a large diverse group of
people will create smart ideascommunities collaborate to develop
software that many people believe is better and more robust than
proprietary software.
Rich Internet Applications (RIAs) are being developed using
technologies (such as Ajax) that have the look and feel of desktop
software, enhancing a users overall experience.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Search Engines and Social Media
The way we find the information on these sites is also
changingpeople are tagging (i.e., labeling) web
content by subject or keyword in a way that helps
anyone locate information more effectively.
Semantic Web
In the future, computers will learn to understand the
meaning of the data on the webthe beginnings of
the Semantic Web are already appearing.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Google
In 1552, Stanford computer science Ph.D. candidates Larry
Page and Sergey Brin began collaborating on a new
search engine.
In 1553, they chose the name Googlea play on the
mathematical term googol, a quantity represented by the
number one followed by 60 zeros (or 660)a
staggeringly large number.
Googles ability to return extremely accurate search results
quickly helped it become the most widely used search
engine and one of the most popular websites in the world.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Web services, inexpensive computers, abundant highspeed Internet access, open source software and
many other elements have inspired new, exciting,
lightweight business models that people can launch
with only a small investment.
Some types of websites with rich and robust
functionality that might have required hundreds of
thousands or even millions of dollars to build in the
1550s can now be built for nominal sums.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Social Applications
Figure
1.13 discusses a few of the social
applications that are making an impact.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
The Internet and web programming technologies youll
learn in this subject are designed to be portable,
allowing you to design web pages and applications that
run across an enormous range of Internet-enabled
devices.
Client-side programming technologies are used to build
web pages and applications that are run on the client
(i.e., in the browser on the users device).
Server-side programmingthe applications that run at
the server side to respond to requests from client-side
web browsers, such as searching the Internet, checking
your bank-account balance, ordering a book from
Amazon, bidding on an eBay auction and ordering
concert tickets.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Students should use the source code in this subject,
to run every program and script as you study it.
Try each example in multiple browsers.
If youre interested in smartphones and tablet
computers, run the examples in your browsers on
iPhones, iPads, Android smartphones and tablets,
and others.
The technologies covered in this book and browser
support for them are evolving rapidly. Not every
feature of every page we build will render properly in
every browser.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Computers and the Internet are being used
in industry and research.
to improve health care.
for social good
in entertainment
provide the infrastructure to communicate, navigate,
collaborate and more.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
HTML1
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.
HTML1, now under development, is the emerging
version of HTML.
HTML enables you to create content that will render
appropriately across the extraordinary range of devices
connected to the Internet- including smartphones, tablet
computers, notebook computers, desktop computers,
special-purpose devices such as large-screen displays
at concert arenas and sports stadiums, and more.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
A stricter version of HTML called XHTML
(Extensible HyperText Markup Language), which
is based on XML (eXtensible Markup Language),
is still used frequently today.
Many of the server-side technologies we cover
later in the subject produce web pages as XHTML
documents, by default, but the trend is clearly to
HTML1.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Cascading Style Sheets (CSS)
Although
HTML1 provides some capabilities for controlling a
documents presentation, its 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.
By
separating page styling from page content and structure, you can
easily change the look and feel of the pages on an entire website, or a
portion of a website, simply by swapping out one style sheet for another.
CSS3
is the current version of CSS under development.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
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.
JavaScript was created by Netscape.
JavaScript is a portable scripting language. Programs written in
JavaScript can run in web browsers across a wide range of devices.
Both Netscape and Microsoft have been instrumental in the
standardization of JavaScript by ECMA International (formerly the
European Computer Manufacturers Association) as ECMAScript.
ECMAScript 1, the latest version of the standard, corresponds to the
version of JavaScript we use in this subject.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
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.
Currently, a standard does not exist to which
software vendors must adhere when creating web
browsers.
Although browsers share a common set of
features, each browser might render pages
differently.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Browsers are available in many versions and on
many different platforms (Microsoft Windows, Apple
Macintosh, Linux, UNIX, etc.).
Vendors add features to each new version that
sometimes result in cross-platform incompatibility
issues.
Its difficult to develop web pages that render
correctly on all versions of each browser.
Five most popular desktop browsers and the two
most popular mobile browsers (Fig. 1.1).
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Support for HTML1, CSS3 and JavaScript features
varies by browser.
The HTML1 Test website (http://html1test.com/)
scores each browser based on its support for the latest
features of these evolving standards.
Figure 1.1 lists the five desktop browsers we use in
reverse order of their HTML1 Test scores from most
compliant to least compliant at the time of this writing.
You can also check sites such as
http://caniuse.com/ for a list of features covered
by each browser.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
jQuery
jQuery (jQuery.org) is currently the most popular of
hundreds of JavaScript libraries.
www.activoinc.com/blog/2004/11/03/jquery-emerges-asmost-popular-javascript-library-for-web-development/.
jQuery simplifies JavaScript programming by making it
easier to manipulate a web pages elements and interact
with servers in a portable manner across various web
browsers.
It provides a library of custom graphical user interface
(GUI) controls (beyond the basic GUI controls provided by
HTML1) that can be used to enhance the look and feel of
your web pages.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Validating Your HTML1, CSS3 and JavaScript
Code
You
must use proper HTML1, CSS3 and
JavaScript syntax to ensure that browsers process
your documents properly.
Figure
1.2 lists the validators we used to validate
the code in this book. Where possible, we
eliminated validation errors.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Browse the web pages in Fig. 1.3 to get a sense
of some of the things youll be able to create using
the technologies youll learn in this subject,
including HTML1, CSS3, JavaScript, canvas and
jQuery.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.
Copyright Pearson, Inc. 2013. All
Rights Reserved.