bYTEBoss 225_ch1
Download
Report
Transcript bYTEBoss 225_ch1
CSIT225
Internet Programming
CHAPTER 1
AN INTRODUCTION TO
INTERNET, WEB and HTML
The History of
Internet
1970 - Advanced Research Agency Network (ARPANET) hosts
started to use Network Control Protocol (NCP).
1972 - The first Telnet specification, “Ad hoc Telnet Protocol” was
submitted as RFC 318 (RFC-Request for Comments).
1973 - RFC-454, “File Transfer Protocol”, was introduced.
1974 - The Transmission Control Program (TCP) was specified in
detail.
1981 - The IP (Internet Protocol) standard was published in RFC
791. (*)
The History of
Internet
1982 - Control Protocol (TCP) and Internet Protocol
(IP) as the TCP/IP protocol suite.
1983 - ARPANET switched from NCP to TCP/IP.
1984 - Domain Name System (DNS) was introduced.
1986 - The U.S. National Science Foundation (NSF)
initiated the development of the NSFnet, which
even now provides a major backbone
communication service for the Internet
The History of
Internet
1989 - The web was initially conceived and created by Tim
Berners-Lee, a computer specialist from the European Particle
Physics Laboratory (CERN) in 1989. He and his partner Robert
Cailliau created a prototype web for CERN and released it to
the Internet community for testing and comments.
1991 - NSF dropped its funding of the Internet and lifted the ban
on commercial traffic on its backbone. (***)
The History of
Internet
Note: You should recognize that an IP address is, in fact, an
Internet protocol address.
* The survey says that 4,294,967,296 possible IP addresses are
available on the Internet.
**Today, the NSFnet backbone carries over 12 billion packets of
information per month.
***
Up until 1991, all NSF traffic came from government and
educational institutions
The History of
Internet
• The most important technological development in
the history of the web, besides the creation of the
web itself, was the development of graphical
browsers in the early 90s. Beginning with NCSA's
Mosaic and its evolution into Netscape's Navigator
and Microsoft's Internet Explorer, these programs
allowed users to browse the resources on the web
in an extremely user friendly environment.
• This made the web a "fun" place and marked the
beginning of the true web revolution.
The History of
Internet
After 1991,
• Commercial enterprises could respond more quickly to the
market and to demand for information.
• New commercial backbones are built and of course, the
marketing and popularization of the Internet came.
• The Net started to move away from UNIX and other science
application languages to Windows-based interfaces that were
easy for the public to use.
• As the Internet became more accessible, companies began to
see the enormous potential for business on the Internet. In
addition, users also began to see some of the incredible
applications for which they could use the Internet.
New Terms
New Term: Protocol: A protocol is nothing more than a set of
rules. On the Internet, it is a set of rules computers use to
communicate across networks. As long as everyone follows the
rules, communication can occur freely
New Term: Backbone: A backbone is nothing more than a major
cable that carries network traffic. Although thousands of
regional private and public networks exist, most Internet
traffic spends most of its trip on one of the major backbones
TCP/IP is a set of protocols developed to allow cooperating
computers to share resources across a network. Today TCP/IP
is the most important protocol that internet is based on.
The Primary
Advantages of the
TCP/IP
1.
It is the most complete and accepted enterprise networking
protocol available today.
2.
All modern operating systems offer TCP/IP support.
3.
Most large networks rely on TCP/IP for much of their network
traffic.
4.
TCP/IP is also the protocol standard for the Internet.
5.
Using TCP/IP technology is the ability to connect dissimilar
systems.
Ways of Internet
Utility
1. Communication
2. Remote File Transfer Operations
3. Web Publishing
4. Document Searching
Ways of Internet
Utility
•
With all the publicity and television commercials, you might
conclude that the most popular use of the Internet is the
World Wide Web.
•
Well, here's a surprise. The most popular use, even today, is
electronic mail, or e-mail. That's right, good old person-toperson, "let's talk"-type communication. It is almost fitting
that one of the original uses of the Internet would still be
the most popular.
•
You can, of course, communicate in other ways on the Net.
In the following sections, you look at a few ways people are
using the Internet to communicate with one another.
Communication
Personal Communication
Why e-mail ?
E-mail
•
provides you with more than just a way to write
Aunt Jane a note about how things are going. Of course,
many people can and do use e-mail for this very task, and it
is very effective when used this way. But you also can find
some more practical reasons for personal communication.
•
Have you ever tried to get in touch with someone and ended
up playing phone tag for two days before finally getting hold
of them? If you have, you know how frustrating this
situation can be. Fortunately, e-mail eliminates this
problem.
Communication
•
Using e-mail, you can quite often get hold of people who
might otherwise take hours or days to get in touch with. Not
only that, but by using e-mail, you can contact them on your
time--no more waiting on hold or wondering whether you've
been disconnected.
•
Just send some e-mail, go about your other business, and
wait for a response to pop in your mailbox. Which, by the
way, points to e-mail's biggest advantage: It's fast! It's in
the Mail
Communication
•
Faxes are nice, but over long distances, the costs can add
up. What if you had a quick and easy way to transmit
instantly any type of file, document, or computer program
electronically? Well, you do. With most e-mail programs,
you can encode and "attach" documents to e-mail
messages.
•
Why bother with wasted paper and time at the fax
machine? E-mail your message!
Communication
A Public Forum
•
Wouldn't it be great if you could have access to hundreds
of other people through one e-mail address? The listserv
is just such a vehicle.
•
By signing up, or "subscribing," to a listserv, you then
gain instant access to everyone else who subscribes to
that listserv.
Communication
A Public Forum
•
New Term: Listserv: A listserv is basically an e-mail address that
is configured to forward every message it receives to the e-mail
addresses of the users who have "subscribed" to it. You can think of
a listserv as an electronic interactive newspaper.
•
Listservs have literally thousands of topics for their member to
discuss. Everybody from programmers to zoologists can find a
listserv. If more than one person is interested in a particular topic,
you can almost certainly find a listserv for it.
Communication
CAUTION:
•
Listservs are great, no doubt about it. They do, however,
pose a downside.
•
Some of them are large and can sometimes dump
hundreds of e-mail messages a day into your mailbox, so
be careful out there.
Communication
More Public Forums
•
Using listservs isn't the only way to reach out and
talk to large groups of people on the Internet.
•
Using newsgroups, you can accomplish the same
task in a different way.
Communication
The differences between listserv and newsgroups
•
The first difference between a listserv and a newsgroup is
in the way messages are received.
•
With listservs, messages are sent directly to your mailbox,
where you have to sort them out and decide what to read.
•
Newsgroup messages, on the other hand, are posted to
something like a public electronic bulletin board, where
you have to go to read the messages.
Communication
The differences between listserv and newsgroups
•
The second difference is one of access.
•
Anybody with an e-mail address can subscribe to a
listserv.
•
To read newsgroups, however, your Internet service
provider must provide you with access.
Communicate in Real
Time
•
In the last few years, the Internet has been hit by a wave of real-time
communication. The processes of getting information, talking to
others, and collaborating with colleagues no longer require a waiting
period.
Chatting
•
At some point, you may want to remove the time delay between
sending and receiving e-mail. You may want to converse directly with
another person or have the ability to address a group of people.
•
Today the most popular chatting services and tools are IRC and ICQ.
What Is IRC and How
Does It Work?
•
IRC (Internet Relay Chat) was developed in the late 1980s
by Jarkko Oikarinen. It consists of a network of chat servers
located all over the globe. Each server is connected via the
network, allowing users to have real-time communications.
•
Using IRC, large groups of people can simultaneously
participate in discussion groups, called channels.
•
A user's message is instantly viewed by all the other guests
in that channel.
What Is IRC and How
Does It Work?
•
IRC poses no restrictions to the number of users. Tens of
thousands of people connect to IRC everyday to discuss
everything from world news to what they had for dinner last
night.
•
If you can't find a channel for your topic of discussion, you
can always start your own.
•
Actually, a few separate networks make up IRC. The two
biggest are EFnet and Undernet. Some channels are shared
by both, whereas other channels reside on only one of the
networks. Because of the network connections to either
EFnet or Undernet, you don't have to connect to the same
server every time. Try connecting to the one that is
geographically closest to you. Doing so may make your
connection faster.
Remote File Transfer
Operations
•
FTP (File Transfer Protocol) is the one of the most important
and popular protocols used in Internet. Any two computers
from any two parts of the world can be connected to each
other through FTP in order to send, get any file to/from each
other.
•
You can use standard FTP commands in order to connect to
an FTP server, then you may upload (send) or download
(get) any file to/from this server (if you familiar with the
command set of FTP).
•
If you do not know FTP commands, you may use any FTP
tools (e.i.: Cute-FTP, Bulletproof- FTP) or a new generation
web browser which is supporting FTP (e.i.: Internet explorer,
Netscape Navigator, …) for this purpose.
Remote File Transfer
Operations
•
Most of the FTP servers require user accounts with
passwords in order to allow their users to connect
themselves.
•
FTP servers may allow foreign users to login
(connect themselves) as anonymous user with
limited rights.
WEB Publishing
•
World Wide Web (WWW) is going to be the most
effective and the cheapest publishing environment
of today (it is competing with TV now).
•
Hyper Text Markup Language (HTML) is a language
that forms the documents in order to published in
the WWW environment.
•
Hyper Text Transfer Protocol (HTTP) is a protocol,
that is used for transferring HTML pages from WEB
servers to the clients browsers.
Document Searching
•
The Internet isn't called
Superhighway for nothing.
the
Information
•
The Internet is information.
•
Sometimes unfiltered, many times even useless,
more information is available on the Internet than
any one person could ever deal with.
Document Searching
•
Fortunately, some powerful search tools can help
you find just about anything you want (i.e.:
Finding People, Places, and Things).
•
In the final analysis, whether you find the Internet
useful depends to a large degree on whether you
can find the information you want and need.
Document Searching
Finding People
•
Because everyone on the Internet has an e-mail address,
you should be able to find anyone, right?
•
Well, think about it. How easy would it be to publish a
telephone book with every phone number in the world? Not
very easy at all.
•
Even if you could gather all the numbers, by the time you
published it, 10 percent of them would be wrong,
disconnected, or changed.
Document Searching
Finding People
•
The same challenge faces the Internet, and
to be honest, sometimes the best way to
find a friend's e-mail address is to just pick
up the phone, call, and ask.
•
With some tools, however, you can, with a
little afford, locate e-mail addresses.
Document Searching
Finding Places
•
One of the newest crazes on the Internet is locator services.
Many Internet sites help you plan trips, find locations, take
you through tours on maps, and more.
•
All these services start with a search engine, which enables
you to search a database for information you want. In this
case, the database consists of locations, highway routes, and
other geographical information.
Document Searching
•
New Term: Search engine: A search engine does
exactly what its name says. It is really a computer
program that indexes a database and then enables
users to search it for relevant information.
Finding Things
•
You can search for billions of things on the
Internet. Searching is an integral part of anyone's
Internet use today.
The Internet for Fun
and Entertainment
Games of Internet
National Quake Teams (Play with other users)
Bots (Play with computer characters that they have artificial
intelligence)
Music on Internet
RealAudio, Radio station on Internet, …
Video on Internet
RealVideo, EmblazeVideo, Internet TV, …
Video Conferencing
With the help of a small, inexpensive camera, and the right
software on your computer, you can conduct face-to-face
business and personal meetings right over the Internet.
The Internet for Fun
and Entertainment
•
For an organization or individual who has contacts
spread out over a large geographic area but who
needs face-to-face contact with them on a regular
basis, video conferencing is very useful.
What exactly is the
web?
•
The web is a complex, international, cross
platform, cross language, cross cultural mesh of
servers, clients, users, databases, and quite a few
artificial
intelligences
all
talking,
working,
searching, viewing, accessing, downloading, and
who knows what else.
What exactly is the
web?
What exactly is the
web?
•
As such, no one owns or controls the web. In fact, it is
impossible to own or control by its very nature and design.
In fact, "it" is not even an "it". You can't hold the web or
make it tangible. Instead, you can think of the web not as a
thing, but as a process, an action, a medium of
communication.
•
This fact has profound implications on how you should think
about designing web pages. For example, give up any hopes
of maintaining intellectual property over what you distribute
on the web and know that the only information that is private
or secure is the information that is stored solely in your own
neurons.
What exactly is the
web?
•
“The Internet" is quite a different thing from "an
Intranet".
•
An Intranet is a mini web that is limited to the
users, machines, and software programs of a
specific organization, usually a company. Since
organizations are typically small and have more
control over policies and information systems,
intranets are often more controllable.
What exactly is the
web?
•
So how do all these computers, software
packages, and people communicate with each
other?
•
The creators of the web devised standards of
communication upon which the web is built.
•
These standards sit at a layer above operating
systems,
computer
languages,
or
Internet
transmission protocols and provide a basic
medium for communication.
What exactly is the
web?
•
The two most important standards (protocols)
used on the web today are HTTP and HTML. Let's
look at each of those protocols more in depth...
•
The web is the largest client/server system
implemented to date." It is also the most complex
and heterogeneous one that must deal with
multitudes
of
operating
systems,
human
languages, programming languages, software,
hardware, and middleware.
What is a
client/server system?
•
A client/server system is a very keen way of
distributing
information
across
information
systems like a local area network (LAN), a wide
area network (WAN), or the Internet.
•
A client/server system works something like this:
A big hunk of computer (called a server) sits in some
office somewhere with a bunch of files that people might
want access to.
This computer runs a software package (uh...also called a
server unfortunately) that listens all day long to requests
over the wires.
What is a
client/server system?
•
The "wires" is possibly a twisted pair network
hooked into a local telephone company POP or a
cable or fiber optics network hooked up to a
corporate WAN or LAN that is also linked up to the
national
telecommunications
/
information
infrastructure through a local telephone company.
•
Whatever the case, the specifics of the information
infrastructure is beyond the scope of this tutorial,
but should be mentioned.
What is a
client/server system?
•
Typically, these requests will be in some language and some
format that the computer understands, but in English sound
something like, "hello software package running on a big
hunk of computer, please give me the file called
"mydocument.txt" that is located in the directory
"/usr/people/myname".
•
The "server software" will then access the server hardware,
find the requested file, send it back over the wires to the
"client" who requested it, and then wait for another request
from the same or another client.
What is a
client/server system?
•
Usually, the "client" is actually a software program,
like Netscape Navigator, that is being operated by
a person who is the one who really wants to see
the file.
•
The client software however, deals with all the
underlying client/server protocol stuff and then
displays the document (that usually means
interpreting HTML, but we'll get there in just a bit)
to the human user.
What is a
client/server system?
•
The whole process looks something like the figure
below:
What is a
client/server system?
•
So if the web is a huge client/server system, what is the
underlying client/server protocol that is used by the client
software and the server software for communication?
•
Well the client/server protocol used by the web is HTTP
(HyperText Transport Protocol).
•
HTTP is a protocol that is defined in several RFC´s (Request
for Comments) located at the Internic and has had several
generations worth of revisions (HTTP/09, HTTP/1.0 and
HTTP/1.1).
What is a
client/server system?
•
HTTP is a "request-response" type protocol that
specifies that a client will open a connection to a
server then send a request using a very specific
format. The server will then respond and close the
connection.
•
The details of HTTP are less important for an HTML
designer as they are to a web programmer, so we
will not go into the specifics here (although they
are available from the Illustrated Guide to HTTP
referenced in the Resources section below).
What is a
client/server system?
•
The main thing you need to know is that HTTP is a
language spoken between your web browser
(client software) and a web server (server
software) so that they can communicate with each
other and exchange files.
•
As a web designer, you will deal much more with
the other web protocol, HTML that is discussed
next.
HTML the Language
of the Web
•
•
•
So what does a web browser (client software) do with a file it
receives from a web server (server software)? Does it just
display it to the human user as is?
The answer is yes and no. Actually, in some cases, the web
browser will display a document exactly the way it receives it
from the web server. For example, if the document requested
is an image, the web browser will display it directly. Similarly,
plain text files will be displayed just as they are sent.
However, if the document is an HTML document, the web
browser will "interpret" the HTML and display it according to
the instructions contained within the HTML code.
HTML the Language
of the Web
•
Well, what is HTML code and why must it be
interpreted?
•
HTML (Hyper Text Markup Language) is a very
simple language used to "describe" the logical
structure of a document.
HTML the Language
of the Web
•
•
•
•
•
•
Is HTML a Programming Language?
Actually, though HTML is often called a programming
language it is really not.
Programming
languages
are
'Turing-complete',
or
'computable'. That is, programming languages can be used
to compute something such as the square root of pi or some
other such task.
Typically programming languages use conditional branches
and loops and operate on data contained in abstract data
structures.
HTML is much easier than all of that. HTML is simply a
'markup language' used to define a logical structure rather
than compute anything.
It is a semantic issue, but it is one which you should officially
be aware of.
HTML the Language
of the Web
•
For example, it can describe which text the browser should
emphasize, which text should be considered body text versus
header text, and so forth.
•
The beauty of HTML of course is that it is generic enough
that it can be read and interpreted by a web browser running
on any machine or operating system.
•
This is because it only focuses on describing the logical
nature of the document, not on the specific style.
•
The web browser is responsible for adding style. For instance
emphasized text might be bolded in one browser and
italicized in another. It is up to the browser to decide.