The Client Side :
From the users’ point of
view,the Web consists of a vast,worldwide collection of documents ,usually
just called pages for short.Pages are viewed with a program called a browser
,of which Netscape and Internet explorer are two popular ones.The browser
fetches the page and displays the page,properly formatted,on the screen.
Most browsers have numerous
buttons and features to make it easier to navigate the Web.Many have a
button for going back to the previous page ,a button for going forward
to the next page ,and a button for going straight to the user’s own home
page.Most browsers have a button or menu item to set a bookmark on a given
page and another one to
display the list of bookmarks,making it possible to revisit any of
them with a single mouse click.
To host a Web browser, a
machine must be directly on the Internet, or at least have a SLIP or PPP
connection to a router or other machine that is directly on the Internet.This
requirement exists because the way a browser fetches a page is to establish
a TCP connection to the machine where the page is, and then send a message
over the connection
asking for the page.If it cannot establish a TCP connection to an arbitrary
machine on the Internet ,a browser will not work.
The Server Side :
Every Web site has a server process listening to TCP port 80 for incoming
connection
from clients (normally browsers). After a connection has been established
,the client sends one request and the server sends one reply. Then the
connection is released. The protocol that defines the legal requests and
replies called HTTP.
The steps that occur between the user’s click & the page being displayed
:
1-The browser determines the URL(by seeing what was selected).
2-The browser asks DNS for the IP address of (e.g. www.w3.org).
3-DNS replies with 18.23.0.23 .
4-The browser makes a TCP connection to port 80 on 18.23.0.23.
5-It then sends a Get /hypertext/WWW/Theproject.html command.
6-The www.w3.org server sends the file Theproject.html.
7-The TCP connection is released.
8-The browser displays all the text in Theproject.html.
9-The browser fetches and displays all images in Theproject.html.
Not all servers speak HTTP. In particular , many older servers use the
FTP, Gopher , or other protocols. Since a great deal of useful information
is available on FTP and Gopher servers, one of the design goals of the
Web was to make this information available to Web users. On solution is
to have the browser use these protocols when speaking to an FTP or Gopher
server. Some of them, in fact , use this solution , but making browsers
understand every possible protocol makes them unnecessarily large.
Instead , a different solution is often used : proxy servers. A proxy server
is a kind of gateway that speaks HTTP to the browser but FTP , Gopher ,
or some other protocol to the server. It accepts HTTP requests and translates
them into , say , FTP requests, so the browser does not have to understand
any protocol except HTTP. The proxy server can be a program running on
the same machine as the browser , but it can also be on a free-standing
machine somewhere in the network serving many browsers.
HTTP-HYPERTEXT TRANSFER PROTOCOL :
The standard Web transfer protocol is
HTTP(HyperText Transfer Protocol ) . Each interaction consists of one ASCII
request , followed by one RFC 822 MIME-like response . Although the use
of TCP for the transport connection is very common ,it is not formally
required by the standard.
The HTTP protocol consists of two fairly
distinct items : the set of requests from browsers to servers and the set
of responses going back the other way. All the newer versions of HTTP support
two kinds of requests : simple requests and full requests. A simple request
is just a single GET line naming the page desired, without the protocol
version . The response is just the raw page ,with no headers, no MIME ,
and no encoding. Full requests are indicated by the presence of the protocol
version on the GET request line . Requests may consist of multiple lines
, followed by a blank line to indicate the end of the request , which is
why the blank line was needed. The first line of a full request contains
the command(of which GET is but one of the possibilities), the page desired,and
the protocol/version. Subsequent lines contain RFC 822 headers.
Although HTTP was designed for
use in the web , it has been intentionally made more general than necessary
with an eye to the future object-oriented applic-ations.For this reason,
the first word in the full request line is simply the name of the method(command)
to be executed on the Web page (or general object).The built-in methods
are listed in fig.1-3.
Method
Description
GET
Request to read a Web page
HEAD Request
to read a Web page’s header
PUT
Request to store a Web page
POST
Append to a named resource(e.g., a Web page)
DELETE Remove the Web page
LINK
Connects two existing resources
UNLINK Breaks an existing
connection between two resources
2-JavaBeans
2.1-What is JavaBeans?
JavaBeans is a portable, platform-independent component model written
in Java. It enables developers to write reusable components once and run
them anywhere benefiting from the platform-independent power of Java.
2.2-Basic Bean Features
Individual Java Beans will vary in functionality, but most share certain
common defining features:
- Support for introspection allowing a builder tool to analyze how a
bean works.
- Support for customization allowing a user to alter the appearance
and behavior
of a bean.
- Support for events allowing beans to fire events, and informing builder
tools
About both the events they can fire and the events
they can handle.
- Support for properties allowing beans to be manipulated programmatically,
As well as to support the customization mentioned
above.
- Support for persistence allowing beans that have been customized
in
Application
builder to have their state saved and restored.
3-HotJava HTML Component Version 1.1.2
3.1-What is HotJava HTML Component?
The HotJava HTML Component is a JavaBeans component for parsing and
rendering HTML. It is like a way to display HTML in a window without all
the menus and buttons.
3.2- HotJava HTML Component Features
- Small footprint
- Internationalization/Unicode 2.0 support
- Java Development Kit 1.1.4
- HTTP 1.1 Protocol
- HTML 3.2
- Tables and Frames
- Persistent Cookies
- GIF and JPEG Media Formats
- AU Audio Format
- FTP and Gopher File Transfer Protocols
- SMTP and MIME E-mail Protocols
- SOCKS Protocol
- Java Archive (JAR) Format
3.3-Extending HotJava HTML Component
In order to build a complete Web Browser using HotJava HTML Component,
we need to integrate other functions and modules with the HotJava Component
as:
- User interface that includes menus and dialog boxes to interact
with user.
- Caching to decrease load on the Network. It works as follows
when the user
Request a file,
the Browser looks for the file in the cache if the file exists, the
Browser requests
the date of modification of the required file from the Net and
Compares it
with the date of the file in the cache. If the file in the cache is
Older then the
required file, the Browser retrieves the file over the net otherwise
The file in
the cache is displayed.
- Multithreading capabilities this allows the browser to make
better utilization
Of The connection
and improves interactive response with the user.
Browsers Features
Several features that differentiate between browsers characterize a browser.
First of all is the user interface which is the first feature that the
user encounter (it includes menus, toolbars, mouse actions…). Also offline
browsing is also important as any user frequently browse local pages
or pages that reside in the browser cache. Another advanced feature used
by those who develop web pages which is HTML editing and composing.
One of the most services supported by the Internet is the Electronic
Mail. So features concerning mail are very important to any user (this
includes writing HTML mail, multiple In Box for multiple users using same
browser, and many other features concerning protocol used in mail).
Something very important concerning mail which is mail security and
encryption supported by the browser.
As multimedia technologies is growing fast, it is very important for the browser to keep track with these technologies. An example of these technologies is online players as: Real Audio and Video files that haven’t to be downloaded totally to play. They depend on playing a stream of data. The browser must support these features and more multimedia features.
The speed of browsing is an important criterion in choosing a browser. This speed is measured by specific packages. These packages measures speed of browsing different types of files supported in the Internet such as: HTML files, and graphics files as: GIF, JPG . Another measurement for speed is the speed of downloading a large file.
The platforms that the browser supports is an important factor in sales of that browser and how wide it spread. The more platforms the browser support the more it gains different users using different platforms.
Comparison between commercial browsers :
While alternatives to IE and Communicator still exist for home users,
the big two are all that's left in the corporate market. While both companies
conveniently continue to use the same version numbers, their products
are diverging in many other areas.
For example, both new browsers support dynamic HTML, which lets Web
developers create multimedia Web pages without resorting to plug-ins like
Shockwave. Each browser supports the same basic functionality, based on
the cascading style sheets (CSS) specification, but The World Wide Web
Consortium (W3C) has yet to publish a standard for some of the most important
pieces of dynamic HTML, such as how to move graphics or other objects around
on a page. For now, the two browsers use different--and largely incompatible--techniques.
Both browser manufacturers have gone whole hog for push technology.
The goal of push is to deliver the information you need when you need it,
saving you the trouble of searching and clicking a thousand different hyperlinks.
But once again, Netscape and Microsoft have different implementations that
are substantially incompatible.
Thankfully, all is not lost. Both browsers have definitely improved
Java performance, and both largely support the new Java 1.1 standard
from Sun. Both have more capable email clients and newsreaders that support
HTML-formatted messages. And the 4.x browsers also offer improved
interfaces that are more powerful yet simpler to navigate.
In (10/17/97): Microsoft has confessed to a security hole in the current
release of IE 4.x. The company says a patch will be available within 24
hours.
In (10/10/97): both of these products contain bugs, some
serious. For example, Internet Explorer 4.x's advanced integration
with Windows 95 has compatibility issues
with certain applications, including Norton Utilities and CleanSweep.
We've also gathered here,
on one page, the major features of both.
NETSCAPE Navigator
MICROSOFT Explorer
User interface
Context menus
Yes
Yes
Tool tips
Yes
Yes
Configurable toolbars Some
Yes
IntelliMouse support Yes
Yes
Offline browsing
Browsable cache
No
Yes
Subscriptions
Yes
Yes
Notification
Yes
Yes
HTML support
HTML 3.2
Yes
Yes
HTML editor
Composer
FrontPage Express on
Windows 95 only
Cascading style sheets Yes
Yes
Dynamic HTML
Yes
Yes
Full-screen mode
Yes
Yes
Layers
Layer tag,
Style sheets
style sheets
Mail
IMAP
Yes
Yes
LDAP
Yes
Yes
Offline reading
Yes
Yes
Offline reply
Yes
Yes
Inbox Direct support
Yes
Yes
Filters
Yes
Yes
Multiple in-boxes
Yes
Yes
Create HTML mail
Yes
Yes
Nested folders
Yes
Yes
News
Multiple news servers Yes
Yes
Offline reading
Yes
Yes
Offline reply
Yes
Yes
Automatic threading
Yes
Yes
Filters
Yes
Yes
Message security
Digital signatures
Yes
Yes
Encryption
Requires certificate
Requires certificate
H.323 conferencing
Audio
Audio & video,
Windows 95/NT 4.0 only
Shared whiteboard
Yes
Windows 95/NT 4.0 only
Application sharing
No
Windows 95/NT 4.0 only
Text chat
Yes
Windows 95/NT 4.0 only
Multipoint support
No
No
Wysiwyg HTML editor Yes
Windows 95/NT 4.0 only
HTML in email
Yes
Windows 95/NT 4.0 only
Tables
Yes
Windows 95/NT 4.0 only
Frames
No
No
Objects
No
ActiveX, Java
Image editing
No
No
Style sheets
No
No
HTML on the desktop
Yes
Yes
Screensaver mode
Yes
Yes
Subscriptions
Yes
Yes
Desktop applets
No
Yes
Content specification
RDF
CDF
Offline mode
Yes
Yes
Speed (Win95)
CaffeineMark 3.0 *
849
1060
Large GIF download
22 seconds
16.5 seconds
Load HTML
35.4 seconds
26.8 seconds
Remote desktop
No
Within an NT domain
(Windows95/NT 4.0 only)
OLE, ActiveX
OLE
(Windows95/NT 4.0 only) OLE, ActiveX(Windows 95/NT 4.0 only)
Integration
w/ Windows
No
Active Desktop, Web view
(Windows 95/NT 4.0 only)
Applet signing
Yes
Yes (Authenticode)
ActiveX signing
No
Windows 95/NT 4.0 only
Cookie manager
No
No
Script signing
Yes
No
Personal certificates
Yes
Yes
Ratings systems
No
RSACi, PICS
SSL 128-bit 128-bit
* (Larger value is better)
Java
JIT
Yes
Yes
Installable applets
JAR
CAB
Scripting
JavaScript
JavaScript1.2
ECMAScript
VBScript
No
Windows 95/NT 4.0 only
Other
No
ActiveX scripting
Plug-ins /ActiveX
Dynamically
installed
Plug-ins
ActiveX controls
(Windows95/NT 4.0 only)
Active document
Yes
Yes
Multimedia
AVI
Yes
Yes
MPEG
No
Yes
QuickTime
Yes
Yes
VRML
2.0
2.0
Streaming media
RealPlayer
RealPlayer, NetShow
Other
AIFF, WAV
AIFF, WAV
Windows 3.1
Yes
Yes
Windows 95
Yes
Yes
Windows NT 3.5x
Yes
Yes
Windows NT 4.0
Yes
Yes
Windows CE
No
Yes
Macintosh (PowerPC)
Yes
Yes
Macintosh (680x0)
Yes
Yes
Solaris (Sun)
Yes
Yes (Preview Release)
Solaris (Intel)
Yes
No
IRIX
Yes
No
HP/UX
Yes
No
AIX
Yes
No
Linux
Yes
No
OS/2
Yes
No
Other Unix
Yes
No
Source code available
Yes
No