Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.

Slides:



Advertisements
Similar presentations
Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Advertisements

17 HTML, Scripting, and Interactivity Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and.
Overview Environment for Internet database connectivity
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
The Web Warrior Guide to Web Design Technologies
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
Project 1 Introduction to HTML.
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
1 Chapter 12 Working With Access 2000 on the Internet.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Introduction to HTML 2006 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Macromedia Dreamweaver 4 Advanced Level Course. Add Rollovers Rollovers or mouseovers are possibly the most popular effects used in designing Web pages.
EPOCH 1000 File Management Data Logging and Reporting
1st Project Introduction to HTML.
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Chapter ONE Introduction to HTML.
Web Design Basic Concepts.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Chapter 1 Introduction to HTML, XHTML, and CSS
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
© 2011 Delmar, Cengage Learning Chapter 9 Collecting Data with Forms.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Server-side Scripting Powering the webs favourite services.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Windows Internet Explorer 9 Chapter 1 Introduction to Internet Explorer.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Microsoft FrontPage 2003 Illustrated Complete Finalizing a Web Site.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Introduction to the World Wide Web & Internet CIS 101.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
introductionwhyexamples What is a Web site? A web site is: a presentation tool; a way to communicate; a learning tool; a teaching tool; a marketing important.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
COMP 143 Web Development with Adobe Dreamweaver CC.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
Tutorial 1 Getting Started with Adobe Dreamweaver CS5.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
Running a Forms Developer Application
Project 1 Introduction to HTML.
Objective % Select and utilize tools to design and develop websites.
Essential tools for implementing and testing websites
Web Site Development and Macromedia Dreamweaver 8
Chapter 1 Introduction to HTML.
Ad-blocker circumvention System
Project 1 Introduction to HTML.
Objective % Select and utilize tools to design and develop websites.
Direct Internet 3 Iridium Proprietary and Confidential 9/18/2018.
Configuring Internet-related services
Dongwhan Kim Annie Zhao Steven Lawrance
Presentation transcript:

Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills

Department of Computer Science Motivation There exists an API within the Firefox web browser that allows for interacting with its downloading and processing of websites Can this functionality be exploited to allow us not just to improve the web surfing experience, but to understand it under realistic conditions?

Department of Computer Science Outline Introduction to Firefox Extensions  Description  Capabilities Page Stats Extension  Overview  Approach and paths taken  Demo Summary

Department of Computer Science Introduction Firefox Extensions are add-ons that integrate directly into the Firefox Web browser. Function through open source API that allows for manipulating both the content being received by the web browser as well as the graphical outlook.

Department of Computer Science Capabilities Graphical add-ons (Use the XML User Interface Language – XUL)  Allows for changing the existing Firefox overlay, adding new buttons, menus, and windows.  E.g. Google toolbar allows for a toolbar to be inserted directly into Firefox. Middleware modifications (Cross Platform Component Object Module – XPCOM Interfaces - Accessible through JavaScript or C++)  Allows for changing networking properties, modifying / blocking data requests / responses, etc.  E.g. Fasterfox allows you to tweak many network and rendering settings such as simultaneous connections, pipelining, cache, DNS cache, and initial paint delay.  E.g. AdBlock and AdBlock plus allow for use of a pre-formed list or to customize a list of sites to block downloads from.

Department of Computer Science Capabilities Combination of Graphical add-ons and Middleware modifications can yield new applications that exist within Firefox.  E.g. Gmail Space – Allows users to take advantage of Gmail’s 2 GB quota by providing a graphical interface to easily transfer files. Fixing bugs in other sites  Allows for changing sites html, style sheets, and inserting JavaScript. E.g. Style sheets can be modified to change the background color and text of a site (change to black on white instead of yellow on white).

Department of Computer Science Website Request / Response Breakdown 1. Location Changes – Request for container (main) page goes out. 2. Response for container (main) page is received and processed. 3. Additional requests are spawned in response to the processed page: CSS, JavaScript, images, etc. 4. Responses come in and are processed and may / may not spawn additional requests. Container Page CSS JavaScript Jpeg Spawns JavaScript Spawns Browser location set to: Spawns

Department of Computer Science Outline Introduction to Firefox Extensions  Description  Capabilities Page Stats Extension  Overview  Approach and paths taken  Demo Summary

Department of Computer Science Page Stats Extension Measures the HTTP requests associated with the load of a webpage. Page Measurements Include: # of Request Request submit time (msec) Finish Time (msec)HTTP Response Code Size (bytes) content type URL Page Summary Includes: URL total page size (bytes) total time (msec) total # of requests # dead requests Capabilities:  Control input and output with a graphical interface  Output to a log file  Run in a batch mode and visit a list of sites

Department of Computer Science Page Stats Extension Usage: 1. Graphical Interface found under the tools menu in Firefox - “Site Measurements” Ability to enable / disable measurement listeners, log file, and select a list of sites to visit. Also allows for saving and clearing the text on the measurement window. Provides a summary of all sites visited.

Department of Computer Science Page Stats Extension Usage: 2. Batch mode – Invoked by a configuration file specified on the command line (firefox pagestatsconfig=“/home/sdedeo/config.txt”). Parameters: measurement: on log: /home/sdedeo/log.txt sites: /home/sdedeo/sites.txt exitOnFinish: true requestTimeout: 8000 pageTimeout:  Allows for easily measuring pages in bulk  Pages are still fully rendered

Department of Computer Science Approach and paths taken Began in January 2006 based on work completed by Paul Timmins  Included initial work of setting up an extension with ideas on how to make measurements Initial version based on an XPCOM component called nsiWebProgress which reports to the browser:  State, Progress, Location, Status, and Security changes

Department of Computer Science Approach and paths taken First Approach Issues  nsiWebProgress progress notification only occurs on text based files (E.g. html, CSS, JavaScript). Images and other static files are omitted.  No way to measure the time the request is submitted  Occasionally the progress notification gives an unknown length of a file  If a site was visited more then once, caching effects skew measurements Second Approach – nsiHTTPChannel  Intercepts requests browser sends – “http-on-modify-request”  Intercepts responses before processing – “http-on-examine-response”  Clears system cache between sites in order to maintain consistent measurements

Department of Computer Science Approach and paths taken Second Approach (Continued)  nsiHTTPChannel provides no state notifications Solved using nsiWebProgress state change to detect state stopped / finished Probe to insure all requests that have gone out have come back (nsiWebProgress state stop returned before all images received)  Timeout Mechanism Two Timeouts:  Max time between receiving responses – defaults to 8 seconds  Max time for a page – defaults to 45 seconds

Department of Computer Science Approach and paths taken Sites with Issues:  routinely sends requests for images in which no response comes. These are JavaScript invoked images on mouseovers This problem is solved by the request timeout and the requests are labeled as ‘dead’  uses a JavaScript based redirect: ‘document.location = which when used in batch mode was causing the extension to move onto the next site and process two sites simultaneously This was solved by giving a one milliseconds delay before switching sites after a site’s results were processed  sends an image banner which receives an update once every two seconds This was solved with the max site timeout

Department of Computer Science Demo Launch Firefox

Department of Computer Science Outline Introduction to Firefox Extensions  Description  Capabilities Page Stats Extension  Overview  Approach and paths taken  Demo Summary

Department of Computer Science Summary Firefox extensions are a powerful tool that allow for:  Measuring and manipulating how a page is downloaded and processed  Adding additional features, both graphical and background Building Extensions:  Firefox 1.5 enables much easier testing of extensions  XPCOM API is still in the beta stages and certain libraries must be used with caution since they change  Documentation available is still minimal, but the development community is growing at a fast pace

Department of Computer Science Summary Can this functionality be exploited to allow us not just to improve the web surfing experience, but to understand it under realistic conditions?  The pagestats extension shows one way we can create quantitative measurements for a website  Pagestats can be used in conjunction with other extensions, such as adblock and fasterfox, to compute a measurement of effectiveness

Department of Computer Science Questions / Comments Scot L. DeDeo Professor Craig Wills Page Stats Extension: Related Sites: (XUL and XPCOM API Reference)