< draft-ietf-dispatch-javascript-mjs-03.txt   draft-ietf-dispatch-javascript-mjs-04.txt >
DISPATCH M. Borins DISPATCH M. Borins
Internet-Draft M. Bynens Internet-Draft M. Bynens
Updates: 4329 (if approved) Google Updates: 4329 (if approved) Google
Intended status: Informational M. Miller Intended status: Informational M. Miller
Expires: August 26, 2019 Mozilla Expires: December 21, 2019 Mozilla
B. Farias B. Farias
February 22, 2019 June 19, 2019
ECMAScript Media Types Updates ECMAScript Media Types Updates
draft-ietf-dispatch-javascript-mjs-03 draft-ietf-dispatch-javascript-mjs-04
Abstract Abstract
This document proposes updates to the ECMAScript media types, This document proposes updates to the ECMAScript media types,
superseding the existing registrations for "application/javascript" superseding the existing registrations for "application/javascript"
and "text/javascript" by adding an additional extension and removing and "text/javascript" by adding an additional extension and removing
usage warnings. This document updates RFC4329, "Scripting Media usage warnings. This document updates RFC4329, "Scripting Media
Types". Types".
Note to Readers
The issues list for this draft can be found at
https://github.com/bmeck/I-D/labels/javascript-mjs [1].
The most recent (often, unpublished) draft is at
https://github.com/bmeck/I-D/tree/master/javascript-mjs [2].
Recent changes are listed at https://github.com/bmeck/I-
D/commits/master/javascript-mjs [3].
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 August 26, 2019. This Internet-Draft will expire on December 21, 2019.
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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3
3.1. Common Javascript Media Types . . . . . . . . . . . . . . 3 3.1. Common Javascript Media Types . . . . . . . . . . . . . . 3
3.1.1. text/javascript . . . . . . . . . . . . . . . . . . . 3 3.1.1. text/javascript . . . . . . . . . . . . . . . . . . . 3
3.2. Historic Javascript Media Types . . . . . . . . . . . . . 4 3.2. Historic Javascript Media Types . . . . . . . . . . . . . 4
3.2.1. application/ecmascript . . . . . . . . . . . . . . . 5 3.2.1. application/ecmascript . . . . . . . . . . . . . . . 4
3.2.2. application/javascript . . . . . . . . . . . . . . . 6 3.2.2. application/javascript . . . . . . . . . . . . . . . 5
3.2.3. application/x-ecmascript . . . . . . . . . . . . . . 7 3.2.3. application/x-ecmascript . . . . . . . . . . . . . . 6
3.2.4. application/x-javascript . . . . . . . . . . . . . . 8 3.2.4. application/x-javascript . . . . . . . . . . . . . . 7
3.2.5. text/ecmascript . . . . . . . . . . . . . . . . . . . 9 3.2.5. text/ecmascript . . . . . . . . . . . . . . . . . . . 8
3.2.6. text/javascript1.0 . . . . . . . . . . . . . . . . . 10 3.2.6. text/javascript1.0 . . . . . . . . . . . . . . . . . 9
3.2.7. text/javascript1.1 . . . . . . . . . . . . . . . . . 11 3.2.7. text/javascript1.1 . . . . . . . . . . . . . . . . . 10
3.2.8. text/javascript1.2 . . . . . . . . . . . . . . . . . 12 3.2.8. text/javascript1.2 . . . . . . . . . . . . . . . . . 11
3.2.9. text/javascript1.3 . . . . . . . . . . . . . . . . . 13 3.2.9. text/javascript1.3 . . . . . . . . . . . . . . . . . 12
3.2.10. text/javascript1.4 . . . . . . . . . . . . . . . . . 14 3.2.10. text/javascript1.4 . . . . . . . . . . . . . . . . . 13
3.2.11. text/javascript1.5 . . . . . . . . . . . . . . . . . 15 3.2.11. text/javascript1.5 . . . . . . . . . . . . . . . . . 14
3.2.12. text/jscript . . . . . . . . . . . . . . . . . . . . 16 3.2.12. text/jscript . . . . . . . . . . . . . . . . . . . . 15
3.2.13. text/livescript . . . . . . . . . . . . . . . . . . . 17 3.2.13. text/livescript . . . . . . . . . . . . . . . . . . . 16
3.2.14. text/x-ecmascript . . . . . . . . . . . . . . . . . . 18 3.2.14. text/x-ecmascript . . . . . . . . . . . . . . . . . . 17
3.2.15. text/x-javascript . . . . . . . . . . . . . . . . . . 19 3.2.15. text/x-javascript . . . . . . . . . . . . . . . . . . 18
4. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1. Normative References . . . . . . . . . . . . . . . . . . 20 4.1. Normative References . . . . . . . . . . . . . . . . . . 19
4.2. Informative References . . . . . . . . . . . . . . . . . 20 4.2. Informative References . . . . . . . . . . . . . . . . . 19
4.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 19
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
This document updates the existing media types for the ECMAScript This document updates the existing media types for the ECMAScript
programming language. It supersedes the media types registrations in programming language. It supersedes the media types registrations in
[RFC4329] for "application/javascript" and "text/javascript". [RFC4329] for "application/javascript" and "text/javascript".
2. Background 2. Background
In order to formalize support for modular programs [ECMA-262] now In order to formalize support for modular programs [ECMA-262] now
skipping to change at page 4, line 4 skipping to change at page 3, line 37
3.1. Common Javascript Media Types 3.1. Common Javascript Media Types
3.1.1. text/javascript 3.1.1. text/javascript
Type name: text Type name: text
Subtype name: javascript Subtype name: javascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of Optional parameters: charset, see section 4.1 of [RFC4329].
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: The file extension .mjs must be parsed using Restrictions on usage: The .mjs file extension signals that the file
the Module grammar of [ECMA-262] represents a JavaScript module. Execution environments that rely
on file extensions to determine how to process inputs parse .mjs
files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2. Historic Javascript Media Types 3.2. Historic Javascript Media Types
The following media types are added or updated for historical The following media types are added or updated for historical
purposes. All herein have an intended usage of OBSOLETE, and are not purposes. All herein have an intended usage of OBSOLETE, and are not
expected to be in use with modern implementations. expected to be in use with modern implementations.
skipping to change at page 5, line 15 skipping to change at page 4, line 43
3.2.1. application/ecmascript 3.2.1. application/ecmascript
Type name: application Type name: application
Subtype name: ecmascript Subtype name: ecmascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 5, line 48 skipping to change at page 5, line 21
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.2. application/javascript 3.2.2. application/javascript
Type name: application Type name: application
Subtype name: javascript Subtype name: javascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 6, line 50 skipping to change at page 6, line 21
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org>. Change controller: IESG <iesg@ietf.org>.
3.2.3. application/x-ecmascript 3.2.3. application/x-ecmascript
Type name: application Type name: application
Subtype name: x-ecmascript Subtype name: x-ecmascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 7, line 52 skipping to change at page 7, line 21
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.4. application/x-javascript 3.2.4. application/x-javascript
Type name: application Type name: application
Subtype name: x-javascript Subtype name: x-javascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 9, line 4 skipping to change at page 8, line 19
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.5. text/ecmascript 3.2.5. text/ecmascript
Type name: text Type name: text
Subtype name: ecmascript Subtype name: ecmascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 10, line 8 skipping to change at page 9, line 21
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.6. text/javascript1.0 3.2.6. text/javascript1.0
Type name: text Type name: text
Subtype name: javascript1.0 Subtype name: javascript1.0
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 11, line 11 skipping to change at page 10, line 21
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.7. text/javascript1.1 3.2.7. text/javascript1.1
Type name: text Type name: text
Subtype name: javascript1.1 Subtype name: javascript1.1
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.8. text/javascript1.2 3.2.8. text/javascript1.2
Type name: text Type name: text
Subtype name: javascript1.2 Subtype name: javascript1.2
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
skipping to change at page 13, line 14 skipping to change at page 12, line 21
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.9. text/javascript1.3 3.2.9. text/javascript1.3
Type name: text Type name: text
Subtype name: javascript1.3 Subtype name: javascript1.3
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 14, line 17 skipping to change at page 13, line 21
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.10. text/javascript1.4 3.2.10. text/javascript1.4
Type name: text Type name: text
Subtype name: javascript1.4 Subtype name: javascript1.4
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 15, line 19 skipping to change at page 14, line 21
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.11. text/javascript1.5 3.2.11. text/javascript1.5
Type name: text Type name: text
Subtype name: javascript1.5 Subtype name: javascript1.5
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: This media type is obsolete; current Restrictions on usage: This media type is obsolete; current
implementations should use text/javascript as the only javascript/ implementations should use text/javascript as the only JavaScript/
ECMAscript media type. The file extension .mjs must be parsed ECMAScript media type. The .mjs file extension signals that the
using the Module grammar of [ECMA-262] file represents a JavaScript module. Execution environments that
rely on file extensions to determine how to process inputs parse
.mjs files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.12. text/jscript 3.2.12. text/jscript
Type name: text Type name: text
Subtype name: jscript Subtype name: jscript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
skipping to change at page 17, line 23 skipping to change at page 16, line 20
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: The file extension .mjs must be parsed using Restrictions on usage: The .mjs file extension signals that the file
the Module grammar of [ECMA-262] represents a JavaScript module. Execution environments that rely
on file extensions to determine how to process inputs parse .mjs
files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.13. text/livescript 3.2.13. text/livescript
Type name: text Type name: text
Subtype name: livescript Subtype name: livescript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: The file extension .mjs must be parsed using Restrictions on usage: The .mjs file extension signals that the file
the Module grammar of [ECMA-262] represents a JavaScript module. Execution environments that rely
on file extensions to determine how to process inputs parse .mjs
files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.14. text/x-ecmascript 3.2.14. text/x-ecmascript
Type name: text Type name: text
Subtype name: x-ecmascript Subtype name: x-ecmascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .es, .mjs File extension(s): .es, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: The file extension .mjs must be parsed using Restrictions on usage: The .mjs file extension signals that the file
the Module grammar of [ECMA-262] represents a JavaScript module. Execution environments that rely
on file extensions to determine how to process inputs parse .mjs
files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
3.2.15. text/x-javascript 3.2.15. text/x-javascript
Type name: text Type name: text
Subtype name: x-javascript Subtype name: x-javascript
Required parameters: none Required parameters: none
Optional parameters: charset, see section 4.1 of [RFC4329]. Optional parameters: charset, see section 4.1 of [RFC4329].
goal, declares the goal symbol in the Syntactic Grammars of
[ECMA-262] to be used while parsing. This parameter is case
insensitive.
Encoding considerations: Encoding is host dependent with differences Encoding considerations: Encoding is host dependent with differences
in byte order marks, the charset parameter, and text in byte order marks, the charset parameter, and text
preprocessing. preprocessing.
Security considerations: See section 5 of [RFC4329]. Security considerations: See section 5 of [RFC4329].
Interoperability considerations: See notes in various sections of Interoperability considerations: See notes in various sections of
[RFC4329]. This media type does not specify the grammar of [RFC4329].
[ECMA-262] used when missing the goal parameter.
Published specification: [[RFCXXXX]] Published specification: [[RFCXXXX]]
Applications which use this media type: Script interpreters as Applications which use this media type: Script interpreters as
discussed in [RFC4329]. discussed in [RFC4329].
Additional information: Additional information:
Magic number(s): n/a Magic number(s): n/a
File extension(s): .js, .mjs File extension(s): .js, .mjs
Macintosh File Type Code(s): TEXT Macintosh File Type Code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See
Author's Address section. Author's Address section.
Intended usage: OBSOLETE Intended usage: OBSOLETE
Restrictions on usage: The file extension .mjs must be parsed using Restrictions on usage: The .mjs file extension signals that the file
the Module grammar of [ECMA-262] represents a JavaScript module. Execution environments that rely
on file extensions to determine how to process inputs parse .mjs
files using the Module grammar of [ECMA-262].
Author: See Author's Address section. Author: See Author's Address section.
Change controller: IESG <iesg@ietf.org> Change controller: IESG <iesg@ietf.org>
4. References 4. References
4.1. Normative References 4.1. Normative References
[ECMA-262] [ECMA-262]
Ecma International, "Standard ECMA-262: ECMAScript Ecma International, "Standard ECMA-262: ECMAScript
Language Specification", August 2017, <http://www.ecma- Language Specification", August 2017, <https://ecma-
international.org/publications/standards/Ecma-262.htm>. international.org/publications/standards/Ecma-262.htm>.
[RFC4329] Hoehrmann, B., "Scripting Media Types", RFC 4329, [RFC4329] Hoehrmann, B., "Scripting Media Types", RFC 4329,
DOI 10.17487/RFC4329, April 2006, DOI 10.17487/RFC4329, April 2006,
<https://www.rfc-editor.org/info/rfc4329>. <https://www.rfc-editor.org/info/rfc4329>.
4.2. Informative References 4.2. Informative References
[HTML] WHATWG, "HTML Living Standard", August 2017, [HTML] WHATWG, "HTML Living Standard", August 2017,
<https://html.spec.whatwg.org/multipage/ <https://html.spec.whatwg.org/multipage/
scripting.html#prepare-a-script>. scripting.html#prepare-a-script>.
[TC39-MIME-ISSUE] [TC39-MIME-ISSUE]
TC39, "Add `application/javascript+module` mime to remove TC39, "Add `application/javascript+module` mime to remove
ambiguity5", August 2017, <https://web.archive.org/web/201 ambiguity", August 2017, <https://web.archive.org/web/2017
70814193912/https://github.com/tc39/ecma262/issues/322>. 0814193912/https://github.com/tc39/ecma262/issues/322>.
4.3. URIs
[1] https://github.com/bmeck/I-D/labels/javascript-mjs
[2] https://github.com/bmeck/I-D/tree/master/javascript-mjs
[3] https://github.com/bmeck/I-D/commits/master/javascript-mjs
Appendix A. Acknowledgements Appendix A. Acknowledgements
Thanks to Suresh Krishnan, Alexey Melnikov, Mark Nottingham, James The authors would like to thank Suresh Krishnan, Alexey Melnikov,
Snell, Adam Roach, and Allen Wirfs-Brock for guiding me through this Mark Nottingham, James Snell, Adam Roach, and Allen Wirfs-Brock for
process. their guidance throughout this process.
Authors' Addresses Authors' Addresses
Myles Borins Myles Borins
Google Google
Email: mylesborins@google.com Email: mylesborins@google.com
Mathias Bynens Mathias Bynens
Google Google
 End of changes. 74 change blocks. 
203 lines changed or deleted 127 lines changed or added

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