52
AN INTRODUCTION TO AN INTRODUCTION TO INTERNET INTERNET , , WEB WEB and and HTML HTML CSIT225 CSIT225 Internet Programming Internet Programming CHAPTER 1 CHAPTER 1

225 ch1 (1)

Embed Size (px)

Citation preview

AN INTRODUCTION TO AN INTRODUCTION TO INTERNETINTERNET,, WEB WEB and and

HTMLHTML

CSIT225CSIT225Internet ProgrammingInternet Programming

CHAPTER 1CHAPTER 1

The History of The History of InternetInternet

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 The History of InternetInternet

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 The History of InternetInternet

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 The History of InternetInternet

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 The History of InternetInternet

• 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 The History of InternetInternet

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 TermsNew 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 The Primary Advantages of the Advantages of the

TCP/IPTCP/IP1. 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 Ways of Internet UtilityUtility

1. Communication

2. Remote File Transfer Operations

3. Web Publishing

4. Document Searching

Ways of Internet Ways of Internet UtilityUtility

• 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-to-person, "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.

CommunicationCommunication

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. 

CommunicationCommunication

• 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 

CommunicationCommunication

• 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!

CommunicationCommunication

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. 

CommunicationCommunication

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.

CommunicationCommunication

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.

CommunicationCommunication

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.

CommunicationCommunication

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.

CommunicationCommunication

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 Communicate in Real Time 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 What Is IRC and How Does It Work?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 What Is IRC and How Does It Work?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 Remote File Transfer Transfer

Operations 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 Remote File Transfer Transfer

Operations 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 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 Document Searching Searching

• The Internet isn't called the Information Superhighway for nothing.

 • 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 Document Searching 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 Document Searching 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 Document Searching 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 Document Searching 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 Document Searching 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 The Internet for Fun and Fun and

EntertainmentEntertainmentGames 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 The Internet for Fun and Fun and

EntertainmentEntertainment

• 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 What exactly is the web? 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 What exactly is the web? web?

What exactly is the What exactly is the web? 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 What exactly is the web? 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 What exactly is the web? 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 What exactly is the web? 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 What is a client/server client/server

system? 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 What is a client/server client/server

system? 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 What is a client/server client/server

system? 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 What is a client/server client/server

system? 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 What is a client/server client/server

system? system? • The whole process looks something like the figure

below:

What is a What is a client/server client/server

system? 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 What is a client/server client/server

system? 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 What is a client/server client/server

system? 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 HTML the Language of the Web 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 HTML the Language of the Web 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 HTML the Language of the Web 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 HTML the Language of the Web 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.