AN HTTPD ゲストブック/コメント集(2000年12月21日00:00)


高橋誠 hobbit.makoto@nifty.ne.jp 2000/12/24 07:29

 @の件ですが、もう一度やってみたら、うまくいきました。
 その後、Mozillaしかバージョンアップしていないので、Mozillaの不良だったようです。
 すみません。お騒がせしました。


中田昭雄 nakata@st.rim.or.jp 2000/12/21 21:08

高橋さん、
AN HTTPD は %40 は '@' にしてから処理をするはずです。
'@' を含むディレクトリを作って URL を '@' と %40 とで試してみましたが、どちらでも表示できました。

どういう URL を指定して、どのようなエラーになるのでしょうか?


えむけい VYV03354@nifty.ne.jp 2000/12/21 02:36

>最近、Mozillaを使っているのですが、ディレクトリの名前に@を入れていたら、rfcに従い、Mozillaが%40にエスケープしてくれて、

 RFC2396に従うのなら、ディレクトリ部の@をエスケープする必要はありませんけど?

      path_segments = segment *( "/" segment ) 
segment = *pchar *( ";" param )
param = *pchar
pchar = unreserved | escaped |
":" | "@" | "&" | "=" | "+" | "$" | ","
 もし
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
だけ読んでエスケープの必要があると思い込んだのならそれは早とちりというものです。本文もちゃんと読んでください。
   The "reserved" syntax class above refers to those characters that are 
allowed within a URI, but which may not be allowed within a
particular component of the generic URI syntax; they are used as
delimiters of the components described in Section 3.
2.3には
Unreserved characters can be escaped without changing the semantics
of the URI, but this should not be done unless the URI is being used
in a context that does not allow the unescaped character to appear.
とありますから、どちらかといえばヘンなのはIEよりむしろMozillaのほうですね。
 もちろんエスケープしても間違いというわけではありませんから、エスケープすると解釈できなくなるのがAnHTTPDのバグであることに変わりはありませんが。


高橋誠 hobbit.makoto@nifty.ne.jp 2000/12/21 00:00

 最近、Mozillaを使っているのですが、ディレクトリの名前に@を入れていたら、rfcに従い、Mozillaが%40にエスケープしてくれて、an httpdの仮想ディレクトリないということになってしまいました。まあ、あまり使わない文字なんですが、一応ご報告まで。

 IEは素直にそのまま送ってくるみたいで、使えてしまっていました。