- From: Arun Ranganathan <arun@mozilla.com>
- Date: Thu, 12 May 2011 16:02:25 -0400
- To: ietf-http-wg@w3.org
Greetings httpbis listserv! My name is Arun Ranganathan, and I'm the current editor of the File API [1] specification; I'm also the outgoing Chair of the WebGL Working Group [2] (which brings hardware-accelerated 3D graphics to the web), and have a continued interest in allowing binary data to be securely accessed and manipulated on the web. I'm sponsored by Mozilla. The File API introduces the notion of a Blob object [3], which represents immutable binary data. A file from the underlying file system can be asynchronously read as a Blob object into various data formats, for example. The existing File interface in JavaScript inherits from Blob. Additionally, and most significantly for this working group, the File API introduces a URI scheme for Blob access [4]. The URI scheme uses a subset of the HTTP status codes, and is designed to be used wherever "http" URIs can be used on the web. The nascent URL API [5] which coins and revokes blob: URIs is also used with the Stream API [6] for video-conferencing use cases. Browsers such as Chrome already implement blob: URIs [7]; Firefox's implementation will follow-suit, although is likely to be vendor-prefixed. Our goals are to address the shortcomings of the file:/// URI scheme, which many browsers support for directory browsing of the underlying file system, but for little else (file:/// URIs are unwise choises for APIs like XMLHttpRequest, don't supply response codes, etc. etc.). The blob: scheme was designed to address the use case of dereferencing files and binary data on the web safely, since data: URIs have shortcomings as well, and can't really be used for streams of data. We'd welcome your feedback, including suggestions about embarking upon an IETF standardization track for this protocol. -- A* [1] File API: http://dev.w3.org/2006/webapi/FileAPI/ [2] WebGL: http://www.khronos.org/webgl/ [3] Blob defintion: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob [4] blob: URI scheme: http://dev.w3.org/2006/webapi/FileAPI/#url [5] URL API: http://dev.w3.org/2006/webapi/FileAPI/#creating-revoking [6] Stream API: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#stream-api [7] Use of blob: URI scheme in demos: http://www.html5rocks.com/tutorials/workers/basics/#toc-inlineworkers-bloburis
Received on Thursday, 12 May 2011 20:02:59 UTC