This document registers tags for serializing internationalized resource identifiers (IRIs) and IRI references in Concise Binary Object Representation (CBOR) (ref. 1).
The existing CBOR tag 32 is nominally limited to URIs (uniform resource identifiers) (ref. 3). Based on advice from C. Bormann, a separate tag number has been registered for internationalized resource identifiers (IRIs), which are a superset of URIs in that they allow non-ASCII characters (ref. 2).
Tag 266 can be applied to a CBOR text string to indicate that it is an internationalized resource identifier (IRI) under RFC 3987 (ref. 2) (which in turn extends RFC 3986 (ref. 3), which defines uniform resource identifiers, URIs.)
Tag 267 can be applied to a CBOR text string to indicate that it is an internationalized resource identifier reference (IRI reference) under RFC 3987 (ref. 2) (which in turn extends RFC 3986 (ref. 3), which defines uniform resource identifiers, URIs.)
A CBOR decoder can treat data items with tag 266 or 267 that are syntactically invalid IRIs as an error, but this specification doesn't define how a CBOR implementation ought to behave in this case. Section 3.4 of RFC 7049 (ref. 1) details this kind of error-handling behavior.
This tag definition shares the security considerations of RFC 3986 sec. 7 and RFC 3987 sec. 8. If an IRI, IRI reference, or URI contains a domain name, the security considerations of RFC 5890 sec. 4 apply.
Ref. 1. Bormann, C. and Hoffman, P. "Concise Binary Object Representation (CBOR)". RFC 7049, October 2013.
Ref. 2. Duerst, M., et al. "Internationalized Resource Identifiers (IRIs)". RFC 3987, January 2005.
Ref. 3. Berners-Lee, T., et al. "Uniform Resource Identifier (URI): Generic Syntax". RFC 3986, January 2005.
Ref. 4. Klensin, J. "Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework". RFC 5890, August 2010.
Peter Occil (poccil14 at gmail dot com)
My CBOR home page.
Any copyright to this specification is released to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/