Extended URLFETCH for Binary and Converted Parts
RFC 5524
Network Working Group D. Cridland
Request for Comments: 5524 Isode Limited
Category: Standards Track May 2009
Extended URLFETCH for Binary and Converted Parts
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
The URLFETCH command defined as part of URLAUTH provides a mechanism
for third parties to gain access to data held within messages in a
user's private store; however, this data is sent verbatim, which is
not suitable for a number of applications. This memo specifies a
method for obtaining data in forms suitable for non-mail
applications.
Cridland Standards Track [Page 1]
RFC 5524 URLFETCH Binary May 2009
Table of Contents
1. Introduction ....................................................2
2. Conventions Used in This Document ...............................2
3. Extended URLFETCH ...............................................2
3.1. Command Parameters .........................................3
3.2. Response Metadata ..........................................3
4. Example Exchanges ...............................................4
5. Formal Syntax ...................................................6
6. IANA Considerations .............................................7
7. Security Considerations .........................................7
8. Acknowledgements ................................................7
9. References ......................................................8
9.1. Normative References .......................................8
9.2. Informative References .....................................8
1. Introduction
Although [URLAUTH] provides a URLFETCH command that can be used to
dereference a URL and return the body-part data, it does so by
returning the encoded form, without sufficient metadata to decode.
This is suitable for use in mail applications such as [BURL], where
the encoded form is suitable, but not where access to the actual
content is required, such as in [STREAMING].
This memo specifies a mechanism that returns additional metadata
about the part, such as its [MEDIATYPE] type, as well as removes any
content transfer encoding that was used on the body part.
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [KEYWORDS].
Protocol examples are line-wrapped for clarity. Protocol strings are
prefixed with C: and S: for client and server respectively, and
elided data is represented by [...]. Implementors should note these
notations are for editorial clarity only.
3. Extended URLFETCH
This extension is available in any IMAP server implementation that
includes URLAUTH=BINARY within its capability string.
Such servers accept additional, per-URL parameters to the URLFETCH
command and will provide, upon request, specific data for each URL
dereferenced.
Cridland Standards Track [Page 2]
RFC 5524 URLFETCH Binary May 2009
3.1. Command Parameters
The URLFETCH command is extended by the provision of optional
parameters. The extended URLFETCH command is distinct by enclosing
each URL and associated parameters in a parenthesized list. Cases
where there is an absence of any parameters or where the URL is sent
unenclosed cause the command to behave precisely as specified in
[URLAUTH].
Similarly, if the URL is invalid, the command will behave precisely
as specified in [URLAUTH] and return a simple NIL.
Available parameters are:
BODYPARTSTRUCTURE
Provide a BODYPARTSTRUCTURE.
BODYPARTSTRUCTURE is defined in [CONVERT] and provides metadata
useful for processing applications, such as the type of data.
BINARY
Provide the data without any Content-Transfer-Encoding.
Show full document text