Skip to content

Commit 628c329

Browse files
[URL] 各種更新
Editorial: check forbidden domain code points in domain to ASCII whatwg/url@c3d173f Set IDNA's IgnoreInvalidPunycode to false whatwg/url@a6e4492 Set IDNA's CheckHyphens to the value of beStrict whatwg/url@cd8f1d6 Remove redundant domain to Unicode call from valid domain whatwg/url@da212c9
1 parent 9ccf7fb commit 628c329

File tree

1 file changed

+90
-93
lines changed

1 file changed

+90
-93
lines changed

URL-ja.html

Lines changed: 90 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -324,8 +324,8 @@
324324
●●options
325325

326326
spec_title:URL
327-
spec_date:2024-11-26
328-
trans_update:2024-11-27
327+
spec_date:2024-11-29
328+
trans_update:2024-11-30
329329
source_checked:221209
330330
spec_status:LS
331331
original_url:https://url.spec.whatwg.org/
@@ -916,6 +916,7 @@
916916
末端:end:~
917917
理論:theory:~
918918
行使:exercise:~
919+
理想的:ideal:~
919920

920921
~network用:networking
921922
明瞭でない:unclear
@@ -947,7 +948,7 @@
947948
視野から外れる:out-of-scope
948949
係る:pertain
949950
意外な結果:surprising
950-
を基に/含むように:in terms of
951+
に基づいて/含むように:in terms of
951952
単純にする:simplicity
952953
期待されない所で:unexpectedly
953954

@@ -1009,7 +1010,7 @@
10091010
%N:integer
10101011
%R
10111012
%b
1012-
%beStrict
1013+
%厳密か:beStrict
10131014
%i
10141015
%init
10151016
%~IPv4:ipv4
@@ -1179,7 +1180,7 @@
11791180

11801181
Commits:
11811182
<a href="https://github.com/whatwg/url/commits">GitHub whatwg/url/commits</a>
1182-
<a href="https://url.spec.whatwg.org/commit-snapshots/7ff8de0a1445abcabbbc4d33b292a5eddc8bd22d/" id="commit-snapshot-link">Snapshot as of this commit</a>
1183+
<a href="https://url.spec.whatwg.org/commit-snapshots/c3d173f3106e0e557a80e30e828edb369909e17b/" id="commit-snapshot-link">Snapshot as of this commit</a>
11831184
<a href="https://twitter.com/urlstandard">@urlstandard</a>
11841185

11851186
Tests:
@@ -1452,6 +1453,26 @@ <h3 title="Writing">1.1. 書出法</h3>
14521453
14531454
Yes
14541455

1456+
<tr><td>`domain-invalid-code-point@err
1457+
<td>
1458+
入力の`~host$が,`禁止~domain~cp$を包含している。
1459+
1460+
The input’s host contains a forbidden domain code point.
1461+
<td class="example">
1462+
~URLが`特別$であるとき、
1463+
その~hostが,処理される前に`~percent-復号された@#string-percent-decode$
1464+
— ~URLが `https://exa%23mple.org^l であったなら、
1465+
その結果,~host部位は `exa#mple.org^l になり、
1466+
この~errorを誘発する。
1467+
1468+
Hosts are percent-decoded before being processed when the URL is special, which would result in the following host portion becoming "exa#mple.org" and thus triggering this error.
1469+
1470+
"https://exa%23mple.org"
1471+
<td>
1472+
失敗する
1473+
1474+
Yes
1475+
14551476
<tr><td>`domain-to-Unicode@err
14561477
<td>
14571478
<p>
@@ -1475,26 +1496,6 @@ <h3 title="Writing">1.1. 書出法</h3>
14751496
14761497
Host parsing
14771498

1478-
<tr><td>`domain-invalid-code-point@err
1479-
<td>
1480-
入力の`~host$が,`禁止~domain~cp$を包含している。
1481-
1482-
The input’s host contains a forbidden domain code point.
1483-
<td class="example">
1484-
~URLが`特別$であるとき、
1485-
その~hostが,処理される前に`~percent-復号された@#string-percent-decode$
1486-
— ~URLが `https://exa%23mple.org^l であったなら、
1487-
その結果,~host部位は `exa#mple.org^l になり、
1488-
この~errorを誘発する。
1489-
1490-
Hosts are percent-decoded before being processed when the URL is special, which would result in the following host portion becoming "exa#mple.org" and thus triggering this error.
1491-
1492-
"https://exa%23mple.org"
1493-
<td>
1494-
失敗する
1495-
1496-
Yes
1497-
14981499
<tr><td>`host-invalid-code-point@err
14991500
<td>
15001501
`不透明な~host$(`特別$でない~URL)が,`禁止~host~cp$を包含している。
@@ -3224,7 +3225,7 @@ <h3 title="IDNA">3.3. ~IDNA</h3>
32243225
`~domainを~ASCII化する@
32253226
ときは、
32263227
所与の
3227-
( `文字列$ %~domain, 真偽値 %beStrict )
3228+
( `文字列$ %~domain, 真偽値 %厳密か )
32283229
に対し,次を走らす:
32293230
32303231
The domain to ASCII algorithm, given a string domain and a boolean beStrict, runs these steps:
@@ -3235,24 +3236,25 @@ <h3 title="IDNA">3.3. ~IDNA</h3>
32353236
%結果 ~LET 次を与える下で, `Unicode ToASCII$AO を走らせた結果 `UTS46$r
32363237
⇒#
32373238
`domain_name^i ~SET %~domain,
3238-
`UseSTD3ASCIIRules^i ~SET %beStrict,
3239-
`CheckHyphens^i ~SET ~F,
3239+
`CheckHyphens^i ~SET %厳密か,
32403240
`CheckBidi^i ~SET ~T,
32413241
`CheckJoiners^i ~SET ~T,
3242+
`UseSTD3ASCIIRules^i ~SET %厳密か,
32423243
`Transitional_Processing^i ~SET ~F,
3243-
`VerifyDnsLength^i ~SET %beStrict
3244+
`VerifyDnsLength^i ~SET %厳密か,
3245+
`IgnoreInvalidPunycode^i ~SET ~F
32443246
3245-
Let result be the result of running Unicode ToASCII with domain_name set to domain, UseSTD3ASCIIRules set to beStrict, CheckHyphens set to false, CheckBidi set to true, CheckJoiners set to true, Transitional_Processing set to false, and VerifyDnsLength set to beStrict. [UTS46]
3247+
Let result be the result of running Unicode ToASCII with domain_name set to domain, CheckHyphens set to beStrict, CheckBidi set to true, CheckJoiners set to true, UseSTD3ASCIIRules set to beStrict, Transitional_Processing set to false, VerifyDnsLength set to beStrict, and IgnoreInvalidPunycode set to false. [UTS46]
32463248
</p>
32473249

32483250
<div class="note">
32493251
<p>注記:
3250-
次がいずれも満たされる場合
3251-
この段は %~domain を`~ASCII小文字~化する$のと等価になる
3252+
~AND↓ 次が満たされる場合
3253+
この段は %~domain を`~ASCII小文字~化する$ことと等価になる
32523254
</p>
32533255
<ul>
32543256
<li>
3255-
%beStrict ~EQ ~F
3257+
%厳密か ~EQ ~F
32563258
</li>
32573259
<li>
32583260
%~domain は`~ASCII文字列$である
@@ -3280,6 +3282,40 @@ <h3 title="IDNA">3.3. ~IDNA</h3>
32803282
If result is a failure value, domain-to-ASCII validation error, return failure.
32813283
32823284
If result is the empty string, domain-to-ASCII validation error, return failure.
3285+
</li>
3286+
<li>
3287+
<p>
3288+
~IF[
3289+
%厳密か ~EQ ~F【 ~T?】
3290+
]~AND[
3291+
%結果 内に`禁止~domain~cp$が在る
3292+
3293+
⇒#
3294+
`検証~error$( `domain-invalid-code-point$err );
3295+
~RET `失敗^i
3296+
3297+
If beStrict is false and result contains a forbidden domain code point, domain-invalid-code-point validation error, return failure.
3298+
</p>
3299+
3300+
<p class="note">注記:
3301+
3302+
~web互換性,
3303+
~DNSに基づかない~systemとの互換性
3304+
]に因り、
3305+
`禁止~domain~cp$は,[
3306+
`UseSTD3ASCIIRules^i が ~T をとるときには許容されない~cpたち
3307+
]の下位集合を成す。
3308+
`課題 #397@https://github.com/whatwg/url/issues/397$
3309+
も見よ。
3310+
3311+
Due to web compatibility and compatibility with non-DNS-based systems the forbidden domain code points are a subset of those disallowed when UseSTD3ASCIIRules is true. See also issue #397.
3312+
</p>
3313+
</li>
3314+
<li>
3315+
~Assert:
3316+
%結果 は`禁止~domain~cp$を包含しない。
3317+
3318+
Assert: result does not contain a forbidden domain code point.
32833319
</li>
32843320
<li>
32853321
~RET %結果
@@ -3307,7 +3343,7 @@ <h3 title="IDNA">3.3. ~IDNA</h3>
33073343
`~domainを~Unicode化する@
33083344
ときは、
33093345
所与の
3310-
( `~domain$ %~domain, 真偽値 %beStrict )
3346+
( `~domain$ %~domain, 真偽値 %厳密か )
33113347
に対し,次を走らす:
33123348
33133349
The domain to Unicode algorithm, given a domain domain and a boolean beStrict, runs these steps:
@@ -3318,17 +3354,18 @@ <h3 title="IDNA">3.3. ~IDNA</h3>
33183354
%結果 ~LET 次を与える下で, `Unicode ToUnicode$AO を走らせた結果 `UTS46$r
33193355
⇒#
33203356
`domain_name^i ~SET %~domain,
3321-
`CheckHyphens^i ~SET ~F,
3357+
`CheckHyphens^i ~SET %厳密か,
33223358
`CheckBidi^i ~SET ~T,
33233359
`CheckJoiners^i ~SET ~T,
3324-
`UseSTD3ASCIIRules^i ~SET %beStrict,
3325-
`Transitional_Processing^i ~SET ~F
3360+
`UseSTD3ASCIIRules^i ~SET %厳密か,
3361+
`Transitional_Processing^i ~SET ~F,
3362+
`IgnoreInvalidPunycode^i ~SET ~F
33263363
3327-
Let result be the result of running Unicode ToUnicode with domain_name set to domain, CheckHyphens set to false, CheckBidi set to true, CheckJoiners set to true, UseSTD3ASCIIRules set to beStrict, and Transitional_Processing set to false. [UTS46]
3364+
Let result be the result of running Unicode ToUnicode with domain_name set to domain, CheckHyphens set to beStrict, CheckBidi set to true, CheckJoiners set to true, UseSTD3ASCIIRules set to beStrict, Transitional_Processing set to false, and IgnoreInvalidPunycode set to false. [UTS46]
33283365
</li>
33293366
<li>
33303367
~IF[
3331-
%結果 に何らかの~errorがある
3368+
%結果 には何らかの~errorが記録された
33323369
33333370
33343371
`検証~error$( `domain-to-Unicode$err )
@@ -3382,58 +3419,28 @@ <h3 title="Host writing">3.4. ~hostの書出法</h3>
33823419

33833420
<div class="algo">
33843421
<p>
3385-
`文字列$ %~domain
3422+
`文字列$ %入力
33863423
`妥当な~domain@
3387-
であるとは、
3388-
次の手続きが `成功^i を返すことをいう:
3389-
3390-
A domain is a valid domain if these steps return success:
3391-
</p>
3392-
<ol>
3393-
<li>
3394-
%結果 ~LET `~domainを~ASCII化する$( %~domain, ~T )
3395-
3396-
Let result be the result of running domain to ASCII with domain and true.
3397-
</li>
3398-
<li>
3399-
~IF[
3400-
%結果 ~EQ `失敗^i
3401-
3424+
であるとは、[
3425+
次の結果 ~NEQ `失敗^i
3426+
]になることをいう
34023427
3403-
~RET `失敗^i
3428+
`~domainを~ASCII化する$( %入力, ~T )
34043429
3405-
If result is failure, then return failure.
3406-
</li>
3407-
<li>
3408-
%結果 ~SET `~domainを~Unicode化する$( %結果, ~T )
3409-
3410-
Set result to the result of running domain to Unicode with result and true.
3411-
</li>
3412-
<li>
3413-
~IF[
3414-
%結果 に何らかの~errorがある
3415-
3416-
3417-
~RET `失敗^i
3418-
3419-
If result contains any errors, return failure.
3420-
</li>
3421-
<li>
3422-
~RET `成功^i
3423-
3424-
Return success.
3425-
</li>
3426-
</ol>
3427-
</div>
3430+
A string input is a valid domain if these steps return true:
3431+
• Let domain be the result of running domain to ASCII with input and true.
3432+
• Return false if domain is failure; otherwise true.
3433+
</p>
34283434

34293435
<p class="XXX">課題:
34303436
理想的には、
3431-
`妥当な~domain$を成す~cpの並びを基に定義したい所
3437+
`妥当な~domain$を成す~cp並びに基づいて定義したい所
34323438
— モグラ叩きのように定義するのではなく:
34333439
`課題 #245@https://github.com/whatwg/url/issues/245$
34343440
34353441
Ideally we define this in terms of a sequence of code points that make up a valid domain rather than through a whack-a-mole: issue 245.
34363442
</p>
3443+
</div>
34373444

34383445
<p>
34393446
`妥当な~domain@sT
@@ -3609,16 +3616,6 @@ <h3 title="Host parsing">3.5. ~hostの構文解析-法</h3>
36093616
</li>
36103617
<li>
36113618
~IF[
3612-
%~ASCII~domain 内に`禁止~domain~cp$がある
3613-
3614-
⇒#
3615-
`検証~error$( `domain-invalid-code-point$err );
3616-
~RET `失敗^i
3617-
3618-
If asciiDomain contains a forbidden domain code point, domain-invalid-code-point validation error, return failure.
3619-
</li>
3620-
<li>
3621-
~IF[
36223619
`番号で終端しているか検査する$( %~ASCII~domain ) ~EQ ~T
36233620
36243621
@@ -4040,7 +4037,7 @@ <h3 title="Host parsing">3.5. ~hostの構文解析-法</h3>
40404037
</li>
40414038
<li>
40424039
~IF[
4043-
%入力 内に基数 %R の数字でない~cpがある
4040+
%入力 内に基数 %R の数字でない~cpが在る
40444041
40454042
40464043
~RET `失敗^i
@@ -6857,7 +6854,7 @@ <h3 title="URL parsing">4.4. ~URLの構文解析-法</h3>
68576854
</li>
68586855
<li>
68596856
~IF[
6860-
%入力 内に`~ASCII~tabや~ASCII改行文字$がある
6857+
%入力 内に`~ASCII~tabや~ASCII改行文字$が在る
68616858
68626859
68636860
`検証~error$( `invalid-URL-unit$err )
@@ -9648,7 +9645,7 @@ <h3 title="application/x-www-form-urlencoded parsing">5.1. ~form_urlencoded構
96489645
</li>
96499646
<li>
96509647
~IF[
9651-
%~byte列 内に ❛= がある
9648+
%~byte列 内に ❛= が在る
96529649
96539650
96549651
( %名, %値 ) ~SET %~byte列 を最初の ❛= の所で 2 個の~byte列に分割した結果

0 commit comments

Comments
 (0)