rfc9239xml2.original.xml | rfc9239.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.8 --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc [ | |||
<!ENTITY RFC2045 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | <!ENTITY nbsp " "> | |||
nce.RFC.2045.xml"> | <!ENTITY zwsp "​"> | |||
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | <!ENTITY nbhy "‑"> | |||
nce.RFC.2119.xml"> | <!ENTITY wj "⁠"> | |||
<!ENTITY RFC2397 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.2397.xml"> | ||||
<!ENTITY RFC2978 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.2978.xml"> | ||||
<!ENTITY RFC3552 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3552.xml"> | ||||
<!ENTITY RFC3629 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3629.xml"> | ||||
<!ENTITY RFC4288 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.4288.xml"> | ||||
<!ENTITY RFC4329 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.4329.xml"> | ||||
<!ENTITY RFC6365 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.6365.xml"> | ||||
<!ENTITY RFC6648 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.6648.xml"> | ||||
<!ENTITY RFC6838 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.6838.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.8174.xml"> | ||||
<!ENTITY RFC3236 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3236.xml"> | ||||
<!ENTITY RFC3875 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3875.xml"> | ||||
<!ENTITY RFC3986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3986.xml"> | ||||
<!ENTITY RFC3987 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refere | ||||
nce.RFC.3987.xml"> | ||||
]> | ]> | |||
<?rfc toc="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
<?rfc tocindent="yes"?> | -ietf-dispatch-javascript-mjs-17" number="9239" submissionType="IETF" category=" | |||
<?rfc sortrefs="yes"?> | info" consensus="true" obsoletes="4329" updates="" xml:lang="en" tocInclude="tru | |||
<?rfc symrefs="yes"?> | e" sortRefs="true" symRefs="true" version="3"> | |||
<?rfc strict="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<rfc ipr="trust200902" docName="draft-ietf-dispatch-javascript-mjs-17" category= | ||||
"info" obsoletes="4329"> | ||||
<!-- xml2rfc v2v3 conversion 3.12.2 --> | ||||
<front> | <front> | |||
<title>ECMAScript Media Types Updates</title> | <title>Updates to ECMAScript Media Types</title> | |||
<seriesInfo name="RFC" value="9239"/> | ||||
<author initials="M." surname="Miller" fullname="Matthew A. Miller"> | <author initials="M." surname="Miller" fullname="Matthew A. Miller"> | |||
<organization></organization> | <organization/> | |||
<address> | <address> | |||
<email>linuxwolf+ietf@outer-planes.net</email> | <email>linuxwolf+ietf@outer-planes.net</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="M." surname="Borins" fullname="Myles Borins"> | <author initials="M." surname="Borins" fullname="Myles Borins"> | |||
<organization>GitHub</organization> | <organization>GitHub</organization> | |||
<address> | <address> | |||
<email>mylesborins@github.com</email> | <email>mylesborins@github.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="M." surname="Bynens" fullname="Mathias Bynens"> | <author initials="M." surname="Bynens" fullname="Mathias Bynens"> | |||
<organization>Google</organization> | <organization>Google</organization> | |||
<address> | <address> | |||
<email>mths@google.com</email> | <email>mths@google.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="B." surname="Farias" fullname="Bradley Farias"> | <author initials="B." surname="Farias" fullname="Bradley Farias"> | |||
<organization></organization> | <organization/> | |||
<address> | <address> | |||
<email>bradley.meck@gmail.com</email> | <email>bradley.meck@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2022" month="May"/> | ||||
<date year="2022" month="March" day="02"/> | ||||
<area>ART</area> | <area>ART</area> | |||
<workgroup>DISPATCH</workgroup> | <workgroup>DISPATCH</workgroup> | |||
<keyword>Internet-Draft</keyword> | ||||
<abstract> | <keyword>JavaScript</keyword> | |||
<keyword>ECMAScript</keyword> | ||||
<t>This document describes the registration of media types for the ECMAScript an | <keyword>MIME type</keyword> | |||
d JavaScript programming languages and conformance requirements for implementati | <keyword>Content-Type</keyword> | |||
ons of these types. This document obsoletes RFC4329, "Scripting Media Types", re | <keyword>modules</keyword> | |||
placing the previous registrations for "text/javascript" and "application/javasc | <keyword>TC39</keyword> | |||
ript" with information and requirements aligned with common usage and implementa | <keyword>ESM</keyword> | |||
tion experiences.</t> | ||||
<abstract> | ||||
<t>This document describes the registration of media types for the ECMAScr | ||||
ipt and JavaScript programming languages and conformance requirements for implem | ||||
entations of these types. This document obsoletes RFC 4329 ("Scripting Media Typ | ||||
es)", replacing the previous registrations with information and requirements ali | ||||
gned with common usage and implementation experiences.</t> | ||||
</abstract> | </abstract> | |||
<note title="IESG Note"> | ||||
<t>This document records the relationship between the work of Ecma | ||||
International's Technical Committee 39 and the media types used to | ||||
identify relevant payloads.</t> | ||||
<t>That relationship was developed outside of the IETF and as a result is | ||||
unfortunately not aligned with the best practices of BCP 13. | ||||
Consequently, consensus exists in the IETF to document the relationship | ||||
and update the relevant IANA registrations for those media types, but | ||||
this is not an IETF endorsement of the media types chosen for this work.</t> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction" numbered="true" toc="default"> | ||||
<section anchor="introduction"><name>Introduction</name> | <name>Introduction</name> | |||
<t>This memo describes media types for the JavaScript and ECMAScript progr | ||||
<t>This memo describes media types for the JavaScript and ECMAScript programming | amming languages. Refer to the sections "Introduction" and "Overview" in <xref | |||
languages. Refer to the sections "Introduction" and "Overview" in <xref target | target="ECMA-262" format="default"/> for background information on these languag | |||
="ECMA-262"/> for background information on these languages. This document upda | es. This document updates the descriptions and registrations for these media ty | |||
tes the descriptions and registrations for these media types to reflect existing | pes to reflect existing usage on the Internet, and it provides up-to-date securi | |||
usage on the Internet, and provides up-to-date security considerations.</t> | ty considerations.</t> | |||
<t>This document replaces the media type registrations in <xref target="RF | ||||
<t>This document replaces the media types registrations in <xref target="RFC4329 | C4329" format="default"/> and updates the requirements for implementations using | |||
"/>, and updates the requirements for implementations using those media types de | those media types defined in <xref target="RFC4329" format="default"/> based on | |||
fined in <xref target="RFC4329"/> based on current existing practices. As a cons | current existing practices. As a consequence, this document obsoletes <xref tar | |||
equence, this document obsoletes <xref target="RFC4329"/>.</t> | get="RFC4329" format="default"/>.</t> | |||
<section anchor="terminology" numbered="true" toc="default"> | ||||
<section anchor="terminology"><name>Terminology</name> | <name>Terminology</name> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | |||
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this d | "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | |||
ocument are to be interpreted as described in BCP 14 <xref target="RFC2119"/> | "<bcp14>SHOULD NOT</bcp14>", | |||
<xref target="RFC8174"/> when, and only when, they appear in all capitals, as sh | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
own here.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document | |||
are to be interpreted as described in BCP 14 | ||||
</section> | <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | |||
</section> | when, they appear in all capitals, as shown here.</t> | |||
<section anchor="compatibility"><name>Compatibility</name> | </section> | |||
</section> | ||||
<t>This document defines equivalent processing requirements for the types text/j | <section anchor="compatibility" numbered="true" toc="default"> | |||
avascript, text/ecmascript, and application/javascript. The most widely support | <name>Compatibility</name> | |||
ed media type in use is text/javascript; all others are considered historical an | <t>This document defines equivalent processing requirements for the | |||
d obsolete aliases of text/javascript.</t> | various script media types. The most widely supported media type in use is text | |||
/javascript; all others are considered historical and obsolete aliases of text/j | ||||
<t>The types defined in this document are applicable to scripts written in <xref | avascript.</t> | |||
target="ECMA-262"/>. New editions of <xref target="ECMA-262"/> are subjected to | <t>The types defined in this document are applicable to scripts written in | |||
strong obligations of backward compatibility, imposed by the standardization pr | <xref target="ECMA-262" format="default"/>. New editions of <xref target="ECMA- | |||
ocess of Ecma International's Technical Committee 39 (TC39). As a result, JavaSc | 262" format="default"/> are subjected to strong obligations of backward compatib | |||
ript code based on an earlier edition is generally compatible with a JavaScript | ility, imposed by the standardization process of Ecma International's Technical | |||
engine adhering to a later edition. The few exceptions to this are documented in | Committee 39 (TC39). As a result, JavaScript code based on an earlier edition is | |||
<xref target="ECMA-262"/> in the section "Additions and Changes That Introduce | generally compatible with a JavaScript engine adhering to a later edition. The | |||
Incompatibilities with Prior Editions". JavaScript developers commonly use featu | few exceptions to this are documented in <xref target="ECMA-262" format="default | |||
re detection to ensure modern JavaScript features are only used when available i | "/> in the section "Additions and Changes That Introduce Incompatibilities with | |||
n the current environment. Later editions of <xref target="ECMA-262"/> are not d | Prior Editions". JavaScript developers commonly use feature detection to ensure | |||
irectly addressed in this document, although it is expected that implementations | that modern JavaScript features are only used when available in the current envi | |||
will behave as if applicability were extended to them. This document does not a | ronment. Later editions of <xref target="ECMA-262" format="default"/> are not di | |||
ddress other extensions to <xref target="ECMA-262"/> or scripts written in other | rectly addressed in this document, although it is expected that implementations | |||
languages.</t> | will behave as if applicability were extended to them. This document does not ad | |||
dress other extensions to <xref target="ECMA-262" format="default"/> or scripts | ||||
<t>This document may be updated to take other content into account. Updates of | written in other languages.</t> | |||
this document may introduce new optional parameters; implementations must consid | <t>This document may be updated to take other content into account. Updat | |||
er the impact of such an update.</t> | es of this document may introduce new optional parameters; implementations must | |||
consider the impact of such an update.</t> | ||||
<t>This document does not define how fragment identifiers in resource identifier | <t>This document does not define how fragment identifiers in resource iden | |||
s (<xref target="RFC3986"/>, <xref target="RFC3987"/>) for documents labeled wit | tifiers <xref target="RFC3986" format="default"/> <xref target="RFC3987" format= | |||
h one of the media types defined in this document are resolved. An update of th | "default"/> for documents labeled with one of the media types defined in this do | |||
is document may define processing of fragment identifiers.</t> | cument are resolved. An update of this document may define processing of fragme | |||
nt identifiers.</t> | ||||
<t>Note that this use of the "text" media type tree willfully does not align wit | <t>Note that this use of the "text" media type tree willfully does not ali | |||
h its original intent per <xref target="RFC2045"/>. The reason for this is histo | gn with its original intent per <xref target="RFC2045" format="default"/>. The r | |||
rical. <xref target="RFC4329"/> registered both the text/* and application/* typ | eason for this is historical. <xref target="RFC4329" format="default"/> register | |||
es, marking the text/* ones obsolete. This was done to encourage people toward a | ed both the text/* and application/* types, marking the text/* types obsolete. T | |||
pplication/*, matching the guidance in <xref target="RFC4288"/>, the predecessor | his was done to encourage people toward application/*, matching the guidance in | |||
to <xref target="RFC6838"/>. Since then, however, the industry widely adopted t | <xref target="RFC4288" format="default"/>, the predecessor to <xref target="RFC6 | |||
ext/* anyway. The definitions in this document reflect the current state of impl | 838" format="default"/>. Since then, however, the industry widely adopted text/* | |||
ementation across the JavaScript ecosystem, in web browsers and other environmen | anyway. The definitions in this document reflect the current state of implement | |||
ts such as Node.js alike, in order to guarantee backwards compatibility with exi | ation across the JavaScript ecosystem, in web browsers and other environments su | |||
sting applications as much as possible. Future registrations should not view thi | ch as Node.js alike, in order to guarantee backward compatibility with existing | |||
s as a repeatable precedent.</t> | applications as much as possible. Future registrations should not view this as a | |||
repeatable precedent.</t> | ||||
</section> | </section> | |||
<section anchor="modules"><name>Modules</name> | <section anchor="modules" numbered="true" toc="default"> | |||
<name>Modules</name> | ||||
<t>In order to formalize support for modular programs, <xref target="ECMA-262"/> | <t>In order to formalize support for modular programs, <xref target="ECMA- | |||
(starting with 6th Edition) defines two top-level goal symbols (or roots to the | 262" format="default"/> (starting with the 6th Edition) defines two top-level go | |||
abstract syntax tree) for the ECMAScript grammar: Module and Script. The Scrip | al symbols (or roots to the abstract syntax tree) for the ECMAScript grammar: Mo | |||
t goal represents the original structure where the code executes in the global s | dule and Script. The Script goal represents the original structure where the co | |||
cope, while the Module goal represents the module system built into ECMAScript s | de executes in the global scope, while the Module goal represents the module sys | |||
tarting with 6th Edition. See the section "ECMAScript Language: Scripts and Mod | tem built into ECMAScript starting with the 6th Edition. See the section "ECMAS | |||
ules" of <xref target="ECMA-262"/> for details.</t> | cript Language: Scripts and Modules" in <xref target="ECMA-262" format="default" | |||
/> for details.</t> | ||||
<t>This separation means that (in the absence of additional information) there a | <t>This separation means that (in the absence of additional information) t | |||
re two possible interpretations for any given ECMAScript source text.</t> | here are two possible interpretations for any given ECMAScript source text.</t> | |||
<t>Ecma International's Technical Committee 39 (TC39), the standards body | ||||
<t>Ecma International's Technical Committee 39 (TC39), the standards body in cha | in charge of ECMAScript, has determined that media types are outside of their sc | |||
rge of ECMAScript, has determined that media types are outside of their scope of | ope of work <xref target="TC39-MIME-ISSUE" format="default"/>.</t> | |||
work <xref target="TC39-MIME-ISSUE"/>.</t> | <t>It is not possible to fully determine if a source text of ECMAScript is | |||
meant to be parsed using the Module or Script grammar goals based upon content | ||||
<t>It is not possible to fully determine if a source text of ECMAScript is meant | or media type alone. Therefore, as permitted by the media types in this document | |||
to be parsed using the Module or Script grammar goals based upon content or med | , scripting environments use out-of-band information in order to determine what | |||
ia type alone. Therefore, as permitted by the media types in this document, scri | goal should be used. Some scripting environments have chosen to adopt the file e | |||
pting environments use out-of-band information in order to determine what goal s | xtension of .mjs for this purpose.</t> | |||
hould be used. Some scripting environments have chosen to adopt the file extensi | </section> | |||
on of .mjs for this purpose.</t> | <section anchor="encoding" numbered="true" toc="default"> | |||
<name>Encoding</name> | ||||
</section> | <t>Refer to <xref target="RFC6365" format="default"/> for a discussion of | |||
<section anchor="encoding"><name>Encoding</name> | terminology used in this section. Source text (as defined in the section "Sourc | |||
e Text" in <xref target="ECMA-262" format="default"/>) can be binary source text | ||||
<t>Refer to <xref target="RFC6365"/> for a discussion of terminology used in thi | . Binary source text is a textual data object that represents source text encod | |||
s section. Source text (as defined in <xref target="ECMA-262"/>, section "Sourc | ed using a character encoding scheme. A textual data object is a whole text pro | |||
e Text") can be binary source text. Binary source text is a textual data object | tocol message or a whole text document, or a part of it, that is treated separat | |||
that represents source text encoded using a character encoding scheme. A textu | ely for purposes of external storage and retrieval. An implementation's interna | |||
al data object is a whole text protocol message or a whole text document, or a p | l representation of source text is not considered binary source text.</t> | |||
art of it, that is treated separately for purposes of external storage and retri | <t>Implementations need to determine a character encoding scheme in order | |||
eval. An implementation's internal representation of source text is not conside | to decode binary source text to source text. The media types defined in this do | |||
red binary source text.</t> | cument allow an optional charset parameter to explicitly specify the character e | |||
ncoding scheme used to encode the source text.</t> | ||||
<t>Implementations need to determine a character encoding scheme in order to dec | <t>In order to ensure interoperability and align with widespread implement | |||
ode binary source text to source text. The media types defined in this document | ation practices, the charset parameter is optional rather than required, despite | |||
allow an optional charset parameter to explicitly specify the character encodin | the recommendation in <xref target="RFC6838" format="default">BCP 13</xref> for | |||
g scheme used to encode the source text.</t> | text/* types.</t> | |||
<t>How implementations determine the character encoding scheme can be subj | ||||
<t>In order to ensure interoperability and align with widespread implementation | ect to processing rules that are out of the scope of this document. For example | |||
practices, the charset parameter is optional rather than required, despite the r | , transport protocols can require that a specific character encoding scheme is t | |||
ecommendation in BCP 13 <xref target="RFC6838"/> for text/* types.</t> | o be assumed if the optional charset parameter is not specified, or they can req | |||
uire that the charset parameter is used in certain cases. Such requirements are | ||||
<t>How implementations determine the character encoding scheme can be subject to | not defined by this document.</t> | |||
processing rules that are out of the scope of this document. For example, tran | <t>Implementations that support binary source text <bcp14>MUST</bcp14> sup | |||
sport protocols can require that a specific character encoding scheme is to be a | port binary source text encoded using the UTF-8 <xref target="RFC3629" format="d | |||
ssumed if the optional charset parameter is not specified, or they can require t | efault"/> character encoding scheme. Module goal sources <bcp14>MUST</bcp14> be | |||
hat the charset parameter is used in certain cases. Such requirements are not d | encoded as UTF-8; all other encodings will fail. Source goal sources <bcp14>SH | |||
efined by this document.</t> | OULD</bcp14> be encoded as UTF-8; other character encoding schemes <bcp14>MAY</b | |||
cp14> be supported but are discouraged. Whether U+FEFF is processed as a Byte O | ||||
<t>Implementations that support binary source text MUST support binary source te | rder Mark (BOM) signature or not depends on the host environment and is not defi | |||
xt encoded using the UTF-8 <xref target="RFC3629"/> character encoding scheme. | ned by this document.</t> | |||
Module goal sources MUST be encoded as UTF-8; all other encodings will fail. So | <section anchor="charset-parameter" numbered="true" toc="default"> | |||
urce goal sources SHOULD be encoded as UTF-8; other character encoding schemes M | <name>Charset Parameter</name> | |||
AY be supported, but are discouraged. Whether U+FEFF is processed as a Byte Ord | <t>The charset parameter provides a means to specify the character encod | |||
er Mark (BOM) signature or not depends on the host environment, and is not defin | ing scheme of binary source text. If present, the value of the charset paramete | |||
ed by this document.</t> | r <bcp14>MUST</bcp14> be a registered charset <xref target="CHARSETS" format="de | |||
fault"/> and is considered valid if it matches the mime-charset production defin | ||||
<section anchor="charset-parameter"><name>Charset Parameter</name> | ed in <xref target="RFC2978" sectionFormat="of" section="2.3"/>.</t> | |||
<t>The charset parameter is only used when processing a Script goal sour | ||||
<t>The charset parameter provides a means to specify the character encoding sche | ce; Module goal sources <bcp14>MUST</bcp14> always be processed as UTF-8.</t> | |||
me of binary source text. If present, the value of the charset parameter MUST b | </section> | |||
e a registered charset <xref target="CHARSETS"/>, and is considered valid if it | <section anchor="character-encoding-scheme-detection" numbered="true" toc= | |||
matches the mime-charset production defined in <xref target="RFC2978"/>, section | "default"> | |||
2.3.</t> | <name>Character Encoding Scheme Detection</name> | |||
<t>It is possible that implementations cannot interoperably determine a | ||||
<t>The charset parameter is only used when processing a Script goal source; Modu | single character encoding scheme simply by complying with all requirements of th | |||
le goal sources MUST always be processed as UTF-8.</t> | e applicable specifications. To foster interoperability in such cases, the foll | |||
owing algorithm is defined. Implementations apply this algorithm until a single | ||||
</section> | character encoding scheme is determined.</t> | |||
<section anchor="character-encoding-scheme-detection"><name>Character Encoding S | <ol spacing="normal" type="1"><li> | |||
cheme Detection</name> | <t>If the binary source text is not already determined to be using a | |||
Module goal and starts with a Unicode encoding form signature, the signature de | ||||
<t>It is possible that implementations cannot interoperably determine a single c | termines the encoding. The following octet sequences, at the very beginning of | |||
haracter encoding scheme simply by complying with all requirements of the applic | the binary source text, are considered with their corresponding character encodi | |||
able specifications. To foster interoperability in such cases, the following al | ng schemes: </t> | |||
gorithm is defined. Implementations apply this algorithm until a single charact | <table align="left" anchor="tab"> | |||
er encoding scheme is determined.</t> | <name></name> | |||
<thead> | ||||
<t><list style="numbers"> | <tr> | |||
<t>If the binary source text is not already determined to be using a Module go | <th>Leading sequence</th> | |||
al and starts with a Unicode encoding form signature, the signature determines t | <th>Encoding</th> | |||
he encoding. The following octet sequences, at the very beginning of the binary | </tr> | |||
source text, are considered with their corresponding character encoding schemes | </thead> | |||
: <vspace blankLines='1'/> | <tbody> | |||
<figure><artwork><![CDATA[ | <tr> | |||
+------------------+----------+ | <td>EF BB BF</td> | |||
| Leading sequence | Encoding | | <td>UTF-8</td> | |||
|------------------+----------| | </tr> | |||
| EF BB BF | UTF-8 | | <tr> | |||
| FF FE | UTF-16LE | | <td>FF FE</td> | |||
| FE FF | UTF-16BE | | <td>UTF-16LE</td> | |||
+------------------+----------+ | </tr> | |||
]]></artwork></figure> | <tr> | |||
<vspace blankLines='1'/> | <td>FE FF</td> | |||
Implementations of this step MUST use these octet sequences to determine the cha | <td>UTF-16BE</td> | |||
racter encoding scheme, even if the determined scheme is not supported. If this | </tr> | |||
step determines the character encoding scheme, the octet sequence representing | </tbody> | |||
the Unicode encoding form signature MUST be ignored when decoding the binary sou | </table> | |||
rce text.</t> | <t> | |||
<t>Else, if a charset parameter is specified and its value is valid and suppor | Implementations of this step <bcp14>MUST</bcp14> use these octet sequences to de | |||
ted by the implementation, the value determines the character encoding scheme.</ | termine the character encoding scheme, even if the determined scheme is not supp | |||
t> | orted. If this step determines the character encoding scheme, the octet sequenc | |||
<t>Else, the character encoding scheme is assumed to be UTF-8.</t> | e representing the Unicode encoding form signature <bcp14>MUST</bcp14> be ignore | |||
</list></t> | d when decoding the binary source text.</t> | |||
</li> | ||||
<t>If the character encoding scheme is determined to be UTF-8 through any means | <li>Else, if a charset parameter is specified and its value is valid a | |||
other than step 1 as defined above and the binary source text starts with the oc | nd supported by the implementation, the value determines the character encoding | |||
tet sequence EF BB BF, the octet sequence is ignored when decoding the binary so | scheme.</li> | |||
urce text.</t> | <li>Else, the character encoding scheme is assumed to be UTF-8.</li> | |||
</ol> | ||||
</section> | <t>If the character encoding scheme is determined to be UTF-8 through an | |||
<section anchor="character-encoding-scheme-error-handling"><name>Character Encod | y means other than step 1 as defined above and the binary source text starts wit | |||
ing Scheme Error Handling</name> | h the octet sequence EF BB BF, the octet sequence is ignored when decoding the b | |||
inary source text.</t> | ||||
<t>Binary source text that is not properly encoded for the determined character | </section> | |||
encoding can pose a security risk, as discussed in section 5. That said, becaus | <section anchor="character-encoding-scheme-error-handling" numbered="true" | |||
e of the varied and complex environments scripts are executed in, most of the er | toc="default"> | |||
ror handling specifics are left to the processors. The following are broad guid | <name>Character Encoding Scheme Error Handling</name> | |||
elines that processors follow.</t> | <t>Binary source text that is not properly encoded for the determined ch | |||
aracter encoding can pose a security risk, as discussed in <xref target="securit | ||||
<t>If binary source text is determined to have been encoded using a certain char | y-considerations"/>. That said, because of the varied and complex environments | |||
acter encoding scheme that the implementation is unable to process, implementati | scripts are executed in, most of the error handling specifics are left to the pr | |||
ons can consider the resource unsupported (i.e., do not decode the binary source | ocessors. The following are broad guidelines that processors follow.</t> | |||
text using a different character encoding scheme).</t> | <t>If binary source text is determined to have been encoded using a cert | |||
ain character encoding scheme that the implementation is unable to process, impl | ||||
<t>Binary source text can be determined to have been encoded using a certain cha | ementations can consider the resource unsupported (i.e., do not decode the binar | |||
racter encoding scheme but contain octet sequences that are not valid according | y source text using a different character encoding scheme).</t> | |||
to that scheme. Implementations can substitute those invalid sequences with the | <t>Binary source text can be determined to have been encoded using a cer | |||
replacement character U+FFFD (properly encoded for the scheme), or stop process | tain character encoding scheme but contain octet sequences that are not valid ac | |||
ing altogether.</t> | cording to that scheme. Implementations can substitute those invalid sequences | |||
with the replacement character U+FFFD (properly encoded for the scheme) or stop | ||||
</section> | processing altogether.</t> | |||
</section> | </section> | |||
<section anchor="security-considerations"><name>Security Considerations</name> | </section> | |||
<section anchor="security-considerations" numbered="true" toc="default"> | ||||
<t>Refer to <xref target="RFC3552"/> for a discussion of terminology used in thi | <name>Security Considerations</name> | |||
s section. Examples in this section and discussions of interactions of host env | <t>Refer to <xref target="RFC3552" format="default"/> for a discussion of | |||
ironments with scripts, modules, and extensions to <xref target="ECMA-262"/> are | terminology used in this section. Examples in this section and discussions of i | |||
to be understood as non-exhaustive and of a purely illustrative nature.</t> | nteractions of host environments with scripts, modules, and extensions to <xref | |||
target="ECMA-262" format="default"/> are to be understood as non-exhaustive and | ||||
<t>The programming language defined in <xref target="ECMA-262"/> is not intended | of a purely illustrative nature.</t> | |||
to be computationally self-sufficient, rather, it is expected that the computat | <t>The programming language defined in <xref target="ECMA-262" format="def | |||
ional environment provides facilities to programs to enable specific functionali | ault"/> is not intended to be computationally self-sufficient; rather, it is exp | |||
ty. Such facilities constitute unknown factors and are thus not defined by this | ected that the computational environment provides facilities to programs to enab | |||
document.</t> | le specific functionality. Such facilities constitute unknown factors and are t | |||
hus not defined by this document.</t> | ||||
<t>Derived programming languages are permitted to include additional functionali | <t>Derived programming languages are permitted to include additional funct | |||
ty that is not described in <xref target="ECMA-262"/>; such functionality consti | ionality that is not described in <xref target="ECMA-262" format="default"/>; su | |||
tutes an unknown factor and is thus not defined by this document. In particular | ch functionality constitutes an unknown factor and is thus not defined by this d | |||
, extensions to <xref target="ECMA-262"/> defined for the JavaScript programming | ocument. In particular, extensions to <xref target="ECMA-262" format="default"/ | |||
language are not discussed in this document.</t> | > defined for the JavaScript programming language are not discussed in this docu | |||
ment.</t> | ||||
<t>Uncontrolled execution of scripts can be exceedingly dangerous. Implementatio | <t>Uncontrolled execution of scripts can be exceedingly dangerous. Impleme | |||
ns that execute scripts MUST give consideration to their application's threat mo | ntations that execute scripts <bcp14>MUST</bcp14> give consideration to their ap | |||
dels and those of the individual features they implement; in particular, they MU | plication's threat models and those of the individual features they implement; i | |||
ST ensure that untrusted content is not executed in an unprotected environment.< | n particular, they <bcp14>MUST</bcp14> ensure that untrusted content is not exec | |||
/t> | uted in an unprotected environment.</t> | |||
<t>Module scripts in ECMAScript can request the fetching and processing of | ||||
<t>Module scripts in ECMAScript can request the fetching and processing of addit | additional scripts; this is called "importing". Implementations that support mo | |||
ional scripts, called importing. Implementations that support modules need to pr | dules need to process imported sources in the same way as scripts. See the secti | |||
ocess imported sources in the same way as scripts. See the section "ECMAScript L | on "ECMAScript Language: Scripts and Modules" in <xref target="ECMA-262" format= | |||
anguage: Scripts and Modules" in <xref target="ECMA-262"/> for details. Further, | "default"/> for details. Further, there may be additional privacy and security c | |||
there may be additional privacy and security concerns depending on the location | oncerns, depending on the location(s) the original script and its imported modul | |||
(s) the original script and its imported modules are obtained from. For instance | es are obtained from. For instance, a script obtained from "host-a.example" coul | |||
, a script obtained from "host-a.example" could request to import a script from | d request to import a script from "host-b.example", which could expose informati | |||
"host-b.example", which could expose information about the executing environment | on about the executing environment (e.g., IP address) to "host-b.example".</t> | |||
(e.g., IP address) to "host-b.example".</t> | <t>Specifications for host environment facilities and for derived programm | |||
ing languages should include security considerations. If an implementation supp | ||||
<t>Specifications for host environment facilities and for derived programming la | orts such facilities, the respective security considerations apply. In particul | |||
nguages should include security considerations. If an implementation supports s | ar, if scripts can be referenced from or included in specific document formats, | |||
uch facilities, the respective security considerations apply. In particular, if | the considerations for the embedding or referencing document format apply.</t> | |||
scripts can be referenced from or included in specific document formats, the co | <t>For example, scripts embedded in application/xhtml+xml <xref target="RF | |||
nsiderations for the embedding or referencing document format apply.</t> | C3236" format="default"/> documents could be enabled through the host environmen | |||
t to manipulate the document instance, which could cause the retrieval of remote | ||||
<t>For example, scripts embedded in application/xhtml+xml <xref target="RFC3236" | resources; security considerations regarding retrieval of remote resources of t | |||
/> documents could be enabled through the host environment to manipulate the doc | he embedding document would apply in this case.</t> | |||
ument instance, which could cause the retrieval of remote resources; security co | <t>This circumstance can further be used to make information that is norma | |||
nsiderations regarding retrieval of remote resources of the embedding document w | lly only available to the script also available to a web server by encoding the | |||
ould apply in this case.</t> | information in the resource identifier of the resource, which can further enable | |||
eavesdropping attacks. Implementation of such facilities is subject to the sec | ||||
<t>This circumstance can further be used to make information, that is normally o | urity considerations of the host environment, as discussed above.</t> | |||
nly available to the script, available to a web server by encoding the informati | <t>The programming language defined in <xref target="ECMA-262" format="def | |||
on in the resource identifier of the resource, which can further enable eavesdro | ault"/> does include facilities to loop, cause computationally complex operation | |||
pping attacks. Implementation of such facilities is subject to the security con | s, or consume large amounts of memory; this includes, but is not limited to, fac | |||
siderations of the host environment, as discussed above.</t> | ilities that allow dynamically generated source text to be executed (e.g., the e | |||
val() function); uncontrolled execution of such features can cause denial of ser | ||||
<t>The programming language defined in <xref target="ECMA-262"/> does include fa | vice, which implementations <bcp14>MUST</bcp14> protect against.</t> | |||
cilities to loop, cause computationally complex operations, or consume large amo | <t>With the addition of SharedArrayBuffer objects in ECMAScript version 8, | |||
unts of memory; this includes, but is not limited to, facilities that allow dyna | it could be possible to implement a high-resolution timer, which could lead to | |||
mically generated source text to be executed (e.g., the eval() function); uncont | certain types of timing and side-channel attacks (e.g., <xref target="SPECTRE" f | |||
rolled execution of such features can cause denial of service, which implementat | ormat="default"/>). Implementations can take steps to mitigate this concern, su | |||
ions MUST protect against.</t> | ch as disabling or removing support for SharedArrayBuffer objects, or can take a | |||
dditional steps to ensure that this shared memory is only accessible between exe | ||||
<t>With the addition of SharedArrayBuffer objects in ECMAScript version 8, it co | cution contexts that have some form of mutual trust.</t> | |||
uld be possible to implement a high-resolution timer which could lead to certain | <t>A host environment can provide facilities to access external input. Scr | |||
types of timing and side-channel attacks (e.g., <xref target="SPECTRE"/>). Imp | ipts that pass such input to the eval() function or similar language features ca | |||
lementations can take steps to mitigate this concern, such as disabling or remov | n be vulnerable to code injection attacks. Scripts are expected to protect again | |||
ing support for SharedArrayBuffer objects, or take additional steps to ensure ac | st such attacks.</t> | |||
cess to this shared memory is only accessible between execution contexts that ha | <t>A host environment can provide facilities to output computed results in | |||
ve some form of mutual trust.</t> | a user-visible manner. For example, host environments supporting a graphical u | |||
ser interface can provide facilities that enable scripts to present certain mess | ||||
<t>A host environment can provide facilities to access external input. Scripts t | ages to the user. Implementations <bcp14>MUST</bcp14> take steps to avoid confu | |||
hat pass such input to the eval() function or similar language features can be v | sion of the origin of such messages. In general, the security considerations fo | |||
ulnerable to code injection attacks. Scripts are expected to protect against suc | r the host environment apply in such a case as discussed above.</t> | |||
h attacks.</t> | <t>Implementations are required to support the UTF-8 character encoding sc | |||
heme; the security considerations of <xref target="RFC3629" format="default"/> a | ||||
<t>A host environment can provide facilities to output computed results in a use | pply. Additional character encoding schemes may be supported; support for such | |||
r-visible manner. For example, host environments supporting a graphical user in | schemes is subject to the security considerations of those schemes.</t> | |||
terface can provide facilities that enable scripts to present certain messages t | <t>Source text is expected to be in Unicode Normalization Form C. Scripts | |||
o the user. Implementations MUST take steps to avoid confusion of the origin of | and implementations <bcp14>MUST</bcp14> consider security implications of unnorm | |||
such messages. In general, the security considerations for the host environmen | alized source text and data. For a detailed discussion of such implications, re | |||
t apply in such a case as discussed above.</t> | fer to the security considerations in <xref target="RFC3629" format="default"/>. | |||
</t> | ||||
<t>Implementations are required to support the UTF-8 character encoding scheme; | <t>Scripts can be executed in an environment that is vulnerable to code in | |||
the security considerations of <xref target="RFC3629"/> apply. Additional chara | jection attacks. For example, a Common Gateway Interface (CGI) script <xref tar | |||
cter encoding schemes may be supported; support for such schemes is subject to t | get="RFC3875" format="default"/> echoing user input could allow the inclusion of | |||
he security considerations of those schemes.</t> | untrusted scripts that could be executed in an otherwise trusted environment. | |||
This threat scenario is subject to security considerations that are out of the s | ||||
<t>Source text is expected to be in Unicode Normalization Form C. Scripts and im | cope of this document.</t> | |||
plementations MUST consider security implications of unnormalized source text an | <t>The "data" resource identifier scheme <xref target="RFC2397" format="de | |||
d data. For a detailed discussion of such implications refer to the security co | fault"/>, in combination with the types defined in this document, could be used | |||
nsiderations in <xref target="RFC3629"/>.</t> | to cause execution of untrusted scripts through the inclusion of untrusted resou | |||
rce identifiers in otherwise trusted content. Security considerations of <xref | ||||
<t>Scripts can be executed in an environment that is vulnerable to code injectio | target="RFC2397" format="default"/> apply.</t> | |||
n attacks. For example, a CGI script <xref target="RFC3875"/> echoing user inpu | <t>Implementations can fail to implement a specific security model or othe | |||
t could allow the inclusion of untrusted scripts that could be executed in an ot | r means to prevent possibly dangerous operations. Such failure could possibly b | |||
herwise trusted environment. This threat scenario is subject to security consid | e exploited to gain unauthorized access to a system or sensitive information; su | |||
erations that are out of the scope of this document.</t> | ch failure constitutes an unknown factor and is thus not defined by this documen | |||
t.</t> | ||||
<t>The "data" resource identifier scheme <xref target="RFC2397"/>, in combinatio | </section> | |||
n with the types defined in this document, could be used to cause execution of u | <section anchor="iana-considerations" numbered="true" toc="default"> | |||
ntrusted scripts through the inclusion of untrusted resource identifiers in othe | <name>IANA Considerations</name> | |||
rwise trusted content. Security considerations of <xref target="RFC2397"/> appl | <t>The media type registrations herein are divided into two major categori | |||
y.</t> | es: (1) the sole media type "text/javascript", which is now in common usage | |||
and (2) all of the media types that are obsolete (i.e., "application/ecmas | ||||
<t>Implementations can fail to implement a specific security model or other mean | cript", "application/javascript", "application/x-ecmascript", "application/x-jav | |||
s to prevent possibly dangerous operations. Such failure could possibly be expl | ascript", "text/ecmascript", "text/javascript1.0", "text/javascript1.1", "text/j | |||
oited to gain unauthorized access to a system or sensitive information; such fai | avascript1.2", "text/javascript1.3", "text/javascript1.4", "text/javascript1.5", | |||
lure constitutes an unknown factor and is thus not defined by this document.</t> | "text/jscript", "text/livescript", and "text/x-ecmascript").</t> | |||
<t>For both categories, the "Published specification" entry for the media | ||||
</section> | types is updated to reference <xref target="ECMA-262" format="default"/>. In add | |||
<section anchor="iana-considerations"><name>IANA Considerations</name> | ition, a new file extension of .mjs has been added to the list of file extension | |||
s with the restriction that contents should be parsed using the Module goal. Fin | ||||
<t>The media type registrations herein are divided into two major categories: th | ally, the <xref target="HTML" format="default"/> specification uses "text/javasc | |||
e sole media type "text/javascript" which is now in common usage, and all of the | ript" as the default media type of ECMAScript when preparing script tags; theref | |||
media types that are obsolete.</t> | ore, "text/javascript" intended usage has been moved from OBSOLETE to COMMON.</t | |||
> | ||||
<t>For both categories, the media types are updated to reference <xref target="E | <t>These changes have been reflected in the IANA "Media Types" registry in | |||
CMA-262"/>. In addition, a new file extension of .mjs is added to the list of fi | accordance with <xref target="RFC6838" format="default"/>. All registrations wi | |||
le extensions with the restriction that contents should be parsed using the Modu | ll point to this document as the reference. The outdated note stating that the " | |||
le goal. Finally, the <xref target="HTML"/> specification uses "text/javascript" | text/javascript" media type has been "OBSOLETED in favor of application/javascri | |||
as the default media type of ECMAScript when preparing script tags; therefore, | pt" has been removed. The outdated note stating that the "text/ecmascript" media | |||
"text/javascript" intended usage is to be moved from OBSOLETE to COMMON.</t> | type has been "OBSOLETED in favor of application/ecmascript" has been removed. | |||
IANA has added the note "OBSOLETED in favor of text/javascript" to all registrat | ||||
<t>These changes are to be reflected in the IANA Media Types registry in accorda | ions except "text/javascript"; that is, this note has been added to the "text/ec | |||
nce with <xref target="RFC6838"/>. All registrations will point to this document | mascript", "application/javascript", and "application/ecmascript" registrations. | |||
as reference. The outdated note stating that the "text/javascript" media type h | </t> | |||
as been "OBSOLETED in favor of application/javascript" is to be removed. The out | <t>Four of the legacy media types in this document have a subtype starting | |||
dated note stating that the "text/ecmascript" media type has been "OBSOLETED in | with the "x-" prefix:</t> | |||
favor of application/ecmascript" is to be removed. IANA is requested to add the | <ul spacing="normal"> | |||
note "OBSOLETED in favor of text/javascript" to all registrations except "text/j | <li>application/x-ecmascript</li> | |||
avascript".</t> | <li>application/x-javascript</li> | |||
<li>text/x-ecmascript</li> | ||||
<t>Four of the legacy media types in this document have a subtype starting with | <li>text/x-javascript</li> | |||
the "x-" prefix:</t> | </ul> | |||
<t>Note that these are grandfathered media types registered as per <xref t | ||||
<t><list style="symbols"> | arget="RFC6838" sectionFormat="of" section="A"/>. These registrations predate <x | |||
<t>application/x-ecmascript</t> | ref target="RFC6648" format="default">BCP 178</xref>, which they violate, and ar | |||
<t>application/x-javascript</t> | e only included in this document for backward compatibility.</t> | |||
<t>text/x-ecmascript</t> | <section anchor="common-javascript-media-types" numbered="true" toc="defau | |||
<t>text/x-javascript</t> | lt"> | |||
</list></t> | <name>Common JavaScript Media Types</name> | |||
<section anchor="textjavascript" numbered="true" toc="default"> | ||||
<t>Note that these are grandfathered media types registered as per Appendix A of | <name>text/javascript</name> | |||
<xref target="RFC6838"/>. These registrations predate BCP 178 <xref target="RFC | <dl newline="false" spacing ="normal"> | |||
6648"/>, which they violate, and are only included in this document for backward | <dt> | |||
s compatibility.</t> | ||||
<section anchor="common-javascript-media-types"><name>Common JavaScript Media Ty | ||||
pes</name> | ||||
<section anchor="textjavascript"><name>text/javascript</name> | ||||
<dl> | ||||
<dt> | ||||
Type name: </dt> | Type name: </dt> | |||
<dd> | <dd> | |||
<t>text</t> | text | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Subtype name: </dt> | Subtype name: </dt> | |||
<dd> | <dd> | |||
<t>javascript</t> | javascript | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Required parameters: </dt> | Required parameters: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | N/A | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Optional parameters: </dt> | Optional parameters: </dt> | |||
<dd> | <dd> | |||
<t>charset, see section 4.1 of [this document].</t> | charset. See <xref target="charset-parameter"/> of RFC 9239. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Encoding considerations: </dt> | Encoding considerations: </dt> | |||
<dd> | <dd> | |||
<t>Binary</t> | Binary | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Security considerations: </dt> | Security considerations: </dt> | |||
<dd> | <dd> | |||
<t>See section 5 of [this document].</t> | See <xref target="security-considerations"/> of RFC 9239. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Interoperability considerations: </dt> | Interoperability considerations: </dt> | |||
<dd> | <dd> | |||
<t>It is expected that implementations will behave as if this registration a | It is expected that implementations will behave as if this registr | |||
pplies to later editions of <xref target="ECMA-262"/>, and its published specifi | ation applies to later editions of <xref target="ECMA-262" format="default"/>, a | |||
cation references may be updated accordingly from time to time. Although this ex | nd its published specification references may be updated accordingly from time t | |||
pectation is unusual among media type registrations, it matches widespread indus | o time. Although this expectation is unusual among media type registrations, it | |||
try conventions. See section 2 of [this document].</t> | matches widespread industry conventions. See <xref target="compatibility"/> of R | |||
</dd> | FC 9239. | |||
<dt> | </dd> | |||
<dt> | ||||
Published specification: </dt> | Published specification: </dt> | |||
<dd> | <dd> | |||
<t><xref target="ECMA-262"/></t> | <xref target="ECMA-262" format="default"/> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Applications which use this media type: </dt> | Applications that use this media type: </dt> | |||
<dd> | <dd> | |||
<t>Script interpreters as discussed in [this document].</t> | Script interpreters as discussed in RFC 9239. | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
<dl newline="true" spacing="normal"> | ||||
<t>Additional information:</t> | <dt>Additional information:</dt> | |||
<dd> | ||||
<dl> | <dl newline="false" spacing="compact"> | |||
<dt> | <dt> | |||
Deprecated alias names for this type: </dt> | Deprecated alias names for this type: </dt> | |||
<dd> | <dd> | |||
<t>application/javascript, application/x-javascript, text/javascript1.0, tex | application/javascript, application/x-javascript, text/javascript1 | |||
t/javascript1.1, text/javascript1.2, text/javascript1.3, text/javascript1.4, tex | .0, text/javascript1.1, text/javascript1.2, text/javascript1.3, text/javascript1 | |||
t/javascript1.5, text/jscript, text/livescript</t> | .4, text/javascript1.5, text/jscript, text/livescript | |||
</dd> | </dd> | |||
<dt/> | <dt> | |||
<dd> | ||||
<dl> | ||||
<dt> | ||||
Magic number(s): </dt> | Magic number(s): </dt> | |||
<dd> | <dd> | |||
<t>n/a</t> | N/A | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
File extension(s): </dt> | File extension(s): </dt> | |||
<dd> | <dd> | |||
<t>.js, .mjs</t> | .js, .mjs | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Macintosh File Type Code(s): </dt> | Macintosh File Type Code(s): </dt> | |||
<dd> | <dd> | |||
<t>TEXT</t> | TEXT | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</dd> | </dd> | |||
<dt> | </dl> | |||
<dl newline="false" spacing="normal"> | ||||
<dt> | ||||
Person & email address to contact for further information: </dt> | Person & email address to contact for further information: </dt> | |||
<dd> | <dd> | |||
<t>See Author's Address section of [this document] and <xref target="RFC4329 | See the Authors' Addresses sections of RFC 9239 and <xref target=" | |||
"/>.</t> | RFC4329" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Intended usage: </dt> | Intended usage: </dt> | |||
<dd> | <dd> | |||
<t>COMMON</t> | COMMON | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Restrictions on usage: </dt> | Restrictions on usage: </dt> | |||
<dd> | <dd> | |||
<t>The .mjs file extension signals that the file represents a JavaScript mod | The .mjs file extension signals that the file represents a JavaScr | |||
ule. Execution environments that rely on file extensions to determine how to pro | ipt module. Execution environments that rely on file extensions to determine how | |||
cess inputs parse .mjs files using the Module grammar of <xref target="ECMA-262" | to process inputs parse .mjs files using the Module grammar of <xref target="EC | |||
/>.</t> | MA-262" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Author: </dt> | Author: </dt> | |||
<dd> | <dd> | |||
<t>See Author's Address section of [this document] and <xref target="RFC4329 | See the Authors' Addresses sections of RFC 9239 and <xref target=" | |||
"/>.</t> | RFC4329" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Change controller: </dt> | Change controller: </dt> | |||
<dd> | <dd> | |||
<t>IESG <iesg@ietf.org></t> | IESG <iesg@ietf.org> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="historic-javascript-media-types" numbered="true" toc="def | |||
<section anchor="historic-javascript-media-types"><name>Historic JavaScript Medi | ault"> | |||
a Types</name> | <name>Historic JavaScript Media Types</name> | |||
<t>The following media types and legacy aliases are added or updated for | ||||
<t>The following media types and legacy aliases are added or updated for histori | historical purposes. All herein have an intended usage of OBSOLETE and are not | |||
cal purposes. All herein have an intended usage of OBSOLETE, and are not expecte | expected to be in use with modern implementations.</t> | |||
d to be in use with modern implementations.</t> | <section anchor="textecmascript" numbered="true" toc="default"> | |||
<name>text/ecmascript</name> | ||||
<section anchor="textecmascript"><name>text/ecmascript</name> | <dl> | |||
<dt> | ||||
<dl> | ||||
<dt> | ||||
Type name: </dt> | Type name: </dt> | |||
<dd> | <dd> | |||
<t>application</t> | text | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Subtype name: </dt> | Subtype name: </dt> | |||
<dd> | <dd> | |||
<t>ecmascript</t> | ecmascript | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Required parameters: </dt> | Required parameters: </dt> | |||
<dd> | <dd> | |||
<t>N/A</t> | N/A | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Optional parameters: </dt> | Optional parameters: </dt> | |||
<dd> | <dd> | |||
<t>charset, see section 4.1 of [this document].</t> | charset. See <xref target="charset-parameter"/> of RFC 9239. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Encoding considerations: </dt> | Encoding considerations: </dt> | |||
<dd> | <dd> | |||
<t>Binary</t> | Binary | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Security considerations: </dt> | Security considerations: </dt> | |||
<dd> | <dd> | |||
<t>See section 5 of [this document].</t> | See <xref target="security-considerations"/> of RFC 9239. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Interoperability considerations: </dt> | Interoperability considerations: </dt> | |||
<dd> | <dd> | |||
<t>It is expected that implementations will behave as if this registration a | It is expected that implementations will behave as if this registr | |||
pplies to later editions of <xref target="ECMA-262"/>, and its published specifi | ation applies to later editions of <xref target="ECMA-262" format="default"/>, a | |||
cation references may be updated accordingly from time to time. Although this ex | nd its published specification references may be updated accordingly from time t | |||
pectation is unusual among media type registrations, it matches widespread indus | o time. Although this expectation is unusual among media type registrations, it | |||
try conventions. See section 2 of [this document].</t> | matches widespread industry conventions. See <xref target="compatibility"/> of R | |||
</dd> | FC 9239. | |||
<dt> | </dd> | |||
<dt> | ||||
Published specification: </dt> | Published specification: </dt> | |||
<dd> | <dd> | |||
<t><xref target="ECMA-262"/></t> | <xref target="ECMA-262" format="default"/> | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Applications which use this media type: </dt> | Applications that use this media type: </dt> | |||
<dd> | <dd> | |||
<t>Script interpreters as discussed in [this document].</t> | Script interpreters as discussed in RFC 9239. | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
<dl newline="true" spacing="normal"> | ||||
<t>Additional information:</t> | <dt>Additional information:</dt> | |||
<dd> | ||||
<dl> | <dl newline="false" spacing="compact"> | |||
<dt> | <dt> | |||
Deprecated alias names for this type: </dt> | Deprecated alias names for this type: </dt> | |||
<dd> | <dd> | |||
<t>application/ecmascript, application/x-ecmascript, text/x-ecmascript</t> | application/ecmascript, application/x-ecmascript, text/x-ecmascrip | |||
</dd> | t | |||
<dt> | </dd> | |||
<dt> | ||||
Magic number(s): </dt> | Magic number(s): </dt> | |||
<dd> | <dd> | |||
<t>n/a</t> | N/A | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
File extension(s): </dt> | File extension(s): </dt> | |||
<dd> | <dd> | |||
<t>.es, .mjs</t> | .es, .mjs | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Macintosh File Type Code(s): </dt> | Macintosh File Type Code(s): </dt> | |||
<dd> | <dd> | |||
<t>TEXT</t> | TEXT | |||
</dd> | </dd> | |||
<dt> | </dl> | |||
</dd> | ||||
</dl> | ||||
<dl newline="false" spacing="normal"> | ||||
<dt> | ||||
Person & email address to contact for further information: </dt> | Person & email address to contact for further information: </dt> | |||
<dd> | <dd> | |||
<t>See Author's Address section of [this document] and <xref target="RFC4329 | See the Authors' Addresses sections of RFC 9239 and <xref target=" | |||
"/>.</t> | RFC4329" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Intended usage: </dt> | Intended usage: </dt> | |||
<dd> | <dd> | |||
<t>OBSOLETE</t> | OBSOLETE | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Restrictions on usage: </dt> | Restrictions on usage: </dt> | |||
<dd> | <dd> | |||
<t>This media type is obsolete; current implementations should use text/java | This media type is obsolete; current implementations should use te | |||
script as the only JavaScript/ECMAScript media type. The .mjs file extension sig | xt/javascript as the only JavaScript/ECMAScript media type. The .mjs file extens | |||
nals that the file represents a JavaScript module. Execution environments that r | ion signals that the file represents a JavaScript module. Execution environments | |||
ely on file extensions to determine how to process inputs parse .mjs files using | that rely on file extensions to determine how to process inputs parse .mjs file | |||
the Module grammar of <xref target="ECMA-262"/>.</t> | s using the Module grammar of <xref target="ECMA-262" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Author: </dt> | Author: </dt> | |||
<dd> | <dd> | |||
<t>See Author's Address section of [this document] and <xref target="RFC4329 | See the Authors' Addresses sections of RFC 9239 and <xref target=" | |||
"/>.</t> | RFC4329" format="default"/>. | |||
</dd> | </dd> | |||
<dt> | <dt> | |||
Change controller: </dt> | Change controller: </dt> | |||
<dd> | <dd> | |||
<t>IESG <iesg@ietf.org></t> | IESG <iesg@ietf.org> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | ||||
</section> | </section> | |||
</section> | </section> | |||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | ||||
<name>References</name> | ||||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2045.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2119.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2397.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2978.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3552.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3629.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4288.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4329.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6365.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6648.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6838.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<references title='Normative References'> | <reference anchor="CHARSETS" target="https://www.iana.org/assignments/ch | |||
aracter-sets"> | ||||
&RFC2045; | <front> | |||
&RFC2119; | <title>Character Sets</title> | |||
&RFC2397; | <author> | |||
&RFC2978; | <organization>IANA</organization> | |||
&RFC3552; | </author> | |||
&RFC3629; | </front> | |||
&RFC4288; | </reference> | |||
&RFC4329; | <reference anchor="ECMA-262" target="https://262.ecma-international.org/ | |||
&RFC6365; | 12.0/"> | |||
&RFC6648; | <front> | |||
&RFC6838; | <title>ECMA-262 12th Edition, June 2021. ECMAScript 2021 language s | |||
&RFC8174; | pecification</title> | |||
<reference anchor="CHARSETS" target="https://www.iana.org/assignments/character- | <author> | |||
sets"> | <organization>Ecma International</organization> | |||
<front> | </author> | |||
<title>Assigned character sets</title> | <date year="2021" month="June"/> | |||
<author > | </front> | |||
<organization>IANA</organization> | </reference> | |||
</author> | </references> | |||
<date year="n.d."/> | <references> | |||
</front> | <name>Informative References</name> | |||
</reference> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<reference anchor="ECMA-262" target="https://262.ecma-international.org/12.0/"> | FC.3236.xml"/> | |||
<front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<title>ECMAScript 2021 language specification, ECMA-262 12th Edition, June 2 | FC.3875.xml"/> | |||
021</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<author > | FC.3986.xml"/> | |||
<organization>Ecma International</organization> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
</author> | FC.3987.xml"/> | |||
<date year="2021" month="June"/> | ||||
</front> | ||||
</reference> | ||||
</references> | ||||
<references title='Informative References'> | <reference anchor="HTML" target="https://html.spec.whatwg.org/multipage/ | |||
scripting.html#prepare-a-script"> | ||||
<front> | ||||
<title>HTML Living Standard</title> | ||||
<author> | ||||
<organization>WHATWG</organization> | ||||
</author> | ||||
<date year="2022" month="May"/> | ||||
</front> | ||||
</reference> | ||||
&RFC3236; | <reference anchor="SPECTRE" target="https://arxiv.org/abs/1801.01203"> | |||
&RFC3875; | <front> | |||
&RFC3986; | <title>Spectre Attacks: Exploiting Speculative Execution</title> | |||
&RFC3987; | <author initials="P." surname="Kocher" fullname="Paul Kocher"> | |||
<reference anchor="HTML" target="https://html.spec.whatwg.org/multipage/scriptin | <organization/> | |||
g.html#prepare-a-script"> | </author> | |||
<front> | <author initials="D." surname="Genkin" fullname="Daniel Genkin"> | |||
<title>HTML Living Standard</title> | <organization/> | |||
<author > | </author> | |||
<organization>WHATWG</organization> | <author initials="D." surname="Gruss" fullname="Daniel Gruss"> | |||
</author> | <organization/> | |||
<date year="2017" month="August"/> | </author> | |||
</front> | <author initials="W." surname="Haas" fullname="Werner Haas"> | |||
</reference> | <organization/> | |||
<reference anchor="SPECTRE" target="https://arxiv.org/abs/1801.01203"> | </author> | |||
<front> | <author initials="M." surname="Hamburg" fullname="Mike Hamburg"> | |||
<title>Spectre Attacks: Exploiting Speculative Execution</title> | <organization/> | |||
<author initials="P." surname="Kocher" fullname="Paul Kocher"> | </author> | |||
<organization></organization> | <author initials="M." surname="Lipp" fullname="Moritz Lipp"> | |||
</author> | <organization/> | |||
<author initials="A." surname="Fogh" fullname="Anders Fogh"> | </author> | |||
<organization></organization> | <author initials="S." surname="Mangard" fullname="Stefan Mangard"> | |||
</author> | <organization/> | |||
<author initials="D." surname="Gerkin" fullname="Daniel Gerkin"> | </author> | |||
<organization></organization> | <author initials="T." surname="Prescher" fullname="Thomas Prescher"> | |||
</author> | <organization/> | |||
<author initials="D." surname="Gruss" fullname="Daniel Gruss"> | </author> | |||
<organization></organization> | <author initials="M." surname="Schwarz" fullname="Michael Schwarz"> | |||
</author> | <organization/> | |||
<author initials="W." surname="Haas" fullname="Werner Haas"> | </author> | |||
<organization></organization> | <author initials="Y." surname="Yarom" fullname="Yuval Yarom"> | |||
</author> | <organization/> | |||
<author initials="M." surname="Hamburg" fullname="Mike Hamburg"> | </author> | |||
<organization></organization> | <date year="2018" month="January"/> | |||
</author> | </front> | |||
<author initials="M." surname="Lipp" fullname="Moritz Lipp"> | <seriesInfo name="DOI" value="10.48550/arXiv.1801.01203"/> | |||
<organization></organization> | </reference> | |||
</author> | ||||
<author initials="S." surname="Mangard" fullname="Stefan Mangard"> | ||||
<organization></organization> | ||||
</author> | ||||
<author initials="T." surname="Prescher" fullname="Thomas Prescher"> | ||||
<organization></organization> | ||||
</author> | ||||
<author initials="M." surname="Schwarz" fullname="Michael Schwarz"> | ||||
<organization></organization> | ||||
</author> | ||||
<author initials="Y." surname="Yarom" fullname="Yuval Yarom"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2018" month="January"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="TC39-MIME-ISSUE" target="https://web.archive.org/web/20170814 | ||||
193912/https://github.com/tc39/ecma262/issues/322"> | ||||
<front> | ||||
<title>Add `application/javascript+module` mime to remove ambiguity</title> | ||||
<author > | ||||
<organization>TC39</organization> | ||||
</author> | ||||
<date year="2017" month="August"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="TC39-MIME-ISSUE" target="https://web.archive.org/web/ | ||||
20170814193912/https://github.com/tc39/ecma262/issues/322"> | ||||
<front> | ||||
<title>Add 'application/javascript+module' mime to remove ambiguity< | ||||
/title> | ||||
<author> | ||||
<organization>TC39</organization> | ||||
</author> | ||||
<date year="2017" month="August"/> | ||||
</front> | ||||
<refcontent>Wayback Machine archive</refcontent> | ||||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
<section anchor="changes-from-rfc-4329" numbered="true" toc="default"> | ||||
<section anchor="acknowledgements"><name>Acknowledgements</name> | <name>Changes from RFC 4329</name> | |||
<ul spacing="normal"> | ||||
<t>This work builds upon its antecedent document, authored by Bjoern Hoehrmann. | <li>Added a section discussing ECMAScript modules and the impact on proc | |||
The authors would like to thank | essing.</li> | |||
Adam Roach, | <li>Updated the Security Considerations section to discuss concerns asso | |||
Alexey Melnikov, | ciated with ECMAScript modules and SharedArrayBuffers.</li> | |||
Allen Wirfs-Brock, | <li>Updated the character encoding scheme detection to remove normative | |||
Anne van Kesteren, | guidance on its use, to better reflect operational reality.</li> | |||
Ben Campbell, | <li>Changed the intended usage of the media type "text/javascript" from | |||
Benjamin Kaduk, | OBSOLETE to COMMON.</li> | |||
Éric Vyncke, | <li>Changed the intended usage for all other script media types to obsol | |||
Francesca Palombini, | ete.</li> | |||
James Snell, | <li>Updated various references where the original has been obsoleted.</l | |||
Kirsty Paine, | i> | |||
Mark Nottingham, | <li>Updated references to ECMA-262 to match the version at the time of p | |||
Murray Kucherawy, | ublication.</li> | |||
Ned Freed, | </ul> | |||
Robert Sparks, and | </section> | |||
Suresh Krishnan | <section anchor="acknowledgements" numbered="false" toc="default"> | |||
<name>Acknowledgements</name> | ||||
<t>This work builds upon its antecedent document, authored by <contact ful | ||||
lname="Björn Höhrmann"/>. The authors would like to thank | ||||
<contact fullname="Adam Roach"/>, | ||||
<contact fullname="Alexey Melnikov"/>, | ||||
<contact fullname="Allen Wirfs-Brock"/>, | ||||
<contact fullname="Anne van Kesteren"/>, | ||||
<contact fullname="Ben Campbell"/>, | ||||
<contact fullname="Benjamin Kaduk"/>, | ||||
<contact fullname="Éric Vyncke"/>, | ||||
<contact fullname="Francesca Palombini"/>, | ||||
<contact fullname="James Snell"/>, | ||||
<contact fullname="Kirsty Paine"/>, | ||||
<contact fullname="Mark Nottingham"/>, | ||||
<contact fullname="Murray Kucherawy"/>, | ||||
<contact fullname="Ned Freed"/>, | ||||
<contact fullname="Robert Sparks"/>, and | ||||
<contact fullname="Suresh Krishnan"/> | ||||
for their guidance and feedback throughout this process.</t> | for their guidance and feedback throughout this process.</t> | |||
</section> | ||||
</section> | ||||
<section anchor="changes-from-rfc-4329"><name>Changes from RFC 4329</name> | ||||
<t><list style="symbols"> | ||||
<t>Added a section discussing ECMAScript modules and the impact on processing. | ||||
</t> | ||||
<t>Updated the Security Considerations to discuss concerns associated with ECM | ||||
AScript modules and SharedArrayBuffers.</t> | ||||
<t>Updated the character encoding scheme detection to remove normative guidanc | ||||
e on its use, to better reflect operational reality.</t> | ||||
<t>Changed the intended usage of the media type text/javascript from obsolete | ||||
to common.</t> | ||||
<t>Changed the intended usage for all other script media types to obsolete.</t | ||||
> | ||||
<t>Updated various references where the original has been obsoleted.</t> | ||||
<t>Updated references to ECMA-262 to match the version at time of publication. | ||||
</t> | ||||
</list></t> | ||||
</section> | ||||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
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 | ||||
2vHgfwGjvoBsp2IAAA== | ||||
</rfc> | </rfc> | |||
End of changes. 57 change blocks. | ||||
947 lines changed or deleted | 746 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/ |