/[pub]/suikawiki/sw4data/ids/2/1.txt
Suika

Contents of /suikawiki/sw4data/ids/2/1.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations) (download)
Sun Feb 27 12:13:54 2011 UTC (13 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.5: +10 -4 lines
File MIME type: text/plain
updated by (anon)

1 wakaba 1.6 [14] [DFN[[CODE(URI)@en[[[http:]]]]]] は、 [[HTTP]] によってアクセスできる[[資源]]を表す
2     [[URL scheme]] です。
3 wakaba 1.2
4 wakaba 1.6 ;; [15] [[RDF]] の世界では、実際には [[HTTP]] でアクセスしても存在していない[[資源]]や、
5     [[HTTP]] によって[[メタデータ]]が取得できるに過ぎない[[資源]]にも [CODE(URI)@en[[[http:]]]] [[URL]]
6     が濫用されています。
7 wakaba 1.2
8     * RFC 2068 の定義
9    
10     [2] [[RFC 2068]] 3.2 で規定されています。
11     ただし、 [[HTTP]] で使うための
12     [[URI]] の定義であって、一般の場面の
13     URI としての定義ではないことに注意が必要です。
14    
15     具体的には、本来 URI
16     では使えないはずの [[national]]
17     の文字が認められていたりします。
18    
19     - http_URL = "http:" "//" host [ ":" port ] [ abs_path ]
20     - host = <A legal Internet host domain name or IP address (in dotted-decimal form), as defined by Section 2.1 of RFC 1123>
21     -- = uri.[[host]] ;; = hostname / [[IPv4address]]
22     - port = *DIGIT
23    
24     - relativeURI = net_path | abs_path | rel_path
25     - net_path = "//" net_loc [ abs_path ]
26     - abs_path = "/" rel_path
27     - rel_path = [ path ] [ ";" params ] [ "?" query ]
28     - path = fsegment *( "/" segment )
29     - fsegment = 1*pchar
30     -- = 1*((OCTET - unsafe) / escaped)
31     - segment = *pchar
32     -- = *((OCTET - unsafe) / escaped)
33     - params = param *( ";" param )
34     - param = *( pchar | "/" )
35     -- = *((OCTET - unsafe) / escaped)
36     - scheme = 1*( ALPHA | DIGIT | "+" | "-" | "." )
37     - net_loc = *( pchar | ";" | "?" )
38     -- = *((OCTET - unsafe) / escaped)
39     - query = *( uchar | reserved )
40     -- = *(([[OCTET]] - [[unsafe]]) / [[escaped]])
41     - fragment = *( uchar | reserved )
42     -- = *((OCTET - unsafe) / escaped)
43    
44     なんかこの構文破綻してる気がしますが。。。
45     例えば [CODE(ABNF)[segment = 2068.segment - "/"]]
46     と定義しておかないと[[欲張り]]過ぎるんじゃ?
47    
48     - [3] 仕様の詳細は [CODE(WikiPage)[[[HTTP//URI]]]] を参照されたし。
49    
50     [[#comment]]
51    
52    
53     * メモ
54    
55     [4]
56    
57     > RFC 2616 には HTTPプロトコルに関することが書かれており,3.2.2 http URL に書かれている http URL も,HTTPプロトコルの中での話になります.一般に,HTML のリンクに使用されるものは,純粋に HTTPプロトコルの中で使用される http URL ではなく, scheme が http であるURI References です.
58    
59     出典: [CITE[Perlメモ]] <http://www.din.or.jp/%7Eohzaki/perl.htm#httpURL>
60     (2005年3月現在)
61    
62     このような解釈は正しく'''ありません'''。 [[IANA]]
63     の [[URI scheme]] 登録簿に拠れば [CODE(URI)[[[http]]:]]
64     URI scheme の出典は [[RFC 2616]] であり、 [[IETF]]
65     的に有効な [CODE(URI)[[[http]]:]] [[URI]] の規定は
66     ([[HTTP]] であれ [[HTML]] であれ、その他の文脈であれ)
67     [[RFC 2616]] だけです。
68    
69     更に
70    
71     > たとえば http://user:passwd@www.din.or.jp/~ohzaki/perl.htm#URI は URI References ですが,user:passwd@ の部分,すなわち,userinfo や,#URI の部分,すなわち, Fragment Identifier は HTTPプロトコルの中で使用される http URL としては不正なものとなります.しかし,HTML のリンクとしては問題ありません.なぜなら,クライアント(ブラウザ)が HTTPプロトコルで通信する際にはそれらを削除しているからです.
72    
73     と説明がありますが、このような議論は実装がそうであるというだけで、
74     仕様がそうであるとの根拠はありません。
75     ([[RFC 2396]] の時代に [[URI参照]]の一部分ではあっても [[URI]]
76     の一部分ではなかった[[素片識別子]]は別として、)
77     単に仕様と実世界が整合していないというだけであって、
78     [[HTTP]] で使うか [[HTML]] で使うかは関係ありません。
79    
80     個々の [[URI scheme]] の規定は [[RFC 2396]] (や新しい [[RFC 3986]])
81     の一般の規定に優先するので、 [[RFC 2396]] で許されるように見えても
82     [[RFC 2616]] で許されないものは、すべて認められません。
83    
84     ([CODE(URI)[[[ftp]]:]] [[URI]] に関する部分にも同様の指摘ができます。
85     ただし [CODE(URI)[[[ftp]]:]] [[URI scheme]] の仕様は未だにいにしえの
86     [[RFC 1738]] のままで、実装とまったく整合していません。)
87    
88     [5]
89     [CITE[What do HTTP URIs Identify? - Design Issues]] <http://www.w3.org/DesignIssues/HTTP-URI>
90     ([[名無しさん]])
91    
92     [6]
93     [CITE[What do HTTP URIs Identify? - Design Issues]] <http://www.w3.org/DesignIssues/HTTP-URI2.html>
94     ([[名無しさん]])
95    
96     [7]
97     [CITE[TAG Issues List]] <http://www.w3.org/2001/tag/issues.html?type=1#httpRange-14>
98     ([[名無しさん]])
99    
100     [8]
101     [CITE@EN[URNs, Namespaces and Registries]] ([CODE[2006-09-01 17:51:46 +09:00]] 版) <http://www.w3.org/2001/tag/doc/URNsAndRegistries-50-2006-08-17.html>
102 wakaba 1.1
103 wakaba 1.2 * フォーム提出
104    
105 wakaba 1.3 [11] [CITE@en-GB-x-Hixie[Web Forms 2.0]] ([TIME[2009-01-05 20:07:15 +09:00]] 版) <http://www.whatwg.org/specs/web-forms/current-work/#for-http>
106    
107     * path
108    
109     [12] [CODE(URI)@en[[[/.well-known/]]]] ではじまる [[path]] は予約されています。
110 wakaba 1.4
111 wakaba 1.6 * テスト・ケース
112    
113     [1] ''Another HTML-lint : Explanation'' <http://openlab.ring.gr.jp/k16/htmllint/explain.html#illegal-format-url>
114     正しくない [[URI]] の例が幾つかあります。
115    
116 wakaba 1.4 * 関連
117    
118     [13] [[HTTPにおけるURL]]の項もご覧ください。

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24