Project Report Browser

  • Upload
    neha122

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

  • 8/3/2019 Project Report Browser

    1/40

    INDEX

    1. Introduction2. Literature Review3. Research Questions And Hypothesis4. Software Requirement Specification And Technology Used5. Research Design And Methodology6. Outcome And Significance7. References

  • 8/3/2019 Project Report Browser

    2/40

    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 resourcesto 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 theweb 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.

  • 8/3/2019 Project Report Browser

    3/40

    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 ofbringing 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 forwardagain.

    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 desiredresource and display it.

  • 8/3/2019 Project Report Browser

    4/40

    LITERATURE REVIEW

    1. WorldWideWeb: Tim Berners-Lee wrote the first web browser on aNeXT 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 physicscommunity, and beginning its spread.

    2. Libwww : Berners-Lee and a student at CERN named Jean-FrancoisGroff 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 aline-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, atthat point consisting primarily of the CERN phone book.

    4. ViolaWWW: Pei Wei, a student at the University of California atBerkeley, 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.

  • 8/3/2019 Project Report Browser

    5/40

    5. Midas: During the summer of 1992, Tony Johnson at SLAC developed athird 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 forthe 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 thefirst 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 cross-platform 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 stoppeddeveloping 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 positioningtables and graphics.

    9. Opera : In 1994, the Opera browser was developed by a team ofresearchers 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 OperaSoftware to develop the browser commercially. Opera 2.1 was first made

    available on the Internet in the summer of 1996.

    http://www.livinginternet.com/w/wi_slac.htmhttp://www.livinginternet.com/w/wi_slac.htm
  • 8/3/2019 Project Report Browser

    6/40

    10.Navipress : In February, 1994, Navisoft released a browser for the PCand 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 versionof 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 ofOctober 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.

  • 8/3/2019 Project Report Browser

    7/40

    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 inresponse 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.

  • 8/3/2019 Project Report Browser

    8/40

    SOFTWARE REQUIREMENT SPECIFICATION

    4. 1Introduction

    4.1.1) Purpose

    4.1.2) Scope...

    4.1.3) Acronyms and Abbreviations..

    4.1.4) Definitions:..

    4.1.5) Overview:....

    4.2 Overall Description

    4.2.1) Product Perspective: ...

    4.2.2) User Characteristics:........4.2.3) Principal Actor:

    4.2.4) General Constraints:....

    4.2.5) Assumptions and Dependencies:.....

    4.3 Specific Requirements

    4.3.1) Functional Requirements:....

    4.3.2) Hardware Requirements:..4.3.3) Design Constraints:..

    4.4 Future Extensions

    4.5 Appendix

  • 8/3/2019 Project Report Browser

    9/40

    4.5.1) Screen Shot:..

    4.5.2) Coding:.

    4.1 INTRODUCTION4.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.2SCOPE: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 specifiedby 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.3ACRONYMS AND ABBREVIATIONS:IEEE: Institute of Electrical and Electronics Engineers

    GUI: Graphical User Interface

    SRS: Software Requirement Specification

    WWW: World Wide Web

  • 8/3/2019 Project Report Browser

    10/40

    URI: Uniform Resource Identifier

    HTTP: Hyper Text Transfer Protocol

    HTML: Hyper Text Markup Language

    CSS: Cascading Style Sheets

    4.1.4DEFINITIONS: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.5OVERVIEW: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

  • 8/3/2019 Project Report Browser

    11/40

    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.3SPECIFIC REQUIREMENTS:

    4.3.1 FUNCTIONAL REQUIREMENTS:

    Use Case 1: Installation

  • 8/3/2019 Project Report Browser

    12/40

    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 freedisk space.

    The data retrieval is very fast.

    4.3.3 DESIGN CONSTRAINTS:

    One thing to keep in mind while requesting any default htmlfile,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.

  • 8/3/2019 Project Report Browser

    13/40

    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 asJSP, PDF,etc.

    Various Graphical signs and/or symbols can be incorporated to make itmore realistic.

    4.5 APPENDIX:

    4.5.1 Screen Shot:

    The Screens would look like this:

  • 8/3/2019 Project Report Browser

    14/40

    No URL Entered

    Internet Connection Not Available

    Content Of Menu

  • 8/3/2019 Project Report Browser

    15/40

    Open Option

    Save Option

  • 8/3/2019 Project Report Browser

    16/40

  • 8/3/2019 Project Report Browser

    17/40

    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.

  • 8/3/2019 Project Report Browser

    18/40

    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)

  • 8/3/2019 Project Report Browser

    19/40

  • 8/3/2019 Project Report Browser

    20/40

    });

    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();

    }

    });

  • 8/3/2019 Project Report Browser

    21/40

    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");

  • 8/3/2019 Project Report Browser

    22/40

    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;

  • 8/3/2019 Project Report Browser

    23/40

    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)

    {

  • 8/3/2019 Project Report Browser

    24/40

    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)

  • 8/3/2019 Project Report Browser

    25/40

    {

    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) {}

    }

  • 8/3/2019 Project Report Browser

    26/40

  • 8/3/2019 Project Report Browser

    27/40

    // 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;

    }

  • 8/3/2019 Project Report Browser

    28/40

    /* 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--)

    {

  • 8/3/2019 Project Report Browser

    29/40

  • 8/3/2019 Project Report Browser

    30/40

    /* 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)

    {

  • 8/3/2019 Project Report Browser

    31/40

    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();

    }

    }

  • 8/3/2019 Project Report Browser

    32/40

    TECHNOLOGY USED

    Java is a programming language originally developed by James Gosling at SunMicrosystems 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 tobytecode(class file) that can run on any Java Virtual Machine (JVM)

    regardless of computer architecture. Java is a general-purpose, concurrent, class-

    based, 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.

    SimpleThere 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.

    http://en.wikipedia.org/wiki/Java_bytecodehttp://en.wikipedia.org/wiki/Java_bytecodehttp://en.wikipedia.org/wiki/Java_bytecodehttp://en.wikipedia.org/wiki/Java_bytecode
  • 8/3/2019 Project Report Browser

    33/40

    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 thebehavior 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 andproviding the abstraction.

    Polymorphism: As the name suggest one name multiple form,Polymorphism is the way of providing the different functionality by thefunctions having the same name based on the signatures of the methods.

    Dynamic binding : Sometimes we don't have the knowledge of objects abouttheir specific types while writing our code. It is the way of providing the

    maximum functionality to a program about the specific type at runtime.

    RobustJava 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 andmakes the system secure from crash. All of the above features makes the java

    language robust.

    DistributedThe 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 fromany 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 providedthat 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 thejava as a portable language.

    DynamicWhile executing the java program the user can get the required files dynamically

  • 8/3/2019 Project Report Browser

    34/40

    from a local drive or from a computer thousands of miles away from the user justby connecting with the Internet.

    SecureJava 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 theclasses after loading.

    PerformanceJava 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 techniquethat improves the performance.

    MultithreadedAs 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 onecomputer.

    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.

    InterpretedWe 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.

  • 8/3/2019 Project Report Browser

    35/40

  • 8/3/2019 Project Report Browser

    36/40

    RESEARCH DESIGN AND METHODOLOGY

    Working of a Web Browser

  • 8/3/2019 Project Report Browser

    37/40

    Structure of a Web Browser

  • 8/3/2019 Project Report Browser

    38/40

    HARDWARE AND SOFTWARE REQUIREMENTS

    I/O REQUIREMENTSKeyboard Standard

    Mouse Standard

    Monitor VGA or XVGA

    CD-ROM 4X or above

    PROCESS REQUIREMENTS

    Processor Intel Pentium III 600 MHz or above

    RAM 128 MB or above

    STORAGE REQUIREMENTS

    Hard disk 2 GB or above

    CONTROL REQUIREMENTS

    Operating system Windows 98 SE or above

    Software JDK version 1.1.3 or higher and SWINGAPI(Swing 0.2 or higher

  • 8/3/2019 Project Report Browser

    39/40

    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 ofvulnerabilities 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 powerfulcross-platform plug-in.

    New paradigms.- With the help of Java we can implement new powerfulcross-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 itsHTML, 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 remoteservers in secure fashion.

  • 8/3/2019 Project Report Browser

    40/40

    REFERENCE LIST

    1. Jacobs, Ian; Walsh, Norman (15 December 2004). "URI/ResourceRelationships".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.com4. Hitslink.com5. "The SeaMonkey Project". Mozilla Foundation. 7 November 2008.

    Retrieved 30 June 2009.

    6. "Cyberdog: Welcome to the 'doghouse!". 5 July 2009. Retrieved 30 June2009.

    7. Teelucksingh, Dev Anand. "Interesting DOS programs". Opus Networkx.Retrieved 30 June 2009.

    8. Andersen, Starr; Abella, Vincent (15 September 2004). "Part 5: EnhancedBrowsing 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 June2009.

    12.Bokma, John. "Mozilla Firefox: RSS and Live Bookmarks". Retrieved 30June 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.