draft-reschke-http-jfv-11.txt   draft-reschke-http-jfv-latest.txt 
Network Working Group J. Reschke Network Working Group J. Reschke
Internet-Draft greenbytes Internet-Draft greenbytes
Intended status: Informational November 20, 2019 Intended status: Informational December 4, 2019
Expires: May 23, 2020 Expires: June 6, 2020
A JSON Encoding for HTTP Header Field Values A JSON Encoding for HTTP Header Field Values
draft-reschke-http-jfv-11 draft-reschke-http-jfv-latest
Abstract Abstract
This document establishes a convention for use of JSON-encoded field This document establishes a convention for use of JSON-encoded field
values in HTTP header fields. values in HTTP header fields.
Editorial Note Editorial Note
This note is to be removed before publishing as an RFC. This note is to be removed before publishing as an RFC.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
the Hypertext Transfer Protocol (HTTP) mailing list at ietf-http- the Hypertext Transfer Protocol (HTTP) mailing list at ietf-http-
wg@w3.org [1], which may be joined by sending a message with subject wg@w3.org [1], which may be joined by sending a message with subject
"subscribe" to ietf-http-wg-request@w3.org [2]. "subscribe" to ietf-http-wg-request@w3.org [2].
Discussions of the HTTPbis Working Group are archived at Discussions of the HTTPbis Working Group are archived at
<http://lists.w3.org/Archives/Public/ietf-http-wg/>. <http://lists.w3.org/Archives/Public/ietf-http-wg/>.
XML versions and latest edits for this document are available from XML versions and latest edits for this document are available from
<http://greenbytes.de/tech/webdav/#draft-reschke-http-jfv>. <http://greenbytes.de/tech/webdav/#draft-reschke-http-jfv>.
The changes in this draft are summarized in Appendix E.14. The changes in this draft are summarized in Appendix E.15.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 23, 2020. This Internet-Draft will expire on June 6, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 26 skipping to change at page 2, line 26
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Data Model and Format . . . . . . . . . . . . . . . . . . . . 4 2. Data Model and Format . . . . . . . . . . . . . . . . . . . . 4
3. Sender Requirements . . . . . . . . . . . . . . . . . . . . . 5 3. Sender Requirements . . . . . . . . . . . . . . . . . . . . . 5
4. Recipient Requirements . . . . . . . . . . . . . . . . . . . 5 4. Recipient Requirements . . . . . . . . . . . . . . . . . . . 5
5. Using this Format in Header Field Definitions . . . . . . . . 5 5. Using this Format in Header Field Definitions . . . . . . . . 6
6. Deployment Considerations . . . . . . . . . . . . . . . . . . 6 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 6
7. Interoperability Considerations . . . . . . . . . . . . . . . 6 7. Interoperability Considerations . . . . . . . . . . . . . . . 6
7.1. Encoding and Characters . . . . . . . . . . . . . . . . . 6 7.1. Encoding and Characters . . . . . . . . . . . . . . . . . 6
7.2. Numbers . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.2. Numbers . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.3. Object Constraints . . . . . . . . . . . . . . . . . . . 7 7.3. Object Constraints . . . . . . . . . . . . . . . . . . . 7
8. Internationalization Considerations . . . . . . . . . . . . . 7 8. Internationalization Considerations . . . . . . . . . . . . . 7
9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 7 10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 8 10.2. Informative References . . . . . . . . . . . . . . . . . 8
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 9 10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 10 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11
A.1. Content-Length . . . . . . . . . . . . . . . . . . . . . 10 A.1. Content-Length . . . . . . . . . . . . . . . . . . . . . 11
A.2. Content-Disposition . . . . . . . . . . . . . . . . . . . 10 A.2. Content-Disposition . . . . . . . . . . . . . . . . . . . 11
A.3. WWW-Authenticate . . . . . . . . . . . . . . . . . . . . 11 A.3. WWW-Authenticate . . . . . . . . . . . . . . . . . . . . 12
A.4. Accept-Encoding . . . . . . . . . . . . . . . . . . . . . 12 A.4. Accept-Encoding . . . . . . . . . . . . . . . . . . . . . 13
Appendix B. Use of JSON Field Value Encoding in the Wild . . . . 13 Appendix B. Use of JSON Field Value Encoding in the Wild . . . . 14
B.1. W3C Reporting API Specification . . . . . . . . . . . . . 14 B.1. W3C Reporting API Specification . . . . . . . . . . . . . 15
B.2. W3C Clear Site Data Specification . . . . . . . . . . . . 14 B.2. W3C Clear Site Data Specification . . . . . . . . . . . . 15
B.3. W3C Feature Policy Specification . . . . . . . . . . . . 14 B.3. W3C Feature Policy Specification . . . . . . . . . . . . 15
Appendix C. Relation to HTTP 'Key' Header Field . . . . . . . . 14 Appendix C. Relation to HTTP 'Key' Header Field . . . . . . . . 15
Appendix D. Discussion . . . . . . . . . . . . . . . . . . . . . 14 Appendix D. Discussion . . . . . . . . . . . . . . . . . . . . . 15
Appendix E. Change Log . . . . . . . . . . . . . . . . . . . . . 15 Appendix E. Change Log . . . . . . . . . . . . . . . . . . . . . 16
E.1. Since draft-reschke-http-jfv-00 . . . . . . . . . . . . . 15 E.1. Since draft-reschke-http-jfv-00 . . . . . . . . . . . . . 16
E.2. Since draft-reschke-http-jfv-01 . . . . . . . . . . . . . 15 E.2. Since draft-reschke-http-jfv-01 . . . . . . . . . . . . . 16
E.3. Since draft-reschke-http-jfv-02 . . . . . . . . . . . . . 15 E.3. Since draft-reschke-http-jfv-02 . . . . . . . . . . . . . 16
E.4. Since draft-reschke-http-jfv-03 . . . . . . . . . . . . . 15 E.4. Since draft-reschke-http-jfv-03 . . . . . . . . . . . . . 16
E.5. Since draft-reschke-http-jfv-04 . . . . . . . . . . . . . 15 E.5. Since draft-reschke-http-jfv-04 . . . . . . . . . . . . . 16
E.6. Since draft-ietf-httpbis-jfv-00 . . . . . . . . . . . . . 15 E.6. Since draft-ietf-httpbis-jfv-00 . . . . . . . . . . . . . 16
E.7. Since draft-ietf-httpbis-jfv-01 . . . . . . . . . . . . . 15 E.7. Since draft-ietf-httpbis-jfv-01 . . . . . . . . . . . . . 16
E.8. Since draft-ietf-httpbis-jfv-02 . . . . . . . . . . . . . 16 E.8. Since draft-ietf-httpbis-jfv-02 . . . . . . . . . . . . . 17
E.9. Since draft-reschke-http-jfv-05 . . . . . . . . . . . . . 16 E.9. Since draft-reschke-http-jfv-05 . . . . . . . . . . . . . 17
E.10. Since draft-reschke-http-jfv-06 . . . . . . . . . . . . . 16 E.10. Since draft-reschke-http-jfv-06 . . . . . . . . . . . . . 17
E.11. Since draft-reschke-http-jfv-07 . . . . . . . . . . . . . 16 E.11. Since draft-reschke-http-jfv-07 . . . . . . . . . . . . . 17
E.12. Since draft-reschke-http-jfv-08 . . . . . . . . . . . . . 16 E.12. Since draft-reschke-http-jfv-08 . . . . . . . . . . . . . 17
E.13. Since draft-reschke-http-jfv-09 . . . . . . . . . . . . . 16 E.13. Since draft-reschke-http-jfv-09 . . . . . . . . . . . . . 17
E.14. Since draft-reschke-http-jfv-10 . . . . . . . . . . . . . 16 E.14. Since draft-reschke-http-jfv-10 . . . . . . . . . . . . . 17
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 17 E.15. Since draft-reschke-http-jfv-11 . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
Defining syntax for new HTTP header fields ([RFC7230], Section 3.2) Defining syntax for new HTTP header fields ([RFC7230], Section 3.2)
is non-trivial. Among the commonly encountered problems are: is non-trivial. Among the commonly encountered problems are:
o There is no common syntax for complex field values. Several well- o There is no common syntax for complex field values. Several well-
known header fields do use a similarly looking syntax, but it is known header fields do use a similarly looking syntax, but it is
hard to write generic parsing code that will both correctly handle hard to write generic parsing code that will both correctly handle
valid field values but also reject invalid ones. valid field values but also reject invalid ones.
skipping to change at page 17, line 5 skipping to change at page 18, line 5
Update HSTRUCT and FEATUREPOL references. Update HSTRUCT and FEATUREPOL references.
Update note about REPORTING. Update note about REPORTING.
Changed category to "informational". Changed category to "informational".
E.14. Since draft-reschke-http-jfv-10 E.14. Since draft-reschke-http-jfv-10
Update HSTRUCT reference. Update HSTRUCT reference.
E.15. Since draft-reschke-http-jfv-11
None yet.
Acknowledgements Acknowledgements
Thanks go to the Hypertext Transfer Protocol Working Group Thanks go to the Hypertext Transfer Protocol Working Group
participants. participants.
Author's Address Author's Address
Julian F. Reschke Julian F. Reschke
greenbytes GmbH greenbytes GmbH
Hafenweg 16 Hafenweg 16
 End of changes. 9 change blocks. 
38 lines changed or deleted 43 lines changed or added

This html diff was produced by rfcdiff 1.44jr. The latest version is available from http://tools.ietf.org/tools/rfcdiff/