As per Relevance of the word september, we have this rfc below:
Network Working Group D.
Request for Comments: 2936
Category: Informational C.
Royal Bank of
D.
September 2000
HTTP MIME Type Handler
Status of this
This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited
Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved
Entities composing web pages to provide services over the
Transfer Protocol (HTTP) frequently have the problem of not
what Multipurpose Internet Mail Extensions (MIME) types have
installed at a user's browser. For example, whether an Internet
Trading Protocol (IOTP) or VRML or SET or some streaming
handler is available. In some cases they would want to
different web pages or content depending on a MIME handler'
availability. This document summarizes reasonable techniques
solve this problem for most of the browsers actually deployed on
Internet as of early 2000. It is intended to be of practical use
implementors during the period before the wide deployment of
standards based techniques which may be developed
Helpful comments by Tony Lewis of Visa have been incorporated
Eastlake, et al. Informational [Page 1]
RFC 2936 HTTP MIME Type Handler Detection September 2000
Table of
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.
Entities composing web pages to provide services over [HTTP
frequently have the problem of not knowing what [MIME] types
handlers installed at a user's browser. For example, whether
[IOTP] or VRML or [SET] or some streaming media handler is available
In many cases they would want to display different web pages
content depending on a MIME handler's availability. Sending
response with a MIME type that is not supported frequently results
interrupting the flow of the user experience, browser queries as
what to do with the data being provided, and, of course, failure
provide the behavior that would have occurred had the correct
type handler been installed
This document describes reasonable techniques to solve this
for most of the browsers actually deployed on the Internet as
early 2000. It is intended to be of practical use to
during the period before the wide deployment of superior
based techniques which may be developed. It is written in terms
determining whether a handler for application/iotp or application/x
iotp exists but is equally applicable to other MIME types
2. The HTTP 'Accept'
The problem should be solved by the Hyper Text Transport
[HTTP] request "Accept" header which lists accepted [MIME] types
This header is present in both Version 1.0 and 1.1 of HTTP and
content is supposed to be a list of MIME types and subtypes that
accepted. The only problem is that many browsers just send "*/*"
the like
Eastlake, et al. Informational [Page 2]
RFC 2936 HTTP MIME Type Handler Detection September 2000
If the particular MIME type you are looking for is
present in the Accept header, it is generally safe to assume that
handler for it is actually installed or part of the browser
NOTE: Although not part of the main topic of this document, if
are designing MIME type handler software and have access to a
interface that allows you to request the insertion of the MIME
or types your software handles into the Accept header, you
should do so. It will make it easier for servers sensitive to
MIME type to respond correctly
3.
Most recent browsers support one or more scripting languages of
the most widely deployed is "JavaScript". These scripting
appear in web pages and permit the interpretive execution
programming language constructs that can probe the
environment, conditionally cause different page contents to
displayed, etc. For example, Appendix A shows JavaScript
from the Netscape web site for determining what operating system
browser, and version on which a web page is appearing
NOTE: JavaScript is a trademark of SUN Microsystems, Inc. It
originally called LiveScript. It has nothing to do with the
language
The syntax for script use appears to be a Hyper Text Markup
(HTML) comment so that browsers that do not support scripting
ignore such items. That is, script use is preceded by "". The following is a simple example
conditional execution of parts of a web page based on JavaScript
type handler detection
Eastlake, et al. Informational [Page 3]
RFC 2936 HTTP MIME Type Handler Detection September 2000
4. ActiveX and the Windows
If running on Microsoft Windows Internet Explorer version 3 or 4,
is necessary to query the Windows Registry to determine local
type support. Although these broswers support JavaScript, in v3
mimeTypes array is not present and in v4 the mimeTypes array
present but always empty. For example, executing the following
will test for support of the IOTP types
CString iotpString, xiotpString
char* Key, Keyx
int rc, rcx
iotpString =
"SOFTWARE\Classes\MIME\Database\Content Type\application/iotp";
xiotpString =
"SOFTWARE\Classes\MIME\Database\Content Type\application/x-iotp";
Key = iotpString.GetBuffer(1);
Keyx = xiotpString.GetBuffer(1);
rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Key, 0, KEY_READ, hDefKey);
rcx = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Keyx, 0, KEY_READ, hDefKey);
if ( ( rc == ERROR_SUCCESS ) || ( rcx == ERROR_SUCCESS ) )
{
// IOTP Handler
}
{
// No IOTP
}
NOTE: ActiveX is a trademark of Microsoft and was originally
Sweeper
5. ECML, The Electronic Commerce Modeling
A industry group has recently proposed a standard for fields used
electronic commerce. This fields allow "wallet" software acting
the consumer to convey standardized information to a merchant
including information as to what payment related protocols
supported at the customer site. See [ECML].
Eastlake, et al. Informational [Page 4]
RFC 2936 HTTP MIME Type Handler Detection September 2000
6. Putting It All
The following diagram indicates how these techniques can be
together
start>-----+
|
+------------------+
| Was desired type | NO +-------------------------+
|found in Accept? |------------>| Is JavaScript available |
+------------------+ |and does it show type? |
| +-------------------------+
YES | | | |
|<---------------------------+ | NO |
| YES | |
| +---
| | |
| +----------------------+ |
| | Is ActiveX available | |
| |and does it show type?| |
| +----------------------+ |
| YES | | | NO |
|<-----------+ | +----------------->|
| V |
remember | Indeterminate. remember |
that |. Take default that type |
type IS | action. is NOT |
supported| supported |
X done
7. Future
Active work is proceeding in the IETF, World Wide Web
[W3C], and other standards and industry groups concerning content
capabilities negotiation. This work is likely to lead to
methods to implement the functionality described herein. However
near universal deployment of such new standards/features will
some time. Thus you should expect the methods given herein to
obsoleted, but perhaps not for some time
8. Security
It should be noted that the variety of ActiveX control
above is reading the user's registry, that is, examining
computer and reporting back some information it has discovered.
may be a concern among some users
Eastlake, et al. Informational [Page 5]
RFC 2936 HTTP MIME Type Handler Detection September 2000
In general, the use of JavaScript and, even more so, ActiveX
dangerous because they are so powerful. JavaScript or ActiveX from
web page could be invisibly damaging to the client
Security of web interactions is normally provided by adopting
encryption on the browser to server connections, such as [TLS].
the absence of some such additional security outside of HTTP
requests and/or responses may be forged or tampered with
9. IANA
None specific to the techniques described herein. For MIME types
type registration procedures, see [MIME: RFCs 2046, 2048].
[ECML] Eastlake, D. and T. Goldstein, "ECML v1: Field Names for E
Commerce", RFC 2706, October 1999.
[HTTP] Berners-Lee, T., Fielding, R. and H. Frystyk, "
Transfer Protocol -- HTTP/1.0", RFC 1945, May 1996.
[HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter
L., Leach, P. and T. Berners-Lee, "Hypertext Transfer
-- HTTP/1.1", RFC 2616, June 1999.
[IOTP] Burdett, D., "Internet Open Trading Protocol - IOTP
1.0", RFC 2801, April 2000.
[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet
Extensions (MIME) Part One: Format of Internet
Bodies", RFC 2045, November 1996.
[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet
Extensions (MIME) Part Two: Media Types", RFC 2046,
1996.
[MIME] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
Three: Message Header Extensions for Non-ASCII Text",
2047, November 1996.
[MIME] Freed, N., Klensin, J. and J. Postel, "Multipurpose
Mail Extensions (MIME) Part Four: Registration Procedures",
RFC 2048, November 1996.
Eastlake, et al. Informational [Page 6]
RFC 2936 HTTP MIME Type Handler Detection September 2000
[SET] "Secure Electronic Transaction (SET) Specification,
1.0", May 31, 1997, available from .
Book 1: Business
Book 2: Programmer's
Book 3: Formal Protocol
[TLS] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
2246, January 1999.
[W3C] World Wide Web Consortium,
Eastlake, et al. Informational [Page 7]
RFC 2936 HTTP MIME Type Handler Detection September 2000
Appendix A: Browser Version Sniffer
Authors'
Donald E. Eastlake 3
140 Forest
Hudson, MA 01749
Phone: +1 978-562-2827(h
+1 508-261-5434(w
Fax: +1 508-261-4447(w
EMail: Donald.Eastlake@motorola.
Chris J.
Royal Bank of
277 Front Street
Toronto, Ontario M5V 3A4
Phone: +1 416-348-6090
Fax: +1 416-348-2210
EMail: chris.smith@royalbank.
David M.
Raleigh,
Phone: +1 919-486-2684
Fax: +1 919-543-4653
EMail: dsoroka@us.ibm.
Eastlake, et al. Informational [Page 12]
RFC 2936 HTTP MIME Type Handler Detection September 2000
Full Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved
This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English
The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns
This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
Funding for the RFC Editor function is currently provided by
Internet Society
Eastlake, et al. Informational [Page 13]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX