




























@@ -902,8 +902,9 @@ concepts.
902902<h3 id=idna>IDNA</h3>
903903904904<div algorithm>
905-<p>The <dfn id=concept-domain-to-ascii>domain to ASCII</dfn> algorithm, given a <a for=/>string</a>
906-<var>domain</var> and a boolean <var>beStrict</var>, runs these steps:
905+<p>The <dfn id=concept-domain-to-ascii>domain parser</dfn> algorithm, given a
906+<a for=/>scalar value string</a> <var>domain</var> and a boolean <var>beStrict</var>, runs these
907+steps. They return failure or a <a for=/>domain</a>.
907908908909<ol>
909910<li>
@@ -980,21 +981,21 @@ concepts.
980981981982<div algorithm>
982983<p>The <dfn id=concept-domain-to-unicode>domain to Unicode</dfn> algorithm, given a <a>domain</a>
983-<var>domain</var> and a boolean <var>beStrict</var>, runs these steps:
984+<var>domain</var>, runs these steps:
984985985986<ol>
986987<li><p>Let <var>result</var> be the result of running
987988<a abstract-op lt=ToUnicode>Unicode ToUnicode</a> with <i>domain_name</i> set to <var>domain</var>,
988-<i>CheckHyphens</i> set to <var>beStrict</var>, <i>CheckBidi</i> set to true, <i>CheckJoiners</i>
989-set to true, <i>UseSTD3ASCIIRules</i> set to <var>beStrict</var>, <i>Transitional_Processing</i>
990-set to false, and <i>IgnoreInvalidPunycode</i> set to false. [[!UTS46]]
989+<i>CheckHyphens</i> set to false, <i>CheckBidi</i> set to true, <i>CheckJoiners</i> set to true,
990+<i>UseSTD3ASCIIRules</i> set to false, <i>Transitional_Processing</i> set to false, and
991+<i>IgnoreInvalidPunycode</i> set to false. [[!UTS46]]
991992992993<li>
993994<p>If an error was recorded, then return <var>domain</var>.
994995995996<p class=note>Because <var>domain</var> can only result from the <a>host parser</a>, any recorded
996997 errors will already have been signified as <a>validation errors</a>. Returning <var>domain</var>
997- ensures <a>domain to ASCII</a> and <a>domain to Unicode</a> roundtrip on input such as
998+ ensures the <a>domain parser</a> and <a>domain to Unicode</a> roundtrip on input such as
998999<code>xn--8i7caa</code>.
999100010001001<li><p>Return <var>result</var>.
@@ -1011,7 +1012,7 @@ concepts.
10111012<p>A <a for=/>string</a> <var>input</var> is a <dfn>valid domain</dfn> if these steps return true:
1012101310131014<ol>
1014-<li><p>Let <var>domain</var> be the result of running <a>domain to ASCII</a> with <var>input</var>
1015+<li><p>Let <var>domain</var> be the result of running <a>domain parser</a> with <var>input</var>
10151016 and true.
1016101710171018<li><p>Return false if <var>domain</var> is failure; otherwise true.
@@ -1076,9 +1077,9 @@ false), and then runs these steps. They return failure or a <a for=/>host</a>.
10761077<a for=string>percent-decoding</a> of <var>input</var>.
1077107810781079<p class=note>Alternatively <a>UTF-8 decode without BOM or fail</a> can be used, coupled with an
1079- early return for failure, as <a>domain to ASCII</a> fails on U+FFFD (�).
1080+ early return for failure, as the <a>domain parser</a> fails on U+FFFD (�).
108010811081-<li><p>Let <var>asciiDomain</var> be the result of running <a>domain to ASCII</a> with
1082+<li><p>Let <var>asciiDomain</var> be the result of running <a>domain parser</a> with
10821083<var>domain</var> and false.
1083108410841085<li><p>If <var>asciiDomain</var> is failure, then return failure.
@@ -3305,8 +3306,8 @@ handled with care to prevent spoofing:
3305330633063307<ul>
33073308<li>
3308-<p>Browsers should render a <a for=/>URL</a>'s <a for=url>host</a> by running
3309-<a>domain to Unicode</a> with the <a for=/>URL</a>'s <a for=url>host</a> and false.
3309+<p>If <a for=/>URL</a>'s <a for=url>host</a> is a <a for=/>domain</a>, browsers should render it
3310+by running <a>domain to Unicode</a> with the <a for=/>URL</a>'s <a for=url>host</a>.
3310331133113312<p class=note>Various characters can be used in homograph spoofing attacks. Consider detecting
33123313 confusable characters and warning when they are in use. [[IDNFAQ]] [[UTS39]]
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。