Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
42% found this document useful (12 votes)
5K views

Project Report Browser

The document provides an overview of the history and development of web browsers from 1990 to the present. It begins with a brief introduction on web browsers and their basic functions. Next, it reviews 12 major web browsers in chronological order from Tim Berners-Lee's original WorldWideWeb browser in 1990 to the releases of Apple's Safari in 2003 and Google Chrome in 2008. It then outlines the research questions, hypotheses, and software requirements for developing a new web browser.

Uploaded by

neha122
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
42% found this document useful (12 votes)
5K views

Project Report Browser

The document provides an overview of the history and development of web browsers from 1990 to the present. It begins with a brief introduction on web browsers and their basic functions. Next, it reviews 12 major web browsers in chronological order from Tim Berners-Lee's original WorldWideWeb browser in 1990 to the releases of Apple's Safari in 2003 and Google Chrome in 2008. It then outlines the research questions, hypotheses, and software requirements for developing a new web browser.

Uploaded by

neha122
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 40

INDEX

1. Introduction 2. Literature Review 3. Research Questions And Hypothesis 4. Software Requirement Specification And Technology Used 5. Research Design And Methodology 6. Outcome And Significance 7. References

INTRODUCTION

Web browser is a software application used to locate and display Web pages. The two most popular browsers are Microsoft Internet Explorer and Firefox. Both of these are graphical browsers, which mean that they can display graphics as well as text. In addition, most modern browsers can present multimedia information, including sound and video, though they require plug-ins for some formats. A web browser or Internet browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Some browsers can be also used to save information resources to file systems. The primary purpose of a web browser is to bring information resources to the user. This process begins when the user inputs a Uniform Resource Identifier (URI), for example http://en.wikipedia.org/, into the browser. The prefix of the URI determines how the URI will be interpreted. The most commonly used kind of URI starts with http: and identifies a resource to be retrieved over the Hypertext Transfer Protocol (HTTP) In the case of http, https, file, and others, once the resource has been retrieved the web browser will display it. HTML is passed to the browser's layout engine to be transformed from markup to an interactive document. Aside from HTML, web browsers can generally display any kind of content that can be part of a web page. Most browsers can display images, audio, video, and XML files.

Information resources may contain hyperlinks to other information resources. Each link contains the URI of a resource to go to. When a link is clicked, the browser navigates to the resource indicated by the link's target URI, and the process of bringing content to the user begins again.

Web browsers have these user interface elements in common.


Back and forward buttons to go back to the previous resource and forward again. A refresh or reload button to reload the current resource. A stop button to cancel loading the resource. In some browsers, the stop button is merged with the reload button. A home button to return to the user's home page An address bar to input the Uniform Resource Identifier (URI) of the desired resource and display it.

LITERATURE REVIEW

1. WorldWideWeb: Tim Berners-Lee wrote the first web browser on a NeXT computer, called WorldWideWeb, finishing the first version on Christmas day, 1990. He released the program to a number of people at CERN in March, 1991, introducing the web to the high energy physics community, and beginning its spread.

2. Libwww : Berners-Lee and a student at CERN named Jean-Francois Groff ported the WorldWideWeb application from the NeXT environment to the more common C language in 1991 and 1992, calling the new browser libwww. Groff later started the first web design company, InfoDesign.ch.

3. Line-mode: Nicola Pellow, a math student interning at CERN, wrote a line-mode web browser that would work on any device, even a teletype. In 1991, Nicola and the team ported the browser to a range of computers, from UNIX to Microsoft DOS, so that anyone could access the web, at that point consisting primarily of the CERN phone book.

4. ViolaWWW: Pei Wei, a student at the University of California at Berkeley, released the second browser for Unix, called ViolaWWW, in May, 1992. This browser was built on the powerful interpretive language called Viola that Wei had developed for Unix computers. ViolaWWW had a range of advanced features, including the ability to display graphics and download applets.

5. Midas: During the summer of 1992, Tony Johnson at SLAC developed a third browser for Unix systems, called Midas, to help distribute information to colleagues about his physics research. 6. Samba: Robert Cailliau started development of the first web browser for the Macintosh, called Samba. Development was picked up by Nicola Pellow, and the browser was functional by the end of 1992.

7. Mosaic: Marc Andreessen and Eric Bina from the NCSA released the first version of Mosaic for X-Windows on Unix computers in February, 1993. A version for the Macintosh was developed by Aleks Totic and released a few months later, making Mosaic the first browser with crossplatform support. Mosaic introduced support for sound, video clips, forms support, bookmarks, and history files, and quickly became the most popular non-commercial web browser. In August, 1994, NCSA assigned commercial rights to Mosaic to Spyglass, Inc., which subsequently licensed the technology to several other companies, including Microsoft for use in Internet Explorer. The NCSA stopped developing Mosaic in January 1997.

8. Arena : In 1993, Dave Raggett at Hewlett-Packard in Bristol, England, developed a browser called Arena, with powerful features for positioning tables and graphics.

9. Opera : In 1994, the Opera browser was developed by a team of researchers at a telecommunication company called Telenor in Oslo, Norway. The following year, two members of the team -- Jon Stephenson von Tetzchner and Geir Ivarsy -- left Telenor to establish Opera Software to develop the browser commercially. Opera 2.1 was first made available on the Internet in the summer of 1996.

10.Navipress : In February, 1994, Navisoft released a browser for the PC and Macintosh called Navipress. This was the first browser since Berners-Lee's WorldWideWeb browser that incorporated an editor, so that you could browse and edit content at the same time. Navipress later became AOLPress, and is still available but has not been maintained since 1997. 11.Mozilla : In October, 1994, Netscape released the the first beta version of their browser, Mozilla 0.96b, over the Internet. On December 15, the final version was released, Mozilla 1.0, making it the first commercial web browser. An open source version of the Netscape browser was released in 2002 was also named Mozilla in tribute to this early version, and then released as the quickly popular FireFox in November, 2004.

12.Apple's Safari : It had its first beta release in January 2003; as of October 2009, it has a dominant share of Apple-based Web browsing, accounting for just under 5% of the entire browser market as of April 2010. Its rendering engine, called Webkit, is also running in the standard browsers of several mobile phone platforms, including the iPhone OS, Google Android, Nokia S60 and Palm WebOS.

13.Google Chrome : It first released in September 2008. As of April 2010, it has a 7% usage share.

RESEARCH QUESTIONS AND HYPOTHESIS

Definition of web browser:


A web browser or Internet browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. The browser application retrieves or fetches code, usually written in HTML (HyperText Markup Language) and/or another language, from a web server, interprets this code, and renders (displays) it as a web page for you to view. In the majority of cases, user interaction is needed to tell the browser what web site or specific web page he or she would like to view. One way this is done is via the browser's address bar.

Working of Web Browser:


When you type a web page address such as www.wikipedia.org into your browser, that web page in its entirety is not actually stored on a server ready and waiting to be delivered. In fact each web page that you request is individually created in response to your request. You are actually calling up a list of requests to get content from various resource directories or servers on which the content for that page is stored. It is rather like a recipe for a cake - you have a shopping list of ingredients (requests for content) that when combined in the correct order bakes a cake (the web page). As soon as you move to another page, the page that you have just viewed disappears. This is the dynamic nature of websites.

SOFTWARE REQUIREMENT SPECIFICATION


4. 1Introduction 4.1.1) 4.1.2) 4.1.3) 4.1.4) 4.1.5) Purpose Scope... Acronyms and Abbreviations.. Definitions:.. Overview:.... Product Perspective: ... User Characteristics:........ Principal Actor: General Constraints:.... Assumptions and Dependencies:.....

4.2 Overall Description 4.2.1) 4.2.2) 4.2.3) 4.2.4) 4.2.5)

4.3 Specific Requirements 4.3.1) 4.3.2) 4.3.3) Functional Requirements:.... Hardware Requirements:.. Design Constraints:..

4.4 Future Extensions 4.5 Appendix

4.5.1) 4.5.2) 4.1

Screen Shot:.. Coding:.

INTRODUCTION

4.1.1 PURPOSE:
The intention of our project is to design a Web Browser. A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources.

4.1.2 SCOPE:
The browsers main functionality is to present the web resource you choose, by requesting it from the server and displaying it on the browser window. It helps retrieve the information from its vast reservoir viz. internet. It allows collaborators in remote sites to share their ideas and all aspects of a common project. Browser progressively renders the page onto the screen as specified by its HTML, Cascading Style Sheets (CSS), or other page composition languages. Any images and other resources are incorporated to produce the on-screen web page that the user sees. Browser provide common tools enabling users to interact with remote servers in secure fashion.

4.1.3 ACRONYMS AND ABBREVIATIONS:


IEEE: Institute of Electrical and Electronics Engineers GUI: Graphical User Interface SRS: Software Requirement Specification WWW: World Wide Web

URI: Uniform Resource Identifier HTTP: Hyper Text Transfer Protocol HTML: Hyper Text Markup Language CSS: Cascading Style Sheets

4.1.4 DEFINITIONS:
Web Browser: It is a software application for retrieving, presenting, and traversing information resources on the World Wide Web HTTP: The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. HTML: It is the predominant markup language for web pages. HTML is the basic building-blocks of web pages. A markup language is a set of markup tags, and HTML uses markup tags to describe web pages. URL: a Uniform Resource Locator is a Uniform Resource Identifier (URI) that specifies where an identified resource is available and the mechanism for retrieving it.

4.1.5 OVERVIEW:
The rest of SRS is organized as follows: Section 2 gives an overall description of the software. It gives what level of proficiency is expected by the user, some general constraints while making the software and some assumption and dependencies that are assumed. Section 3 gives specific requirements which the software is expected to deliver. Functional requirements are given by various use cases. Some performance requirements and design constraints are also given. Section 4 gives possible future extension of the system.

2. OVERALL DESCRIPTION

4.2.1 PRODUCT PERSPECTIVE:


The web browser developed here performs the following. When you type a web page address such as www.wikipedia.org into your browser, that web page in its entirety is not actually stored on a server ready and waiting to be delivered. In fact each web page that you request is individually created in response to your request. The web page is searched and then displayed on your screen.

4.2.2 USER CHARACTERISTICS:


The user is expected to have basic computational knowledge. He must be able to communicate well in English. He must know how to operate a computer and it basic input/output devices.

4.2.3 PRINCIPAL ACTORS:


The principal actor in the browser is the user only.

4.2.4 GENERAL CONSTRAINTS:


The browser may sometimes give unintelligible responses due to the limitation of its languages supported. The browser can display only plain HTML files.

4.2.5 ASSUMPTIONS AND DEPENDENCIES:


Here we assume that the person who is using the browser knows well how to operate a computer and also how to work on internet. We also assume that the internet connection is available.

4.3 SPECIFIC REQUIREMENTS:

4.3.1

FUNCTIONAL REQUIREMENTS:

Use Case 1: Installation

Primary Actor: User Pre Condition: The installation team is available. Main Scenario: User initiates web browser installation program. System searches for the home directory in which all the working files were created. System creates the working files in the specified home directory. Working files contain: 1. Authorization information. Alternate Scenario: The system doesnt meets the requirements. Installation aborted.

4.3.2 PERFORMANCE REQUIREMENTS:


Should run on 2.4 GHz 128 MB machine with at least 1 GB free disk space. The data retrieval is very fast.

4.3.3 DESIGN CONSTRAINTS:


One thing to keep in mind while requesting any default html file,is that, there has to be a backslash(/) at the end of the url, for eg. "www.microsoft.com It can work only on windows. It cannot understand slangs.

4.3.4 EXTERNAL INTERFACE REQUIREMENTS:


The various user screens are shown in the appendix.

4.4 FUTURE EXTENSIONS:

Various plug ins may be added to it such as a media player, dictionary, Google search, etc. It may be extended to support more than just plain HTML files such as JSP, PDF,etc. Various Graphical signs and/or symbols can be incorporated to make it more realistic.

4.5 APPENDIX:
4.5.1 Screen Shot:
The Screens would look like this:

No URL Entered

Internet Connection Not Available

Content Of Menu

Open Option

Save Option

Displaying a Web Page

Forward Button

4.5.2 Coding:
import java.awt.*; import java.awt.event.*; import java.net.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.html.*; import java.io.*;

// The Web Browser. public class Cruiser extends JFrame implements HyperlinkListener { // These are the buttons for iterating through the page list. private JButton backButton, forwardButton;

// Page location text field. private JTextField locationTextField;

// Editor pane for displaying pages. private JEditorPane displayEditorPane;

// Browser's list of pages that have been visited.

private ArrayList pageList = new ArrayList();

// Constructor for Web Browser. public Cruiser() { // Set application title. super("Browser");

// Set window size. setSize(640, 480);

File creator=new File("UrlHistory"); creator.mkdir(); File OldFiles=new File("UrlHistory\\"); String ListOfOldFiles[] = OldFiles.list(); int NumberOfOldFiles = ListOfOldFiles.length; for(int OldFilesCount=0; OldFilesCount< NumberOfOldFiles; OldFilesCount++) { File DeleteFiles=new File("UrlHistory\\" + ListOfOldFiles[OldFilesCount]); DeleteFiles.delete(); } // Handle closing events. addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e)

{ actionExit(); } }); // Set up file menu. JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu("File"); fileMenu.setMnemonic(KeyEvent.VK_F); JMenuItem fileOpenMenuItem = new JMenuItem("Open",KeyEvent.VK_O); JMenuItem fileSaveMenuItem = new JMenuItem("Save",KeyEvent.VK_S); JMenuItem fileExitMenuItem = new JMenuItem("Exit",KeyEvent.VK_X);

fileExitMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionExit(); } }); fileOpenMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionOpen(); }

});

fileSaveMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionSave(); } }); fileMenu.add(fileOpenMenuItem); fileMenu.add(fileSaveMenuItem); fileMenu.add(fileExitMenuItem); menuBar.add(fileMenu); setJMenuBar(menuBar);

// Set up button panel. JPanel buttonPanel = new JPanel(); backButton = new JButton("< Back"); backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionBack(); } });

backButton.setEnabled(false); buttonPanel.add(backButton); forwardButton = new JButton("Forward >"); forwardButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionForward(); } }); forwardButton.setEnabled(false); buttonPanel.add(forwardButton); locationTextField = new JTextField(35); locationTextField.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { actionGo(); } } }); buttonPanel.add(locationTextField); JButton goButton = new JButton("GO");

goButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { actionGo(); } }); buttonPanel.add(goButton);

// Set up page display. displayEditorPane = new JEditorPane(); displayEditorPane.setContentType("text/html"); displayEditorPane.setEditable(false); displayEditorPane.addHyperlinkListener(this);

getContentPane().setLayout(new BorderLayout()); getContentPane().add(buttonPanel, BorderLayout.NORTH); getContentPane().add(new JScrollPane(displayEditorPane), BorderLayout.CENTER); } //Oen files in this program private void actionOpen() { TextArea textarea; String FileGoGetter;

int SCROLLBARS_VERTICAL_ONLY = 1; textarea =new TextArea("",10,50,SCROLLBARS_VERTICAL_ONLY); textarea.setEditable(false); String Disintegrator=textarea.getText(); String directory; int DisintegratorLength=Disintegrator.length(); textarea.replaceText("",0,DisintegratorLength); Frame OpenFrame=new Frame("open"); FileDialog filedialog=new FileDialog(OpenFrame,"Open",0); filedialog.show(); directory=filedialog.getDirectory(); FileGoGetter=filedialog.getFile(); try { int FileOnDiskSize; String FileOnDiskReader; InputStream FileOnDisk=new FileInputStream(directory+FileGoGetter); OutputStream FileOnDiskSaver=new FileOutputStream("UrlHistory\\parag.html"); while((FileOnDiskSize = FileOnDisk.read()) != -1) { FileOnDiskSaver.write((char)FileOnDiskSize); } BufferedReader FileOnDiskWriter = new BufferedReader(new FileReader("UrlHistory\\parag.html")); while((FileOnDiskReader = FileOnDiskWriter.readLine())!= null) {

textarea.append(FileOnDiskReader); } } catch(IOException io) { } } //Saves file private void actionSave() { int SavedFileReaderCount,increment=0;

String p=new String(); Frame SaveFrame=new Frame("frames"); FileDialog SaveFileDialog=new FileDialog(SaveFrame,"Save",1); SaveFileDialog.show(); String SavedFileName; String SavedFileDirectory; SavedFileDirectory=SaveFileDialog.getDirectory(); SavedFileName=SaveFileDialog.getFile(); try { FileInputStream SavedFileReader=new FileInputStream("UrlHistory\\one"+increment+".html"); FileOutputStream SavedFileWriter=new FileOutputStream(SavedFileDirectory+SavedFileName); while(( SavedFileReaderCount= SavedFileReader.read())!= -1)

{ SavedFileWriter.write((char)SavedFileReaderCount); } } catch(IOException io) { } }

// Exit this program. private void actionExit() { System.exit(0); } // Go back to the page viewed before the current page. private void actionBack() { URL currentUrl = displayEditorPane.getPage(); int pageIndex = pageList.indexOf(currentUrl.toString()); try { showPage(new URL((String) pageList.get(pageIndex - 1)), false); } catch (Exception e) {} }

// Go forward to the page viewed after the current page. private void actionForward() { URL currentUrl = displayEditorPane.getPage(); int pageIndex = pageList.indexOf(currentUrl.toString()); try { showPage(new URL((String) pageList.get(pageIndex + 1)), false); } catch (Exception e) {} }

// Load and show the page specified in the location text field. private void actionGo() { URL verifiedUrl = verifyUrl(locationTextField.getText()); if (verifiedUrl != null) { showPage(verifiedUrl, true); } else { showError("Invalid URL"); } }

// Show dialog box with error message. private void showError(String errorMessage) { JOptionPane.showMessageDialog(this, errorMessage,"Error", JOptionPane.ERROR_MESSAGE); }

// Verify URL format. private URL verifyUrl(String url) { // Only allow HTTP URLs. if (!url.toLowerCase().startsWith("http://")) return null;

// Verify format of URL. URL verifiedUrl = null; Try { verifiedUrl = new URL(url); } catch (Exception e) { return null; } return verifiedUrl; }

/* Show the specified page and add it to the page list if specified. */ private void showPage(URL pageUrl, boolean addToList) { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); try { // Get URL of page currently being displayed. URL currentUrl = displayEditorPane.getPage(); // Load and display specified page. displayEditorPane.setPage(pageUrl); // Get URL of new page being displayed. URL newUrl = displayEditorPane.getPage(); // Add page to list if specified. if (addToList) { int listSize = pageList.size(); if (listSize > 0) { int pageIndex =pageList.indexOf(currentUrl.toString()); if (pageIndex < listSize - 1) { for (int i = listSize - 1; i > pageIndex; i--) {

pageList.remove(i); } } } pageList.add(newUrl.toString()); }

// Update location text field with URL of current page. locationTextField.setText(newUrl.toString()); // Update buttons based on the page being displayed. updateButtons(); } catch (Exception e) { // Show error messsage. showError("Unable to load page"); } finally { // Return to default cursor. setCursor(Cursor.getDefaultCursor()); } }

/* Update back and forward buttons based on the page being displayed. */ private void updateButtons() { if (pageList.size() < 2) { backButton.setEnabled(false); forwardButton.setEnabled(false); } Else { URL currentUrl = displayEditorPane.getPage(); int pageIndex = pageList.indexOf(currentUrl.toString()); backButton.setEnabled(pageIndex > 0); forwardButton.setEnabled( pageIndex < (pageList.size() - 1)); } }

// Handle hyperlink's being clicked. public void hyperlinkUpdate(HyperlinkEvent event) { HyperlinkEvent.EventType eventType = event.getEventType(); if (eventType == HyperlinkEvent.EventType.ACTIVATED) {

if (event instanceof HTMLFrameHyperlinkEvent) { HTMLFrameHyperlinkEvent linkEvent =(HTMLFrameHyperlinkEvent) event; HTMLDocument document =(HTMLDocument) displayEditorPane.getDocument(); document.processHTMLFrameHyperlinkEvent(linkEvent); } Else { showPage(event.getURL(), true); } } } // Run the Browser. public static void main(String[] args) { Cruiser browser = new Cruiser(); browser.show(); } }

TECHNOLOGY USED

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, classbased, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications. Features of Java: Platform Independent: The concept of Write-once-run-anywhere (known as the Platform independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is more closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM. Simple There are various features that makes the java as a simple language. Programs are easy to write and debug because java does not use the pointers explicitly. It is much harder to write the java programs that can crash the system but we can not say about the other programming languages. Java provides the bug free system due to the strong memory management. It also has the automatic memory allocation and deallocation system.

Object Oriented: To be an Object Oriented language, any language must follow at least the four characteristics.

Inheritance : It is the process of creating the new classes and using the behavior of the existing classes by extending them just to reuse the existing code and adding the additional features as needed. Encapsulation: It is the mechanism of combining the information and providing the abstraction. Polymorphism: As the name suggest one name multiple form, Polymorphism is the way of providing the different functionality by the functions having the same name based on the signatures of the methods. Dynamic binding : Sometimes we don't have the knowledge of objects about their specific types while writing our code. It is the way of providing the maximum functionality to a program about the specific type at runtime.

Robust Java has the strong memory allocation and automatic garbage collection mechanism. It provides the powerful exception handling and type checking mechanism as compare to other programming languages. Compiler checks the program whether there any error and interpreter checks any run time error and makes the system secure from crash. All of the above features makes the java language robust. Distributed The widely used protocols like HTTP and FTP are developed in java. Internet programmers can call functions on these protocols and can get access the files from any remote machine on the internet rather than writing codes on their local system. Portable The feature Write-once-run-anywhere makes the java language portable provided that the system must have interpreter for the JVM. Java also have the standard data size irrespective of operating system or the processor. These features makes the java as a portable language. Dynamic While executing the java program the user can get the required files dynamically

from a local drive or from a computer thousands of miles away from the user just by connecting with the Internet. Secure Java does not use memory pointers explicitly. All the programs in java are run under an area known as the sand box. Security manager determines the accessibility options of a class like reading and writing a file to the local disk. Java uses the public key encryption system to allow the java applications to transmit over the internet in the secure encrypted form. The bytecode Verifier checks the classes after loading. Performance Java uses native code usage, and lightweight process called threads. In the beginning interpretation of bytecode resulted the performance slow but the advance version of JVM uses the adaptive and just in time compilation technique that improves the performance. Multithreaded As we all know several features of Java like Secure, Robust, Portable, dynamic etc; you will be more delighted to know another feature of Java which is Multithreaded. Java is also a Multithreaded programming language. Multithreading means a single program having different threads executing independently at the same time. Multiple threads execute instructions according to the program code in a process or a program. Multithreading works the similar way as multiple processes run on one computer. Multithreading programming is a very interesting concept in Java. In multithreaded programs not even a single thread disturbs the execution of other thread. Threads are obtained from the pool of available ready to run threads and they run on the system CPUs. This is how Multithreading works in Java which you will soon come to know in details in later chapters. Interpreted We all know that Java is an interpreted language as well. With an interpreted language such as Java, programs run directly from the source code. The interpreter program reads the source code and translates it on the fly into computations. Thus, Java as an interpreted language depends on an interpreter program.

The versatility of being platform independent makes Java to outshine from other languages. The source code to be written and distributed is platform independent. Another advantage of Java as an interpreted language is its error debugging quality. Due to this any error occurring in the program gets traced. This is how it is different to work with Java.

Architecture Neutral: The term architectural neutral seems to be weird, but yes Java is an architectural neutral language as well. The growing popularity of networks makes developers think distributed. In the world of network it is essential that the applications must be able to migrate easily to different computer systems. Not only to computer systems but to a wide variety of hardware architecture and Operating system architectures as well. The Java compiler does this by generating byte code instructions, to be easily interpreted on any machine and to be easily translated into native machine code on the fly. The compiler generates an architecture-neutral object file format to enable a Java application to execute anywhere on the network and then the compiled code is executed on many processors, given the presence of the Java runtime system. Hence Java was designed to support applications on network. This feature of Java has thrived the programming language.

RESEARCH DESIGN AND METHODOLOGY

Working of a Web Browser

Structure of a Web Browser

HARDWARE AND SOFTWARE REQUIREMENTS


I/O REQUIREMENTS Keyboard Mouse Monitor CD-ROM Standard Standard VGA or XVGA 4X or above

PROCESS REQUIREMENTS Processor RAM Intel Pentium III 600 MHz or above 128 MB or above

STORAGE REQUIREMENTS

Hard disk

2 GB or above

CONTROL REQUIREMENTS

Operating system Software

Windows 98 SE or above
JDK version 1.1.3 or higher and SWING API(Swing 0.2 or higher

SIGNIFICANCE AND OUTCOME


There are a number of advantages to be derived from a browser that is written in Java as opposed to a language compiled into native code, namely:

Security.- In principle, a Java program is less susceptible to certain types of vulnerabilities such as a buffer overflow attack. Java's security model can also allow web content to have access to a complex set of APIs. Extensibility.- A Java-based application can be extended via powerful cross-platform plug-in. New paradigms.- With the help of Java we can implement new powerful cross-platform and secure mechanisms to represent web content. Portability.- This is the obvious advantage of a pure Java application.

The browser main functionality is to present the web resource you choose, by requesting it from the server and displaying it on the browser window. It helps retrieve the information from its vast reservoir viz. internet. It allows collaborators in remote sites to share their ideas and all aspects of a common project.

Browser progressively renders the page onto the screen as specified by its HTML, Cascading Style Sheets (CSS), or other page composition languages. Any images and other resources are incorporated to produce the on-screen web page that the user sees. Browser provide common tools enabling users to interact with remote servers in secure fashion.

REFERENCE LIST

1. Jacobs, Ian; Walsh, Norman (15 December 2004). "URI/Resource Relationships". Architecture of the World Wide Web, Volume One. World Wide Web Consortium. Retrieved 30 June 2009. 2. Stewart, William. "Web Browser History". Retrieved 5 May 2009. 3. Searchenginejournal.com 4. Hitslink.com 5. "The SeaMonkey Project". Mozilla Foundation. 7 November 2008. Retrieved 30 June 2009. 6. "Cyberdog: Welcome to the 'doghouse!". 5 July 2009. Retrieved 30 June 2009. 7. Teelucksingh, Dev Anand. "Interesting DOS programs". Opus Networkx. Retrieved 30 June 2009. 8. Andersen, Starr; Abella, Vincent (15 September 2004). "Part 5: Enhanced Browsing Security". Changes to Functionality in Microsoft Windows XP Service Pack 2. Microsoft. Retrieved 30 June 2009. 9. "Pop-up blocker". Mozilla Foundation. Retrieved 30 June 2009. 10. "Safari: Using The Pop-Up Blocker". Mac Tips and Tricks. WeHostMacs. 2004. Retrieved 30 June 2009. 11. "Simple settings". Opera Tutorials. Opera Software. Retrieved 30 June 2009. 12.Bokma, John. "Mozilla Firefox: RSS and Live Bookmarks". Retrieved 30 June 2009. 13. "RSS newsfeeds in Opera Mail". Opera Software. Retrieved 30 June 2009. 14."About Browsers and their Features". SpiritWorks Software Development. Retrieved 5 May 2009.

You might also like