RFC 2936 (rfc2936) - Page 2 of 13
HTTP MIME Type Handler Detection
Alternative Format: Original Text Document
RFC 2936 HTTP MIME Type Handler Detection September 2000
Table of Contents
1. Introduction................................................. 2
2. The HTTP 'Accept' Header..................................... 2
3. JavaScript................................................... 3
4. ActiveX and the Windows Registry............................. 4
5. ECML, The Electronic Commerce Modeling Language.............. 4
6. Putting It All Together...................................... 5
7. Future Development........................................... 5
8. Security Considerations...................................... 5
9. IANA Considerations.......................................... 6
References...................................................... 6
Appendix A: Browser Version Sniffer Code........................ 8
Authors' Addresses.............................................. 12
Full Copyright Statement........................................ 13
1. Introduction
Entities composing web pages to provide services over [HTTP]
frequently have the problem of not knowing what [MIME] types have
handlers installed at a user's browser. For example, whether an
[IOTP] or VRML or [SET] or some streaming media handler is available.
In many cases they would want to display different web pages or
content depending on a MIME handler's availability. Sending a
response with a MIME type that is not supported frequently results in
interrupting the flow of the user experience, browser queries as to
what to do with the data being provided, and, of course, failure to
provide the behavior that would have occurred had the correct MIME
type handler been installed.
This document describes reasonable techniques to solve this problem
for most of the browsers actually deployed on the Internet as of
early 2000. It is intended to be of practical use to implementors
during the period before the wide deployment of superior standards
based techniques which may be developed. It is written in terms of
determining whether a handler for application/iotp or application/x-
iotp exists but is equally applicable to other MIME types.
2. The HTTP 'Accept' Header
The problem should be solved by the Hyper Text Transport Protocol
[HTTP] request "Accept" header which lists accepted [MIME] types.
This header is present in both Version 1.0 and 1.1 of HTTP and its
content is supposed to be a list of MIME types and subtypes that are
accepted. The only problem is that many browsers just send "*/*" or
the like.
Eastlake, et al. Informational