[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-expand-url
In the ML [emacs-w3m 01663]
Katsumi Yamaoka <yamaoka@namazu.org> wrote:
> >>>>> In [emacs-w3m : No.01662]
> >>>>> OKAZAKI Tetsurou <okazaki@be.to> wrote:
土屋さん> RFC1808 の BNF 定義を参照すると、http:file.html という書式が
土屋さん> 可能なのか、不可能なのか、よく分からなくなってしまいました。
岡崎> それに関して、RFC 2396 "Uniform Resource Identifiers (URI):
岡崎> Generic Syntax"の 5.2. Resolving Relative References to
岡崎> Absolute Form に次の様な説明があるのを見付けました。
岡崎> 3) If the scheme component is defined, indicating that the reference
岡崎> starts with a scheme name, then the reference is interpreted as an
岡崎> absolute URI and we are done. Otherwise, the reference URI's
岡崎> scheme is inherited from the base URI's scheme component.
岡崎> Due to a loophole in prior specifications [RFC1630], some parsers
岡崎> allow the scheme name to be present in a relative URI if it is the
岡崎> same as the base URI scheme. Unfortunately, this can conflict
岡崎> with the correct parsing of non-hierarchical URI. For backwards
岡崎> compatibility, an implementation may work around such references
岡崎> by removing the scheme if it matches that of the base URI and the
岡崎> scheme is known to always use the <hier_part> syntax. The parser
岡崎> can then continue with the steps below for the remainder of the
岡崎> reference components. Validating parsers should mark such a
岡崎> misformed relative reference as an error.
> ええと、互換のために http:file.html は relative として扱う必要が
> ある、ってことですね。(?)
そうです。ただし、そう解釈出来るための事前条件が 2 つあって、
・base URI で指定されている scheme と reference URI に指定されている
scheme が一致する場合
かつ、
・scheme が常に <hier_part> を使うことが判っている場合
に限られます。具体例を挙げるとしたら、
base URI: http://localhost/a/b/
reference URI: mailto:foo@example.com?subject=test
=> mailto:foo@example.com?subject=test
base URI: http://localhost/a/b/
reference URI: ftp:file.html
=> ftp:file.html (error)
base URI: http://localhost/a/b/
reference URI: http:file.html
=> http://localhost/a/b/file.html
という感じでしょうか。
--
岡崎哲朗