Firefox Extension for NetInf Jeff Thompson ICNRG IETF-88 November 3, 2013.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to HTML Chapter One World Wide Web Basics.
Advertisements

The GridSite Toolbar Shiv Kaushal The University of Manchester All Hands Meeting 2006.
Apr 15, 2007TMG Ottawa Users Group Creating Genealogy Websites Charles Godwin
Project 1 Introduction to HTML.
Servlets and a little bit of Web Services Russell Beale.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Web architecture Dr Jim Briggs Web architecture.
Art 128 Interface Programming 1 In-class Presentation Week 3B.
WORKSHOP FOR ARCIMS By Timucin Bakirtas GIS Developer & Research Associate MERI – 2002.
Web Same-Origin-Policy Lab Zutao Zhu 11/06/2009. Outline Background Setting SOP.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
Creating your website Using Plain HTML. What is HTML? ► Web pages are authored in HyperText Markup Language (HTML) ► Plain text is marked up with tags,
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Web Client/Server Communication A290/A590, Fall /09/2014.
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Fraser Technical Solutions, LLC
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.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Computer Concepts 2014 Chapter 7 The Web and .
Introduction to Big Brother Greg Porter Data Processing Manager USPFO For California.
Drupal Training Syllabus Chaitanya Lakshmi
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
Using the SAS® Information Delivery Portal
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
The Internet  Internet Hardware connected together Creates a massive worldwide network  Hardware Computers Communication lines  Interlinked collection.
Here you are at your computer, but you don’t have internet connections. Your ISP becomes your link to the internet. In order to get access you need to.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Introduction to World Wide Web Authoring © Directorate of Information Systems and Services University of Aberdeen, 1999 IT Training Workshop.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
1 Chinese Information Processing : Using Computers to Teach and Learn Chinese Week 6 and 7: Creating and maintaining web pages - html and ftp.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
JavaScript Tutorial 1 - Introduction to JavaScript1 Tutorial 1 Introduction to JavaScript Section A – Programming, HTML, and JavaScript.
IT WEB TECHNOLOGY Prepared by, K.ABINAYA Lect/IT.
Lab 11 Overview Windows Server Last Labs Lab 12  Cisco Firewall.
ASP.NET User Controls. User Controls In addition to using Web server controls in your ASP.NET Web pages, you can create your own custom, reusable controls.
Introduction to Web & HTML
CPSC 203 Introduction to Computers T97 By Jie (Jeff) Gao.
JavaScript and Ajax (Internet Background) Week 1 Web site:
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
WEB SECURITY WEEK 1 Computer Security Group University of Texas at Dallas.
HyperText Transfer Protocol HTTP v1.1 hussein suleman uct cs honours 2009.
Introduction to Dynamic Web Content
Distributed Control and Measurement via the Internet
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Content from Python Docs.
HTTP – An overview.
JavaScript and Ajax (Internet Background)
Chapter 1 Introduction to HTML.
Warm Handshake with Websites, Servers and Web Servers:
CNIT 131 Internet Basics & Beginning HTML
Consistent URIs For Compliance Checking (1)
Introduction Web Environments
Processes The most important processes used in Web-based systems and their internal organization.
MapServer In its most basic form, MapServer is a CGI program that sits inactive on your Web server. When a request is sent to MapServer, it uses.
04 | Web Applications Gerry O’Brien | Technical Content Development Manager Paul Pardi | Senior Content Publishing Manager.
Introduction to Dynamic Web Content
Introduction of FrontPage

COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016)
PHP and Forms.
Chengyu Sun California State University, Los Angeles
Client-Server Model: Requesting a Web Page
Introduction to JavaScript
Internet Skills ELEC135 Alan Noble Room 504 Tel:
Web Application Development Using PHP
Presentation transcript:

Firefox Extension for NetInf Jeff Thompson ICNRG IETF-88 November 3, 2013

The sites who say “ni !” November 3, 2013Firefox Extension for NetInf - Jeff Thompson2

Overview Introduction Apache support Firefox extension Demo: NetInf.org in NetInf Self-reference problem Conclusion/future work November 3, 2013Firefox Extension for NetInf - Jeff Thompson3

Introduction RFC 6920 “Naming Things with Hashes” RFC 6920 ni://authority/sha-256;hash  Use Apache RewiteMap on authority to redirect a hash URL to silently return the actual file Use a Firefox extension to redirect an ni: URI to fetch the http: well-known URL November 3, 2013Firefox Extension for NetInf - Jeff Thompson4

Apache support In the authority virtual host config: RewriteMap sha-256-map txt:/ /.well-known/ni/sha-256/sha-256-map.txt In.well-known/ni/sha-256/.htaccess : RewriteRule ^([^\.]+)$ ${sha-256-map:$1|/unrecognized-hash} [PT] In.well-known/ni/sha-256/sha-256-map.txt : To make sha-256-map.txt: python make-sha-256-map.py November 3, 2013Firefox Extension for NetInf - Jeff Thompson5

Firefox extension Tools > Add-ons > Install Add-on From File /tree/firefox/ni-protocol.xpi /tree/firefox/ni-protocol.xpi Handle newChannel for ni: protocol Get authority from the parent page URL Convert ni:///sha-256;hash  Use nsIHttpProtocolHandler newChannel(url) Silent HTTP transfer conveys the MIME type TODO: Check and report hash mismatch November 3, 2013Firefox Extension for NetInf - Jeff Thompson6

Demo: NetInf.org in NetInf ni://nuvl.org/sha-256;QlpcCikO_8ENuJf0VXFTFhzqlbTdB6fzprIuJetUNb8 November 3, 2013Firefox Extension for NetInf - Jeff Thompson7

Self-reference problem NetInf In NetInf: ni:///sha-256;XYZ NetInf Cannot put hash XYZ in file referenced by XYZ Possible solutions – Use frames (not good for URL bar. not general) – Load entire web site HTML, show/hide sections – JavaScript: Load sha-256-map.txt and substitute hashes or put the map link in the URL query, dynamically pass it on: ni:///sha-256;XYZ?map=sha-256;ABC  November 3, 2013Firefox Extension for NetInf - Jeff Thompson8

Conclusion/future work Bootstrap ni web sites using HTTP server Actual web pages are fully “ni ready” Future work – Check and report hash mismatch – Tool support to convert existing web sites – Solutions to self-reference problem Firefox Extension for NetInf - Jeff Thompson9November 3, 2013

ni ! November 3, 2013Firefox Extension for NetInf - Jeff Thompson10