| < draft-nottingham-rfc5988bis-02.txt | draft-nottingham-rfc5988bis-03.txt > | |||
|---|---|---|---|---|
| Network Working Group M. Nottingham | Network Working Group M. Nottingham | |||
| Internet-Draft November 22, 2016 | Internet-Draft November 25, 2016 | |||
| Obsoletes: 5988 (if approved) | Obsoletes: 5988 (if approved) | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: May 26, 2017 | Expires: May 29, 2017 | |||
| Web Linking | Web Linking | |||
| draft-nottingham-rfc5988bis-02 | draft-nottingham-rfc5988bis-03 | |||
| Abstract | Abstract | |||
| This specification defines a way to indicate the relationships | This specification defines a way to indicate the relationships | |||
| between resources on the Web ("links") and the type of those | between resources on the Web ("links") and the type of those | |||
| relationships ("link relation types"). | relationships ("link relation types"). | |||
| It also defines the serialisation of such links in HTTP headers with | It also defines the serialisation of such links in HTTP headers with | |||
| the Link header field. | the Link header field. | |||
| skipping to change at page 1, line 49 ¶ | skipping to change at page 1, line 49 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on May 26, 2017. | This Internet-Draft will expire on May 29, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 40 ¶ | skipping to change at page 2, line 40 ¶ | |||
| than English. | than English. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3 | 2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Link Relation Types . . . . . . . . . . . . . . . . . . . . . 5 | 4. Link Relation Types . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. Registered Relation Types . . . . . . . . . . . . . . . . 5 | 4.1. Registered Relation Types . . . . . . . . . . . . . . . . 5 | |||
| 4.1.1. Registering Link Relation Types . . . . . . . . . . . 6 | 4.1.1. Registering Link Relation Types . . . . . . . . . . . 6 | |||
| 4.1.2. Registration Request Processing . . . . . . . . . . . 7 | ||||
| 4.2. Extension Relation Types . . . . . . . . . . . . . . . . 7 | 4.2. Extension Relation Types . . . . . . . . . . . . . . . . 7 | |||
| 5. Target Attributes . . . . . . . . . . . . . . . . . . . . . . 7 | 5. Target Attributes . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Link Serialisation in HTTP Headers . . . . . . . . . . . . . 8 | 6. Link Serialisation in HTTP Headers . . . . . . . . . . . . . 8 | |||
| 6.1. Link Target . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.1. Link Target . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6.2. Link Context . . . . . . . . . . . . . . . . . . . . . . 8 | 6.2. Link Context . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6.3. Relation Type . . . . . . . . . . . . . . . . . . . . . . 9 | 6.3. Relation Type . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6.4. Target Attributes . . . . . . . . . . . . . . . . . . . . 9 | 6.4. Target Attributes . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6.4.1. Serialisation-Defined Attributes . . . . . . . . . . 10 | 6.4.1. Serialisation-Defined Attributes . . . . . . . . . . 10 | |||
| 6.4.2. Extension Attributes . . . . . . . . . . . . . . . . 11 | 6.4.2. Extension Attributes . . . . . . . . . . . . . . . . 11 | |||
| 6.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . 11 | 6.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.1. Link HTTP Header Field Registration . . . . . . . . . . . 12 | 7.1. Link HTTP Header Field Registration . . . . . . . . . . . 13 | |||
| 7.2. Link Relation Type Registry . . . . . . . . . . . . . . . 12 | 7.2. Link Relation Type Registry . . . . . . . . . . . . . . . 13 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | ||||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 9. Internationalisation Considerations . . . . . . . . . . . . . 14 | |||
| 9. Internationalisation Considerations . . . . . . . . . . . . . 13 | ||||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 15 | 10.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| Appendix A. Notes on Other Link Serialisations . . . . . . . . . 17 | Appendix A. Notes on Other Link Serialisations . . . . . . . . . 17 | |||
| A.1. Link Serialisation in HTML . . . . . . . . . . . . . . . 17 | A.1. Link Serialisation in HTML . . . . . . . . . . . . . . . 17 | |||
| A.2. Link Serialisation in Atom . . . . . . . . . . . . . . . 18 | A.2. Link Serialisation in Atom . . . . . . . . . . . . . . . 18 | |||
| Appendix B. Algorithm for Parsing Link Headers . . . . . . . . . 18 | Appendix B. Algorithm for Parsing Link Headers . . . . . . . . . 18 | |||
| Appendix C. Changes from RFC5988 . . . . . . . . . . . . . . . . 21 | Appendix C. Changes from RFC5988 . . . . . . . . . . . . . . . . 21 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 22 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 1. Introduction | 1. Introduction | |||
| This specification defines a way to indicate the relationships | This specification defines a way to indicate the relationships | |||
| skipping to change at page 3, line 47 ¶ | skipping to change at page 3, line 47 ¶ | |||
| scoped to those conformance targets. | scoped to those conformance targets. | |||
| This document uses the Augmented Backus-Naur Form (ABNF) notation of | This document uses the Augmented Backus-Naur Form (ABNF) notation of | |||
| [RFC7230], including the #rule, and explicitly includes the following | [RFC7230], including the #rule, and explicitly includes the following | |||
| rules from it: quoted-string, token, SP (space), BWS (bad | rules from it: quoted-string, token, SP (space), BWS (bad | |||
| whitespace), OWS (optional whitespace), RWS (required whitespace) | whitespace), OWS (optional whitespace), RWS (required whitespace) | |||
| LOALPHA, DIGIT. | LOALPHA, DIGIT. | |||
| Additionally, the following rules are included from [RFC3986]: URI | Additionally, the following rules are included from [RFC3986]: URI | |||
| and URI-Reference; from [RFC6838]: type-name and subtype-name; from | and URI-Reference; from [RFC6838]: type-name and subtype-name; from | |||
| [W3C.CR-css3-mediaqueries-20090915]: media_query_list; from | [W3C.CR-css3-mediaqueries-20090915]: media_query_list; and from | |||
| [RFC5646]: Language-Tag; and from [I-D.ietf-httpbis-rfc5987bis], ext- | [RFC5646]: Language-Tag.. | |||
| value and parmname. | ||||
| 3. Links | 3. Links | |||
| In this specification, a link is a typed connection between two | In this specification, a link is a typed connection between two | |||
| resources, and is comprised of: | resources, and is comprised of: | |||
| o A _link context_, | o A _link context_, | |||
| o a _link relation type_ (Section 4), | o a _link relation type_ (Section 4), | |||
| skipping to change at page 4, line 39 ¶ | skipping to change at page 4, line 39 ¶ | |||
| This specification does not place restrictions on the cardinality of | This specification does not place restrictions on the cardinality of | |||
| links; there can be multiple links to and from a particular target, | links; there can be multiple links to and from a particular target, | |||
| and multiple links of the same or different types between a given | and multiple links of the same or different types between a given | |||
| context and target. Likewise, the relative ordering of links in any | context and target. Likewise, the relative ordering of links in any | |||
| particular serialisation, or between serialisations (e.g., the Link | particular serialisation, or between serialisations (e.g., the Link | |||
| header field and in-content links) is not specified or significant in | header field and in-content links) is not specified or significant in | |||
| this specification; applications that wish to consider ordering | this specification; applications that wish to consider ordering | |||
| significant can do so. | significant can do so. | |||
| Links are conveyed in _link serialisations_; they are the "bytes on | Links are conveyed in _link serialisations_; they are the "bytes on | |||
| the wire", and can occur in various forms. This specification does | the wire", and can occur in various forms. For example, Atom | |||
| not define a general syntax for links, nor does it mandate a specific | [RFC4287] and HTML [W3C.REC-html5-20141028] both defined | |||
| context for any given link; it is expected that serialisations of | serialisations of links into their respective formats, and Section 6 | |||
| links will specify both aspects. One such serialisation is | defines how to serialise links in HTTP header fields. | |||
| communication of links through HTTP headers, specified in Section 6. | ||||
| This specification does not define a general syntax for links across | ||||
| different serialisations, nor does it mandate a specific context for | ||||
| any given link; it is expected that serialisations of links will | ||||
| specify both aspects. | ||||
| Finally, links are consumed by _link applications_. Generally, an | Finally, links are consumed by _link applications_. Generally, an | |||
| application will define the link relation types it uses, along with | application will define the link relation types it uses, along with | |||
| the serialisations that they might occur within. For example, the | the serialisations that they might occur within. For example, the | |||
| application "Web browsing" looks for the "stylesheet" link relation | application "Web browsing" looks for the "stylesheet" link relation | |||
| type in the HTML link serialisation. | type in the HTML link serialisation, whereas the application | |||
| "AtomPub" uses the "edit" and "edit-media" link relations. | ||||
| 4. Link Relation Types | 4. Link Relation Types | |||
| In the simplest case, a link relation type identifies the semantics | In the simplest case, a link relation type identifies the semantics | |||
| of a link. For example, a link with the relation type "copyright" | of a link. For example, a link with the relation type "copyright" | |||
| indicates that the resource identified by the link target is a | indicates that the resource identified by the link target is a | |||
| statement of the copyright terms applying to the current link | statement of the copyright terms applying to the current link | |||
| context. | context. | |||
| Link relation types can also be used to indicate that the target | Link relation types can also be used to indicate that the target | |||
| skipping to change at page 6, line 15 ¶ | skipping to change at page 6, line 17 ¶ | |||
| Historically, registered relation types have been identified with a | Historically, registered relation types have been identified with a | |||
| URI [RFC3986] by prefixing their names with an application-defined | URI [RFC3986] by prefixing their names with an application-defined | |||
| base URI (e.g., see Appendix A.2). This practice is NOT RECOMMENDED, | base URI (e.g., see Appendix A.2). This practice is NOT RECOMMENDED, | |||
| because the resulting strings will not be considered equivalent to | because the resulting strings will not be considered equivalent to | |||
| the registered relation types by other processors. Applications that | the registered relation types by other processors. Applications that | |||
| do use such URIs internally MUST NOT use them in link serialisations | do use such URIs internally MUST NOT use them in link serialisations | |||
| that do not explicitly accommodate them. | that do not explicitly accommodate them. | |||
| 4.1.1. Registering Link Relation Types | 4.1.1. Registering Link Relation Types | |||
| Relation types are registered on the advice of a Designated Expert | Any party can request registration of a link relation type. | |||
| (appointed by the IESG or their delegate), with a Specification | ||||
| Required (using terminology from [RFC5226]). | ||||
| The Expert(s) will establish procedures for requesting registrations, | Registration requests can be sent to the "link-relations@ietf.org" | |||
| and make them available from the registry page. | mailing list. The Expert(s) MAY establish alternate means of | |||
| requesting registrations, which SHOULD be linked to from the registry | ||||
| page. | ||||
| Registration requests consist of at least the following information: | Registration requests consist of at least the following information: | |||
| o Relation Name: | o *Relation Name*: The name of the relation type | |||
| o Description: | o *Description*: A short English description of the type's | |||
| semantics. It SHOULD be stated in terms of the relationship | ||||
| between the link context and link target. | ||||
| o Reference: | o *Reference*: Reference to the document that specifies the link | |||
| relation type, preferably including a URI that can be used to | ||||
| retrieve a copy of the document. An indication of the relevant | ||||
| section(s) MAY also be included, but is not required. | ||||
| The Expert(s) MAY define additional fields to be collected in the | The Expert(s) MAY define additional fields to be collected in the | |||
| registry. | registry. | |||
| General requirements for registered relation types are described in | General requirements for registered relation types are described in | |||
| Section 4.1. | Section 4.1. | |||
| See the registry for examples of the description field; generally, it | ||||
| SHOULD identify the semantics in terms of the link's context and | ||||
| target. | ||||
| Registrations MUST reference a freely available, stable | Registrations MUST reference a freely available, stable | |||
| specification. | specification. | |||
| Note that relation types can be registered by third parties, if the | Note that relation types can be registered by third parties | |||
| Expert(s) determine that an unregistered relation type is widely | (including the Expert(s)), if the Expert(s) determine that an | |||
| deployed and not likely to be registered in a timely manner. | unregistered relation type is widely deployed and not likely to be | |||
| registered in a timely manner. | ||||
| Decisions (or lack thereof) made by the Expert(s) can be first | 4.1.2. Registration Request Processing | |||
| appealed to Application Area Directors (contactable using app- | ||||
| ads@tools.ietf.org email address or directly by looking up their | Relation types are registered on the advice of a Designated Expert | |||
| email addresses on http://www.iesg.org/ website) and, if the | (appointed by the IESG or their delegate), with a Specification | |||
| appellant is not satisfied with the response, to the full IESG (using | Required (using terminology from [RFC5226]). | |||
| the iesg@iesg.org mailing list). | ||||
| The goal of the registry is to reflect common use of HTTP on the | ||||
| Internet. Therefore, the Expert(s) SHOULD be strongly biased towards | ||||
| approving registrations, unless they are abusive, frivolous, not | ||||
| likely to be used on the Internet, or actively harmful to the | ||||
| Internet and/or the Web (not merely aesthetically displeasing, or | ||||
| architecturally dubious). | ||||
| The Expert(s) MUST clearly identify any issues which cause a | ||||
| registration to be refused. Advice about the syntax or semantics of | ||||
| a proposed link relation type can be given, but if it does not block | ||||
| registration, this SHOULD be explicitly stated. | ||||
| When a request is approved, the Expert(s) will inform IANA, and the | ||||
| registration will be processed. The IESG is the final arbiter of any | ||||
| objection. | ||||
| 4.2. Extension Relation Types | 4.2. Extension Relation Types | |||
| Applications that don't wish to register a relation type can use an | Applications that don't wish to register a relation type can use an | |||
| extension relation type, which is a URI [RFC3986] that uniquely | extension relation type, which is a URI [RFC3986] that uniquely | |||
| identifies the relation type. Although the URI can point to a | identifies the relation type. Although the URI can point to a | |||
| resource that contains a definition of the semantics of the relation | resource that contains a definition of the semantics of the relation | |||
| type, clients SHOULD NOT automatically access that resource to avoid | type, clients SHOULD NOT automatically access that resource to avoid | |||
| overburdening its server. | overburdening its server. | |||
| skipping to change at page 7, line 40 ¶ | skipping to change at page 8, line 18 ¶ | |||
| link or its target; for example, a media type hint. | link or its target; for example, a media type hint. | |||
| This specification does not attempt to coordinate the name of target | This specification does not attempt to coordinate the name of target | |||
| attributes, their cardinality or use; they are defined both by | attributes, their cardinality or use; they are defined both by | |||
| individual link relations and by link serialisations. | individual link relations and by link serialisations. | |||
| Serialisations SHOULD coordinate their target attributes to avoid | Serialisations SHOULD coordinate their target attributes to avoid | |||
| conflicts in semantics or syntax. Relation types MAY define | conflicts in semantics or syntax. Relation types MAY define | |||
| additional target attributes specific to them. | additional target attributes specific to them. | |||
| The names of target attributes SHOULD conform to the parmname rule | The names of target attributes SHOULD conform to the token rule, but | |||
| for portability across serializations, and MUST be compared in a | SHOULD NOT include any of the characters "%", "'" or "*", for | |||
| case-insensitive fashion. | portability across serializations, and MUST be compared in a case- | |||
| insensitive fashion. | ||||
| Target attribute definitions SHOULD specify: | Target attribute definitions SHOULD specify: | |||
| o Their serialisation into Unicode or a subset thereof, to maximise | o Their serialisation into Unicode or a subset thereof, to maximise | |||
| their chances of portability across link serialisations. | their chances of portability across link serialisations. | |||
| o The semantics and error handling of multiple occurrences of the | o The semantics and error handling of multiple occurrences of the | |||
| attribute on a given link. | attribute on a given link. | |||
| This specification does define target attributes for use in the Link | This specification does define target attributes for use in the Link | |||
| HTTP header field in Section 6.4. | HTTP header field in Section 6.4. | |||
| 6. Link Serialisation in HTTP Headers | 6. Link Serialisation in HTTP Headers | |||
| The Link header field provides a means for serialising one or more | The Link header field provides a means for serialising one or more | |||
| links into HTTP headers. | links into HTTP headers. | |||
| The ABNF for the field value is given below: | The ABNF for the field value is given below: | |||
| Link = #link-value | Link = #link-value | |||
| link-value = "<" URI-Reference ">" *( OWS ";" OWS link-param ) | link-value = "<" URI-Reference ">" *( OWS ";" OWS link-param ) | |||
| link-param = token BWS "=" BWS ( token / quoted-string ) | link-param = token BWS "=" BWS ( token / quoted-string ) | |||
| Note that any "link-param" can be generated with values using either | Note that any "link-param" can be generated with values using either | |||
| the "token" or the "quoted-string" syntax, and therefore recipients | the "token" or the "quoted-string" syntax, and therefore recipients | |||
| MUST be able to parse both forms. Individual "link-param"s specify | MUST be able to parse both forms. Individual "link-param"s specify | |||
| their syntax in terms of the value after any necessary unquoting (as | their syntax in terms of the value after any necessary unquoting (as | |||
| per [RFC7230], Section 3.2.6). | per [RFC7230], Section 3.2.6). | |||
| This specification defines the link-params "rel", "anchor", "rev", | This specification defines the link-params "rel", "anchor", "rev", | |||
| "hreflang", "media", "title", "title*", and "type"; see Section 6.2, | "hreflang", "media", "title", "title*", and "type"; see Section 6.2, | |||
| Section 6.3 and Section 6.4. | Section 6.3 and Section 6.4. | |||
| skipping to change at page 9, line 34 ¶ | skipping to change at page 10, line 14 ¶ | |||
| a link from A to B with REL="X" expresses the same relationship as a | a link from A to B with REL="X" expresses the same relationship as a | |||
| link from B to A with REV="X". "rev" is deprecated by this | link from B to A with REV="X". "rev" is deprecated by this | |||
| specification because it often confuses authors and readers; in most | specification because it often confuses authors and readers; in most | |||
| cases, using a separate relation type is preferable. | cases, using a separate relation type is preferable. | |||
| The ABNF for the "rel" and "rev" parameters' values is: ~~~ abnf2616 | The ABNF for the "rel" and "rev" parameters' values is: ~~~ abnf2616 | |||
| relation-type _( 1_SP relation-type ) ~~~ | relation-type _( 1_SP relation-type ) ~~~ | |||
| where: | where: | |||
| relation-type = reg-rel-type | ext-rel-type | relation-type = reg-rel-type | ext-rel-type | |||
| reg-rel-type = LOALPHA *( LOALPHA | DIGIT | "." | "-" ) | reg-rel-type = LOALPHA *( LOALPHA | DIGIT | "." | "-" ) | |||
| ext-rel-type = URI | ext-rel-type = URI | |||
| Note that extension relation types are REQUIRED to be absolute URIs | Note that extension relation types are REQUIRED to be absolute URIs | |||
| in Link headers, and MUST be quoted if they contain a semicolon (";") | in Link headers, and MUST be quoted if they contain a semicolon (";") | |||
| or comma (",") (as these characters are used as delimiters in the | or comma (",") (as these characters are used as delimiters in the | |||
| header field itself). | header field itself). | |||
| 6.4. Target Attributes | 6.4. Target Attributes | |||
| The Link header field defines several target attributes specific to | The Link header field defines several target attributes specific to | |||
| this serialisation, and also allows extension target attributes. | this serialisation, and also allows extension target attributes. | |||
| skipping to change at page 11, line 30 ¶ | skipping to change at page 12, line 9 ¶ | |||
| both forms are present, they SHOULD be considered to be the same | both forms are present, they SHOULD be considered to be the same | |||
| target attribute; processors SHOULD use the value of the name ending | target attribute; processors SHOULD use the value of the name ending | |||
| in "_" (after [I-D.ietf-httpbis-rfc5987bis] decoding), but MAY fall | in "_" (after [I-D.ietf-httpbis-rfc5987bis] decoding), but MAY fall | |||
| back to the other value if there is an error in decoding it, or if | back to the other value if there is an error in decoding it, or if | |||
| they do not support decoding. | they do not support decoding. | |||
| 6.5. Examples | 6.5. Examples | |||
| For example: | For example: | |||
| Link: <http://example.com/TheBook/chapter2>; rel="previous"; | Link: <http://example.com/TheBook/chapter2>; rel="previous"; | |||
| title="previous chapter" | title="previous chapter" | |||
| indicates that "chapter2" is previous to this resource in a logical | indicates that "chapter2" is previous to this resource in a logical | |||
| navigation path. | navigation path. | |||
| Similarly, | Similarly, | |||
| Link: </>; rel="http://example.net/foo" | Link: </>; rel="http://example.net/foo" | |||
| indicates that the root resource ("/") is related to this resource | indicates that the root resource ("/") is related to this resource | |||
| with the extension relation type "http://example.net/foo". | with the extension relation type "http://example.net/foo". | |||
| The example below shows an instance of the Link header field encoding | The example below shows an instance of the Link header field encoding | |||
| multiple links, and also the use of RFC 5987 encoding to encode both | multiple links, and also the use of RFC 5987 encoding to encode both | |||
| non-ASCII characters and language information. | non-ASCII characters and language information. | |||
| Link: </TheBook/chapter2>; | Link: </TheBook/chapter2>; | |||
| rel="previous"; title*=UTF-8'de'letztes%20Kapitel, | rel="previous"; title*=UTF-8'de'letztes%20Kapitel, | |||
| </TheBook/chapter4>; | </TheBook/chapter4>; | |||
| rel="next"; title*=UTF-8'de'n%c3%a4chstes%20Kapitel | rel="next"; title*=UTF-8'de'n%c3%a4chstes%20Kapitel | |||
| Here, both links have titles encoded in UTF-8, use the German | Here, both links have titles encoded in UTF-8, use the German | |||
| language ("de"), and the second link contains the Unicode code point | language ("de"), and the second link contains the Unicode code point | |||
| U+00E4 ("LATIN SMALL LETTER A WITH DIAERESIS"). | U+00E4 ("LATIN SMALL LETTER A WITH DIAERESIS"). | |||
| Note that link-values can convey multiple links between the same link | Note that link-values can convey multiple links between the same link | |||
| target and link context; for example: | target and link context; for example: | |||
| Link: <http://example.org/>; | Link: <http://example.org/>; | |||
| rel="start http://example.net/relation/other" | rel="start http://example.net/relation/other" | |||
| Here, the link to "http://example.org/" has the registered relation | Here, the link to "http://example.org/" has the registered relation | |||
| type "start" and the extension relation type | type "start" and the extension relation type | |||
| "http://example.net/relation/other". | "http://example.net/relation/other". | |||
| 7. IANA Considerations | 7. IANA Considerations | |||
| In addition to the actions below, IANA should terminate the Link | In addition to the actions below, IANA should terminate the Link | |||
| Relation Application Data Registry, as it has not been used, and | Relation Application Data Registry, as it has not been used, and | |||
| future use is not anticipated. | future use is not anticipated. | |||
| 7.1. Link HTTP Header Field Registration | 7.1. Link HTTP Header Field Registration | |||
| This specification updates the Message Header registry entry for | This specification updates the Message Header registry entry for | |||
| "Link" in HTTP [RFC3864] to refer to this document. | "Link" in HTTP [RFC3864] to refer to this document. | |||
| Header field: Link | Header field: Link | |||
| Applicable protocol: http | Applicable protocol: http | |||
| Status: standard | Status: standard | |||
| Author/change controller: | Author/change controller: | |||
| IETF (iesg@ietf.org) | IETF (iesg@ietf.org) | |||
| Internet Engineering Task Force | Internet Engineering Task Force | |||
| Specification document(s): | Specification document(s): | |||
| [RFC&rfc.number;] | [RFC&rfc.number;] | |||
| 7.2. Link Relation Type Registry | 7.2. Link Relation Type Registry | |||
| This specification updates the registration procedures for the Link | This specification updates the registration procedures for the Link | |||
| Relation Type registry; see Section 4.1.1. The Expert(s) and IANA | Relation Type registry; see Section 4.1.1. The Expert(s) and IANA | |||
| will interact as outlined below. | will interact as outlined below. | |||
| IANA will direct any incoming requests regarding the registry to the | IANA will direct any incoming requests regarding the registry to this | |||
| processes established by the Expert(s); typically, this will mean | document and, if defined, the processes established by the Expert(s); | |||
| referring them to the registry Web page. | typically, this will mean referring them to the registry Web page. | |||
| The Expert(s) will provide registry data to IANA in an agreed form | The Expert(s) will provide registry data to IANA in an agreed form | |||
| (e.g. a specific XML format). IANA will publish: | (e.g. a specific XML format). IANA will publish: | |||
| o The raw registry data | o The raw registry data | |||
| o The registry data, transformed into HTML | o The registry data, transformed into HTML | |||
| o The registry data in any alternative formats provided by the | o The registry data in any alternative formats provided by the | |||
| Expert(s) | Expert(s) | |||
| Each published document will be at a URL agreed to by IANA and the | Each published document will be at a URL agreed to by IANA and the | |||
| Expert(s), and IANA will set HTTP response headers on them as | Expert(s), and IANA will set HTTP response headers on them as | |||
| (reasonably) requested by the Expert(s). | (reasonably) requested by the Expert(s). | |||
| Additionally, the HTML generated by IANA will: | Additionally, the HTML generated by IANA will: | |||
| o Take directions from the Expert(s) as to the content of the HTML | o Take directions from the Expert(s) as to the content of the HTML | |||
| page's introductory text and markup | page's introductory text | |||
| o Include a stable HTML fragment identifier for each registered link | o Include a stable HTML fragment identifier for each registered | |||
| relation | header field | |||
| All registry data documents MUST include Simplified BSD License text | All registry data documents MUST include Simplified BSD License text | |||
| as described in Section 4.e of the Trust Legal Provisions | as described in Section 4.e of the Trust Legal Provisions | |||
| (<http://trustee.ietf.org/license-info>). | (<http://trustee.ietf.org/license-info>). | |||
| 8. Security Considerations | 8. Security Considerations | |||
| The content of the Link header field is not secure, private or | The content of the Link header field is not secure, private or | |||
| integrity-guaranteed, and due caution should be exercised when using | integrity-guaranteed, and due caution should be exercised when using | |||
| it. Use of Transport Layer Security (TLS) with HTTP ([RFC2818] and | it. Use of Transport Layer Security (TLS) with HTTP ([RFC2818] and | |||
| skipping to change at page 14, line 26 ¶ | skipping to change at page 15, line 6 ¶ | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [I-D.ietf-httpbis-rfc5987bis] | [I-D.ietf-httpbis-rfc5987bis] | |||
| Reschke, J., "Indicating Character Encoding and Language | Reschke, J., "Indicating Character Encoding and Language | |||
| for HTTP Header Field Parameters", draft-ietf-httpbis- | for HTTP Header Field Parameters", draft-ietf-httpbis- | |||
| rfc5987bis-03 (work in progress), July 2016. | rfc5987bis-03 (work in progress), July 2016. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| DOI 10.17487/RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | |||
| Procedures for Message Header Fields", BCP 90, RFC 3864, | Procedures for Message Header Fields", BCP 90, RFC 3864, | |||
| DOI 10.17487/RFC3864, September 2004, | DOI 10.17487/RFC3864, September 2004, | |||
| <http://www.rfc-editor.org/info/rfc3864>. | <http://www.rfc-editor.org/info/rfc3864>. | |||
| [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | |||
| Resource Identifier (URI): Generic Syntax", STD 66, | Resource Identifier (URI): Generic Syntax", STD 66, RFC | |||
| RFC 3986, DOI 10.17487/RFC3986, January 2005, | 3986, DOI 10.17487/RFC3986, January 2005, | |||
| <http://www.rfc-editor.org/info/rfc3986>. | <http://www.rfc-editor.org/info/rfc3986>. | |||
| [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource | [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource | |||
| Identifiers (IRIs)", RFC 3987, DOI 10.17487/RFC3987, | Identifiers (IRIs)", RFC 3987, DOI 10.17487/RFC3987, | |||
| January 2005, <http://www.rfc-editor.org/info/rfc3987>. | January 2005, <http://www.rfc-editor.org/info/rfc3987>. | |||
| [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
| IANA Considerations Section in RFCs", BCP 26, RFC 5226, | IANA Considerations Section in RFCs", BCP 26, RFC 5226, | |||
| DOI 10.17487/RFC5226, May 2008, | DOI 10.17487/RFC5226, May 2008, | |||
| <http://www.rfc-editor.org/info/rfc5226>. | <http://www.rfc-editor.org/info/rfc5226>. | |||
| [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying | [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying | |||
| Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, | Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, | |||
| September 2009, <http://www.rfc-editor.org/info/rfc5646>. | September 2009, <http://www.rfc-editor.org/info/rfc5646>. | |||
| [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type | [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type | |||
| Specifications and Registration Procedures", BCP 13, | Specifications and Registration Procedures", BCP 13, RFC | |||
| RFC 6838, DOI 10.17487/RFC6838, January 2013, | 6838, DOI 10.17487/RFC6838, January 2013, | |||
| <http://www.rfc-editor.org/info/rfc6838>. | <http://www.rfc-editor.org/info/rfc6838>. | |||
| [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | |||
| Protocol (HTTP/1.1): Message Syntax and Routing", | Protocol (HTTP/1.1): Message Syntax and Routing", RFC | |||
| RFC 7230, DOI 10.17487/RFC7230, June 2014, | 7230, DOI 10.17487/RFC7230, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7230>. | <http://www.rfc-editor.org/info/rfc7230>. | |||
| [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | |||
| Protocol (HTTP/1.1): Semantics and Content", RFC 7231, | Protocol (HTTP/1.1): Semantics and Content", RFC 7231, DOI | |||
| DOI 10.17487/RFC7231, June 2014, | 10.17487/RFC7231, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7231>. | <http://www.rfc-editor.org/info/rfc7231>. | |||
| [W3C.CR-css3-mediaqueries-20090915] | [W3C.CR-css3-mediaqueries-20090915] | |||
| Lie, H., Celik, T., Glazman, D., and A. Kesteren, "Media | Lie, H., Celik, T., Glazman, D., and A. Kesteren, "Media | |||
| Queries", World Wide Web Consortium CR CR-css3- | Queries", World Wide Web Consortium CR CR-css3- | |||
| mediaqueries-20090915, September 2009, | mediaqueries-20090915, September 2009, | |||
| <http://www.w3.org/TR/2009/CR-css3-mediaqueries-20090915>. | <http://www.w3.org/TR/2009/CR-css3-mediaqueries-20090915>. | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [RFC2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., and T. | [RFC2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., and T. | |||
| Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", | Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", | |||
| RFC 2068, DOI 10.17487/RFC2068, January 1997, | RFC 2068, DOI 10.17487/RFC2068, January 1997, | |||
| <http://www.rfc-editor.org/info/rfc2068>. | <http://www.rfc-editor.org/info/rfc2068>. | |||
| [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | |||
| Transfer Protocol -- HTTP/1.1", RFC 2616, | Transfer Protocol -- HTTP/1.1", RFC 2616, DOI 10.17487/ | |||
| DOI 10.17487/RFC2616, June 1999, | RFC2616, June 1999, | |||
| <http://www.rfc-editor.org/info/rfc2616>. | <http://www.rfc-editor.org/info/rfc2616>. | |||
| [RFC2817] Khare, R. and S. Lawrence, "Upgrading to TLS Within | [RFC2817] Khare, R. and S. Lawrence, "Upgrading to TLS Within | |||
| HTTP/1.1", RFC 2817, DOI 10.17487/RFC2817, May 2000, | HTTP/1.1", RFC 2817, DOI 10.17487/RFC2817, May 2000, | |||
| <http://www.rfc-editor.org/info/rfc2817>. | <http://www.rfc-editor.org/info/rfc2817>. | |||
| [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, | [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, DOI 10.17487/ | |||
| DOI 10.17487/RFC2818, May 2000, | RFC2818, May 2000, | |||
| <http://www.rfc-editor.org/info/rfc2818>. | <http://www.rfc-editor.org/info/rfc2818>. | |||
| [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom | [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom | |||
| Syndication Format", RFC 4287, DOI 10.17487/RFC4287, | Syndication Format", RFC 4287, DOI 10.17487/RFC4287, | |||
| December 2005, <http://www.rfc-editor.org/info/rfc4287>. | December 2005, <http://www.rfc-editor.org/info/rfc4287>. | |||
| [W3C.REC-html-rdfa-20150317] | [W3C.REC-html-rdfa-20150317] | |||
| Sporny, M., "HTML+RDFa 1.1 - Second Edition", World Wide | Sporny, M., "HTML+RDFa 1.1 - Second Edition", World Wide | |||
| Web Consortium Recommendation REC-html-rdfa-20150317, | Web Consortium Recommendation REC-html-rdfa-20150317, | |||
| March 2015, | March 2015, | |||
| End of changes. 41 change blocks. | ||||
| 91 lines changed or deleted | 114 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||