Internet DRAFT - draft-newton-link-rr
draft-newton-link-rr
Network Working Group A. Newton
Internet-Draft ARIN
Intended status: Standards Track November 11, 2014
Expires: May 15, 2015
The LINK DNS Resource Record
draft-newton-link-rr-00
Abstract
This document describes a DNS resource record for holding a URI and
meta-data about the URI useful in constructing web links (as
described in RFC 5988). The name of this resource record is LINK.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 15, 2015.
Copyright Notice
Copyright (c) 2014 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Newton Expires May 15, 2015 [Page 1]
Internet-Draft LINK RR November 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. Internationalization Considerations . . . . . . . . . . . . . 4
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 4
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
8.1. Normative References . . . . . . . . . . . . . . . . . . 4
8.2. Informational References . . . . . . . . . . . . . . . . 5
Appendix A. Design Considerations . . . . . . . . . . . . . . . 5
Appendix B. Relevance to U-NAPTR and the URI Record Type . . . . 6
Appendix C. Changelog . . . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
[RFC5988] describes a typed link framework for relating resources on
the Web (and more generally on the Internet). It does this by
specifying a formal syntax for a Link header to be used in HTTP
[RFC7230] and by establishing an IANA registry for link
relationships.
The LINK resource record described in this document re-uses the tags
and values of the HTTP Link header described in [RFC5988] but with a
simplified syntax for compactness and use of multiple records in a
DNS resource record set (RRSET). By making link information
available in the DNS, applications may perform link mapping outside
of HTTP. Additionally, since the Link data uses other common
application building blocks such as URIs [RFC3986] and media types,
the use of this link information can be much broader than HTTP with
other application protocols.
The following is a simple LINK example which links "icon.png" as the
icon for example.com.
example.com. IN LINK "http://example.com/icon.png r=icon"
Figure 1
The following is a LINK example instructing search engines not to
follow a specific link.
example.com. IN LINK "http://example.com/ r=nofollow"
Figure 2
Newton Expires May 15, 2015 [Page 2]
Internet-Draft LINK RR November 2014
In the following example, links are given for example.com based on a
natural language preference.
example.com.
IN LINK "http://en.example.com/ hl=en"
IN LINK "http://es.example.com/ hl=es"
IN LINK "http://fr.example.com/ hl=fr"
Figure 3
In the following example, links are given for a RESTful service in
both an XML and JSON format.
restful.example.com.
IN LINK "http://example.com/rest-xml t=application/foo+xml"
IN LINK "http://example.com/rest-json t=application/foo+json"
2. Format
The format of the LINK resource record is the same as the TXT
resource record, except the resource record name is LINK. The
resource record data consists of character-strings. When these
character-strings are concatenated they take the form of:
URI tag1=value1 tag2=value2 ...
The ABNF for the final character string concatenation is:
tagchar = ( DIGIT / ALPHA )
tag = *tagchar
quotedvalue = %x27 *(VCHAR / WSP ) %x27
tagvalue = tag "=" VCHAR / quotedvalue
linkdata = URI 1*SP tagvalue *( 1*SP tagvalue )
; URI is defined in RFC 3986
Each tag value pair is separated by space, and the values do not need
to be quoted unless they contain space characters. Tags are defined
in Section 3.
3. Tags
This document defines the following tags for the LINK RR. Future
specification of tags is possible, therefore applications MUST ignore
unknown tags. All of the tags below reference a tag from [RFC5988].
1. r - matches "rel"
2. v - matches "rev"
Newton Expires May 15, 2015 [Page 3]
Internet-Draft LINK RR November 2014
3. hl - matches "hreflang"
4. m - matches "media"
5. t - matches "type"
6. tt - matches "title", only one may appear per LINK record
7. tl - refers the language of the title, only one may appear per
LINK record and must be accompanied by a tl tag in the same LINK
record
Becaue multiple LINK records may be specified, the restrictions upon
the tt and tl tags gives the same functionality as the title and
title* tags from [RFC5988].
4. IANA Considerations
The IANA will need to assign a value for the LINK record type.
5. Security Considerations
TBD
6. Internationalization Considerations
The LINK record allows referenced links and titles to links to be
given language tags with the tl and hl record tags, respectively.
7. Privacy Considerations
Information in the DNS is publicly visible to all parties on the
Internet. While visibility of the HTTP Link header can be
constrained via HTTP access methods, visibility of the LINK record
cannot. Care should be taken that information available in an HTTP
Link header is appropriate for public visibility once translated into
a LINK record.
8. References
8.1. Normative References
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, RFC
3986, January 2005.
[RFC5988] Nottingham, M., "Web Linking", RFC 5988, October 2010.
Newton Expires May 15, 2015 [Page 4]
Internet-Draft LINK RR November 2014
[RFC7230] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
(HTTP/1.1): Message Syntax and Routing", RFC 7230, June
2014.
8.2. Informational References
[I-D.faltstrom-uri]
Faeltstroem, P. and O. Kolkman, "The Uniform Resource
Identifier (URI) DNS Resource Record", draft-faltstrom-
uri-09 (work in progress), August 2014.
[RFC3958] Daigle, L. and A. Newton, "Domain-Based Application
Service Location Using SRV RRs and the Dynamic Delegation
Discovery Service (DDDS)", RFC 3958, January 2005.
[RFC4848] Daigle, L., "Domain-Based Application Service Location
Using URIs and the Dynamic Delegation Discovery Service
(DDDS)", RFC 4848, April 2007.
Appendix A. Design Considerations
In designing the format for the LINK record, the author considered a
record specific RDATA format and presentation format using a simple
tag-length-value (TLV) construction. Such a design has the advantage
of mapping the same [RFC5988] tags to numeric codes and potentially
avoids escaping issues with quoted strings.
The decision to use space separated key-value pairs inside character
strings was instead chosen to better aid adoption. With this method,
libraries need only re-use the TXT record construct at the bare
minimum, and in more complete cases couuld offer a richer interface
while using simple space delimited token parsing of the character
strings.
In the event that this design is found to be problematic or lacking
the ease-of-adoption desired, the author believe moving to a TLV
design is semantically compatible and easily achieved.
Re-use of the exact syntax of the Link header was also considered.
However, that syntax is not as simple as desired because of the
nature of how headers are embedded in HTTP and the need for backwards
compatibility with a previously deprecated version of the Link
header. Therefore a simplified, space delimited syntax is used.
Newton Expires May 15, 2015 [Page 5]
Internet-Draft LINK RR November 2014
Appendix B. Relevance to U-NAPTR and the URI Record Type
Placement of URIs in the DNS is not a new idea, but it has yet to
have found significant usage.
U-NAPTR [RFC4848] is a method for using NAPTR records to resolve URIs
in the DNS using application service keywords and application
protocol or transport protocol keywords.
[I-D.faltstrom-uri] defines the URI resource record which can be used
without further domain name qualification or with NAPTR records as
described by [RFC3958] to achieve the same service/protocol keyword
resolution as U-NAPTR [RFC4848].
In practice, the need for service/protocol keyword resolution by
applications is usually irrelevant and can be redundant or conflict
with the scheme of the target URI. Additionally, both U-NAPTR
[RFC4848] and [I-D.faltstrom-uri] offer a weight and order sorting
mechanism which is seldom ever needed but adds confusion to the
administration of these DNS resource records.
The approach used by this document is to offer applications the
ability to reference information about a URI and the target of the
URI as is commonly used on the Internet, especially in web-based
protocols.
Appendix C. Changelog
Initial -00 Booyah!
Author's Address
Andrew Lee Newton
American Registry for Internet Numbers
3635 Concorde Parkway
Chantilly, VA 20151
US
Email: andy@arin.net
URI: http://www.arin.net
Newton Expires May 15, 2015 [Page 6]