The World Wide Web :
        The World Wide Web is an architectural framework for accessing linked documents spread out over thousands of machines all over the Internet.In 5 years,it went from being a way to distribute high-energy physics data to the application that millions of people think of as being “The Internet”.Since the Web is basically a client-server system we will discuss both the client(i.e.,user)side and the server side.Then we will examine the language in which
Web pages are written(HTML and Java).

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

 

Building a Web Browser
1-Introduction
To Build a Web Browser or any software one can start from scratch implementing
Every feature of a Browser. A better and cost effective approach is to use already available components. The JavaBeans HotJava component 1.1.2 is a perfect solution to build a Web Browser. In the following sections we will introduce JavaBeans and HotJava component 1.1.2.
 
 

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.
 

Comparison between Commercial Browsers
 

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
 
 

 Return Back to Main Page