idnits 2.17.1 draft-ietf-httpbis-rfc5987bis-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document obsoletes RFC5987, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 2, 2015) is 3128 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) ** Obsolete normative reference: RFC 7230 (Obsoleted by RFC 9110, RFC 9112) ** Obsolete normative reference: RFC 7231 (Obsoleted by RFC 9110) -- Possible downref: Non-RFC (?) normative reference: ref. 'USASCII' -- Duplicate reference: RFC2978, mentioned in 'Err1912', was also mentioned in 'RFC2978'. -- Obsolete informational reference (is this intentional?): RFC 2388 (Obsoleted by RFC 7578) -- Obsolete informational reference (is this intentional?): RFC 5987 (Obsoleted by RFC 8187) -- Obsolete informational reference (is this intentional?): RFC 5988 (Obsoleted by RFC 8288) Summary: 3 errors (**), 0 flaws (~~), 1 warning (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 HTTP Working Group J. Reschke 3 Internet-Draft greenbytes 4 Obsoletes: 5987 (if approved) October 2, 2015 5 Intended status: Standards Track 6 Expires: April 4, 2016 8 Indicating Character Encoding and Language for HTTP Header Field 9 Parameters 10 draft-ietf-httpbis-rfc5987bis-00 12 Abstract 14 By default, message header field parameters in Hypertext Transfer 15 Protocol (HTTP) messages cannot carry characters outside the ISO- 16 8859-1 character set. RFC 2231 defines an encoding mechanism for use 17 in Multipurpose Internet Mail Extensions (MIME) headers. This 18 document specifies an encoding suitable for use in HTTP header fields 19 that is compatible with a profile of the encoding defined in RFC 20 2231. 22 Editorial Note (To be removed by RFC Editor before publication) 24 Discussion of this draft takes place on the HTTPBIS working group 25 mailing list (ietf-http-wg@w3.org), which is archived at 26 . 28 Working Group information can be found at 29 and ; 30 source code and issues list for this draft can be found at 31 . 33 The changes in this draft are summarized in Appendix C. 35 Status of This Memo 37 This Internet-Draft is submitted in full conformance with the 38 provisions of BCP 78 and BCP 79. 40 Internet-Drafts are working documents of the Internet Engineering 41 Task Force (IETF). Note that other groups may also distribute 42 working documents as Internet-Drafts. The list of current Internet- 43 Drafts is at http://datatracker.ietf.org/drafts/current/. 45 Internet-Drafts are draft documents valid for a maximum of six months 46 and may be updated, replaced, or obsoleted by other documents at any 47 time. It is inappropriate to use Internet-Drafts as reference 48 material or to cite them other than as "work in progress." 49 This Internet-Draft will expire on April 4, 2016. 51 Copyright Notice 53 Copyright (c) 2015 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 4 70 3. Comparison to RFC 2231 and Definition of the Encoding . . . . 4 71 3.1. Parameter Continuations . . . . . . . . . . . . . . . . . 5 72 3.2. Parameter Value Character Encoding and Language 73 Information . . . . . . . . . . . . . . . . . . . . . . . 5 74 3.2.1. Definition . . . . . . . . . . . . . . . . . . . . . . 5 75 3.2.2. Historical Notes . . . . . . . . . . . . . . . . . . . 7 76 3.2.3. Examples . . . . . . . . . . . . . . . . . . . . . . . 8 77 3.3. Language Specification in Encoded Words . . . . . . . . . 8 78 4. Guidelines for Usage in HTTP Header Field Definitions . . . . 9 79 4.1. When to Use the Extension . . . . . . . . . . . . . . . . 9 80 4.2. Error Handling . . . . . . . . . . . . . . . . . . . . . . 9 81 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 82 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 83 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 84 7.1. Normative References . . . . . . . . . . . . . . . . . . . 10 85 7.2. Informative References . . . . . . . . . . . . . . . . . . 12 86 Appendix A. Changes from RFC 5987 . . . . . . . . . . . . . . . . 13 87 Appendix B. Implementation Report . . . . . . . . . . . . . . . . 13 88 Appendix C. Change Log (to be removed by RFC Editor before 89 publication) . . . . . . . . . . . . . . . . . . . . 14 90 C.1. Since RFC5987 . . . . . . . . . . . . . . . . . . . . . . 14 91 C.2. Since draft-reschke-rfc5987bis-00 . . . . . . . . . . . . 14 92 C.3. Since draft-reschke-rfc5987bis-01 . . . . . . . . . . . . 14 93 C.4. Since draft-reschke-rfc5987bis-02 . . . . . . . . . . . . 14 94 C.5. Since draft-reschke-rfc5987bis-03 . . . . . . . . . . . . 14 95 C.6. Since draft-reschke-rfc5987bis-04 . . . . . . . . . . . . 14 96 C.7. Since draft-reschke-rfc5987bis-05 . . . . . . . . . . . . 14 97 C.8. Since draft-reschke-rfc5987bis-06 . . . . . . . . . . . . 14 98 Appendix D. Acknowledgements . . . . . . . . . . . . . . . . . . 14 100 1. Introduction 102 By default, message header field parameters in HTTP ([RFC2616]) 103 messages cannot carry characters outside the ISO-8859-1 coded 104 character set ([ISO-8859-1]). RFC 2231 ([RFC2231]) defines an 105 encoding mechanism for use in MIME headers. This document specifies 106 an encoding suitable for use in HTTP header fields that is compatible 107 with a profile of the encoding defined in RFC 2231. 109 This document obsoletes [RFC5987] and moves it to "historic" status; 110 the changes are summarized in Appendix A. 112 Note: in the remainder of this document, RFC 2231 is only 113 referenced for the purpose of explaining the choice of features 114 that were adopted; they are therefore purely informative. 116 Note: this encoding does not apply to message payloads transmitted 117 over HTTP, such as when using the media type "multipart/form-data" 118 ([RFC2388]). 120 2. Notational Conventions 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 124 document are to be interpreted as described in [RFC2119]. 126 This specification uses the ABNF (Augmented Backus-Naur Form) 127 notation defined in [RFC5234]. The following core rules are included 128 by reference, as defined in [RFC5234], Appendix B.1: ALPHA (letters), 129 DIGIT (decimal 0-9), HEXDIG (hexadecimal 0-9/A-F/a-f), and LWSP 130 (linear whitespace). 132 This specification uses terminology defined in [RFC6365], namely: 133 "character encoding scheme" (below abbreviated to "character 134 encoding"), "charset" and "coded character set". 136 Note that this differs from RFC 2231, which uses the term "character 137 set" for "character encoding scheme". 139 3. Comparison to RFC 2231 and Definition of the Encoding 141 RFC 2231 defines several extensions to MIME. The sections below 142 discuss if and how they apply to HTTP header fields. 144 In short: 146 o Parameter Continuations aren't needed (Section 3.1), 147 o Character Encoding and Language Information are useful, therefore 148 a simple subset is specified (Section 3.2), and 150 o Language Specifications in Encoded Words aren't needed 151 (Section 3.3). 153 3.1. Parameter Continuations 155 Section 3 of [RFC2231] defines a mechanism that deals with the length 156 limitations that apply to MIME headers. These limitations do not 157 apply to HTTP ([RFC7231], Appendix A.6). 159 Thus, parameter continuations are not part of the encoding defined by 160 this specification. 162 3.2. Parameter Value Character Encoding and Language Information 164 Section 4 of [RFC2231] specifies how to embed language information 165 into parameter values, and also how to encode non-ASCII characters, 166 dealing with restrictions both in MIME and HTTP header field 167 parameters. 169 However, RFC 2231 does not specify a mandatory-to-implement character 170 encoding, making it hard for senders to decide which encoding to use. 171 Thus, recipients implementing this specification MUST support the 172 "UTF-8" character encoding [RFC3629]. 174 Furthermore, RFC 2231 allows the character encoding information to be 175 left out. The encoding defined by this specification does not allow 176 that. 178 3.2.1. Definition 180 The syntax for parameters is defined in Section 3.6 of [RFC2616] 181 (with RFC 2616 implied LWS translated to RFC 5234 LWSP): 183 parameter = attribute LWSP "=" LWSP value 185 attribute = token 186 value = token / quoted-string 188 quoted-string = 189 token = 191 In order to include character encoding and language information, this 192 specification modifies the RFC 2616 grammar to be: 194 parameter = reg-parameter / ext-parameter 196 reg-parameter = parmname LWSP "=" LWSP value 198 ext-parameter = parmname "*" LWSP "=" LWSP ext-value 200 parmname = 1*attr-char 202 ext-value = charset "'" [ language ] "'" value-chars 203 ; like RFC 2231's 204 ; (see [RFC2231], Section 7) 206 charset = "UTF-8" / mime-charset 208 mime-charset = 1*mime-charsetc 209 mime-charsetc = ALPHA / DIGIT 210 / "!" / "#" / "$" / "%" / "&" 211 / "+" / "-" / "^" / "_" / "`" 212 / "{" / "}" / "~" 213 ; as in Section 2.3 of [RFC2978] 214 ; except that the single quote is not included 215 ; SHOULD be registered in the IANA charset registry 217 language = 219 value-chars = *( pct-encoded / attr-char ) 221 pct-encoded = "%" HEXDIG HEXDIG 222 ; see [RFC3986], Section 2.1 224 attr-char = ALPHA / DIGIT 225 / "!" / "#" / "$" / "&" / "+" / "-" / "." 226 / "^" / "_" / "`" / "|" / "~" 227 ; token except ( "*" / "'" / "%" ) 229 Thus, a parameter is either a regular parameter (reg-parameter), as 230 previously defined in Section 3.6 of [RFC2616], or an extended 231 parameter (ext-parameter). 233 Extended parameters are those where the left-hand side of the 234 assignment ends with an asterisk character. 236 The value part of an extended parameter (ext-value) is a token that 237 consists of three parts: the REQUIRED character encoding name 238 (charset), the OPTIONAL language information (language), and a 239 character sequence representing the actual value (value-chars), 240 separated by single quote characters. Note that both character 241 encoding names and language tags are restricted to the US-ASCII coded 242 character set, and are matched case-insensitively (see [RFC2978], 243 Section 2.3 and [RFC5646], Section 2.1.1). 245 Inside the value part, characters not contained in attr-char are 246 encoded into an octet sequence using the specified character 247 encoding. That octet sequence is then percent-encoded as specified 248 in Section 2.1 of [RFC3986]. 250 Producers MUST use the "UTF-8" ([RFC3629]) character encoding. 251 Extension character encodings (mime-charset) are reserved for future 252 use. 254 Note: recipients should be prepared to handle encoding errors, 255 such as malformed or incomplete percent escape sequences, or non- 256 decodable octet sequences, in a robust manner. This specification 257 does not mandate any specific behavior, for instance, the 258 following strategies are all acceptable: 260 * ignoring the parameter, 262 * stripping a non-decodable octet sequence, 264 * substituting a non-decodable octet sequence by a replacement 265 character, such as the Unicode character U+FFFD (Replacement 266 Character). 268 3.2.2. Historical Notes 270 The RFC 7230 token production ([RFC7230], Section 3.2.6) differs from 271 the production used in RFC 2231 (imported from Section 5.1 of 272 [RFC2045]) in that curly braces ("{" and "}") are excluded. Thus, 273 these two characters are excluded from the attr-char production as 274 well. 276 The ABNF defined here differs from the one in Section 277 2.3 of [RFC2978] in that it does not allow the single quote character 278 (see also RFC Errata ID 1912 [Err1912]). In practice, no character 279 encoding names using that character have been registered at the time 280 of this writing. 282 For backwards compatibility with RFC 2231, the encoding defined by 283 this specification deviates from common parameter syntax in that the 284 quoted-string notation is not allowed. Implementations using generic 285 parser components might not be able to detect the use of quoted- 286 string notation and thus might accept that format, although invalid, 287 as well. 289 [RFC5987] did require support for ISO-8859-1, too; for compatibility 290 with legacy code, recipients are encouraged to support this encoding 291 as well. 293 3.2.3. Examples 295 Non-extended notation, using "token": 297 foo: bar; title=Economy 299 Non-extended notation, using "quoted-string": 301 foo: bar; title="US-$ rates" 303 Extended notation, using the Unicode character U+00A3 (POUND SIGN): 305 foo: bar; title*=utf-8'en'%C2%A3%20rates 307 Note: the Unicode pound sign character U+00A3 was encoded into the 308 octet sequence C2 A3 using the UTF-8 character encoding, then 309 percent-encoded. Also, note that the space character was encoded as 310 %20, as it is not contained in attr-char. 312 Extended notation, using the Unicode characters U+00A3 (POUND SIGN) 313 and U+20AC (EURO SIGN): 315 foo: bar; title*=UTF-8''%c2%a3%20and%20%e2%82%ac%20rates 317 Note: the Unicode pound sign character U+00A3 was encoded into the 318 octet sequence C2 A3 using the UTF-8 character encoding, then 319 percent-encoded. Likewise, the Unicode euro sign character U+20AC 320 was encoded into the octet sequence E2 82 AC, then percent-encoded. 321 Also note that HEXDIG allows both lowercase and uppercase characters, 322 so recipients must understand both, and that the language information 323 is optional, while the character encoding is not. 325 3.3. Language Specification in Encoded Words 327 Section 5 of [RFC2231] extends the encoding defined in [RFC2047] to 328 also support language specification in encoded words. RFC 2616, the 329 now-obsolete HTTP/1.1 specification, did refer to RFC 2047 330 ([RFC2616], Section 2.2). However, it wasn't clear to which header 331 field it applied. Consequently, the current revision of the HTTP/1.1 332 specification has deprecated use of the encoding forms defined in RFC 333 2047 (see Section 3.2.4 of [RFC7230]). 335 Thus, this specification does not include this feature. 337 4. Guidelines for Usage in HTTP Header Field Definitions 339 Specifications of HTTP header fields that use the extensions defined 340 in Section 3.2 ought to clearly state that. A simple way to achieve 341 this is to normatively reference this specification, and to include 342 the ext-value production into the ABNF for that header field. 344 For instance: 346 foo-header = "foo" LWSP ":" LWSP token ";" LWSP title-param 347 title-param = "title" LWSP "=" LWSP value 348 / "title*" LWSP "=" LWSP ext-value 349 ext-value = 351 Note: The Parameter Value Continuation feature defined in Section 352 3 of [RFC2231] makes it impossible to have multiple instances of 353 extended parameters with identical parmname components, as the 354 processing of continuations would become ambiguous. Thus, 355 specifications using this extension are advised to disallow this 356 case for compatibility with RFC 2231. 358 Note: This specification does not automatically assign a new 359 interpretration to parameter names ending in an asterisk. As 360 pointed out above, it's up to the specification for the non- 361 extended parameter to "opt in" to the syntax defined here. That 362 being said, some existing implementations are known to 363 automatically switch to the use of this notation when a parameter 364 name ends with an asterisk, thus using parameter names ending in 365 an asterisk for something else is likely to cause interoperability 366 problems. 368 4.1. When to Use the Extension 370 Section 4.2 of [RFC2277] requires that protocol elements containing 371 human-readable text are able to carry language information. Thus, 372 the ext-value production ought to be always used when the parameter 373 value is of textual nature and its language is known. 375 Furthermore, the extension ought to also be used whenever the 376 parameter value needs to carry characters not present in the US-ASCII 377 ([USASCII]) coded character set (note that it would be unacceptable 378 to define a new parameter that would be restricted to a subset of the 379 Unicode character set). 381 4.2. Error Handling 383 Header field specifications need to define whether multiple instances 384 of parameters with identical parmname components are allowed, and how 385 they should be processed. This specification suggests that a 386 parameter using the extended syntax takes precedence. This would 387 allow producers to use both formats without breaking recipients that 388 do not understand the extended syntax yet. 390 Example: 392 foo: bar; title="EURO exchange rates"; 393 title*=utf-8''%e2%82%ac%20exchange%20rates 395 In this case, the sender provides an ASCII version of the title for 396 legacy recipients, but also includes an internationalized version for 397 recipients understanding this specification -- the latter obviously 398 ought to prefer the new syntax over the old one. 400 Note: at the time of this writing, many implementations failed to 401 ignore the form they do not understand, or prioritize the ASCII 402 form although the extended syntax was present. 404 5. Security Considerations 406 The format described in this document makes it possible to transport 407 non-ASCII characters, and thus enables character "spoofing" 408 scenarios, in which a displayed value appears to be something other 409 than it is. 411 Furthermore, there are known attack scenarios relating to decoding 412 UTF-8. 414 See Section 10 of [RFC3629] for more information on both topics. 416 In addition, the extension specified in this document makes it 417 possible to transport multiple language variants for a single 418 parameter, and such use might allow spoofing attacks, where different 419 language versions of the same parameter are not equivalent. Whether 420 this attack is useful as an attack depends on the parameter 421 specified. 423 6. IANA Considerations 425 There are no IANA Considerations related to this specification. 427 7. References 429 7.1. Normative References 431 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 432 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 433 RFC2119, March 1997, 434 . 436 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 437 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 438 Transfer Protocol -- HTTP/1.1", RFC 2616, DOI 10.17487/ 439 RFC2616, June 1999, 440 . 442 [RFC2978] Freed, N. and J. Postel, "IANA Charset Registration 443 Procedures", BCP 19, RFC 2978, DOI 10.17487/RFC2978, 444 October 2000, . 446 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 447 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, 448 November 2003, 449 . 451 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, 452 "Uniform Resource Identifier (URI): Generic Syntax", 453 STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, 454 . 456 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for 457 Syntax Specifications: ABNF", STD 68, RFC 5234, 458 DOI 10.17487/RFC5234, January 2008, 459 . 461 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for 462 Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/ 463 RFC5646, September 2009, 464 . 466 [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext 467 Transfer Protocol (HTTP/1.1): Message Syntax and 468 Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, 469 . 471 [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext 472 Transfer Protocol (HTTP/1.1): Semantics and Content", 473 RFC 7231, DOI 10.17487/RFC7231, June 2014, 474 . 476 [USASCII] American National Standards Institute, "Coded Character 477 Set -- 7-bit American Standard Code for Information 478 Interchange", ANSI X3.4, 1986. 480 7.2. Informative References 482 [Err1912] RFC Errata, "Errata ID 1912, RFC 2978", 483 . 485 [ISO-8859-1] International Organization for Standardization, 486 "Information technology -- 8-bit single-byte coded 487 graphic character sets -- Part 1: Latin alphabet No. 488 1", ISO/IEC 8859-1:1998, 1998. 490 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet 491 Mail Extensions (MIME) Part One: Format of Internet 492 Message Bodies", RFC 2045, DOI 10.17487/RFC2045, 493 November 1996, 494 . 496 [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail 497 Extensions) Part Three: Message Header Extensions for 498 Non-ASCII Text", RFC 2047, DOI 10.17487/RFC2047, 499 November 1996, 500 . 502 [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and 503 Encoded Word Extensions: Character Sets, Languages, and 504 Continuations", RFC 2231, DOI 10.17487/RFC2231, 505 November 1997, 506 . 508 [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and 509 Languages", BCP 18, RFC 2277, DOI 10.17487/RFC2277, 510 January 1998, . 512 [RFC2388] Masinter, L., "Returning Values from Forms: multipart/ 513 form-data", RFC 2388, DOI 10.17487/RFC2388, 514 August 1998, . 516 [RFC5987] Reschke, J., "Character Set and Language Encoding for 517 Hypertext Transfer Protocol (HTTP) Header Field 518 Parameters", RFC 5987, DOI 10.17487/RFC5987, 519 August 2010, . 521 [RFC5988] Nottingham, M., "Web Linking", RFC 5988, DOI 10.17487/ 522 RFC5988, October 2010, 523 . 525 [RFC6266] Reschke, J., "Use of the Content-Disposition Header 526 Field in the Hypertext Transfer Protocol (HTTP)", 527 RFC 6266, DOI 10.17487/RFC6266, June 2011, 528 . 530 [RFC6365] Hoffman, P. and J. Klensin, "Terminology Used in 531 Internationalization in the IETF", BCP 166, RFC 6365, 532 DOI 10.17487/RFC6365, September 2011, 533 . 535 Appendix A. Changes from RFC 5987 537 This section summarizes the changes compared to [RFC5987]: 539 o The document title was changed to "Indicating Character Encoding 540 and Language for HTTP Header Field Parameters". 542 o The requirement to support the "ISO-8859-1" encoding was removed. 544 Appendix B. Implementation Report 546 The encoding defined in this document currently is used for two 547 different HTTP header fields: 549 o "Content-Disposition", defined in [RFC6266], and 551 o "Link", defined in [RFC5988]. 553 As the encoding is a profile/clarification of the one defined in 554 [RFC2231] in 1997, many user agents already supported it for use in 555 "Content-Disposition" when [RFC5987] got published. 557 Since the publication of [RFC5987], three more popular desktop user 558 agents have added support for this encoding; see for details. 560 At this time, the current versions of all major desktop user agents 561 support it. 563 Note that the implementation in Internet Explorer 9 does not support 564 the ISO-8859-1 character encoding; this document revision 565 acknowledges that UTF-8 is sufficient for expressing all code points, 566 and removes the requirement to support ISO-8859-1. 568 The "Link" header field, on the other hand, was only recently 569 specified in [RFC5988]. At the time of this writing, no shipping 570 User Agent except Firefox supported the "title*" parameter (starting 571 with release 15). 573 Appendix C. Change Log (to be removed by RFC Editor before publication) 575 C.1. Since RFC5987 577 Only editorial changes for the purpose of starting the revision 578 process (obs5987). 580 C.2. Since draft-reschke-rfc5987bis-00 582 Resolved issues "iso-8859-1" and "title" (title simplified). Added 583 and resolved issue "historic5987". 585 C.3. Since draft-reschke-rfc5987bis-01 587 Added issues "httpbis", "parmsyntax", "terminology" and 588 "valuesyntax". Closed issue "impls". 590 C.4. Since draft-reschke-rfc5987bis-02 592 Resolved issue "terminology". 594 C.5. Since draft-reschke-rfc5987bis-03 596 In Section 3.2, pull historical notes into a separate subsection. 597 Resolved issues "valuesyntax" and "parmsyntax". 599 C.6. Since draft-reschke-rfc5987bis-04 601 Update status of Firefox support in HTTP Link Header field. 603 C.7. Since draft-reschke-rfc5987bis-05 605 Update status of Firefox support in HTTP Link Header field. 607 C.8. Since draft-reschke-rfc5987bis-06 609 Update status with respect to Safari 6. 611 Started work on update with respect to RFC 723x. 613 Appendix D. Acknowledgements 615 Thanks to Martin Duerst and Frank Ellermann for help figuring out 616 ABNF details, to Graham Klyne and Alexey Melnikov for general review, 617 to Chris Newman for pointing out an RFC 2231 incompatibility, and to 618 Benjamin Carlyle, Roar Lauritzsen, Eric Lawrence, and James Manger 619 for implementer's feedback. 621 Author's Address 623 Julian F. Reschke 624 greenbytes GmbH 625 Hafenweg 16 626 Muenster, NW 48155 627 Germany 629 EMail: julian.reschke@greenbytes.de 630 URI: http://greenbytes.de/tech/webdav/