新規記事投稿 フォロー記事投稿 記事のキャンセル
From: Shige <t_shigetome@muf.biglobe.ne.jp>
Subject: Re: "&"はquery stringではエンコードが必要?
Date: 1999/03/16 10:34:40
Reference: mesh.npc.2/00572

3月15日に、にあさんは書きました。

>3月15日に、TADさんは書きました。
>
>><img src="/~fwip3653/npc/npc.cgi?L=index.htm&amp;I=/npc/npc.idx&amp;C=FFFFFF,000000">
>>
>>HTMLの記述が上記のようになってますが、
>>気の回しすぎか単なる間違い(誤解)ですね。(^^;;
>
>えーと、Yasu.Fさんの「Webに関するいろいろ」のペーヂを読むと、"&"と言うのは、
>生には使えなくて、"&amp;"と書かねばならない、となっているので、RFC 1738を
>読み直してみたのですが、該当個所が見つかりませんでした。(^^;;
>

 略

>
>とは書いたんですが、"&" を使っちゃいかん! と言う話は、確かにあたしも
>どこかで読んだ覚えがあります。(^^;; はて、何か別の規格からの制限だったかしら?
>
>...あ、思い出した。もしかして、RFC 2396がこの辺も直しているのかな? と思って
>見ると、query では、";"、"/"、"?"、":"、"@"、"&"、"="、"+"、","、"$" が
>予約されているとなっていますね。と言うことは、query 中で "&" の役割が何か
>(セパレータなのか否か?)にかかってくる訳ですが... それは何を見たら分かるのだろう。(^^;;

 これは私の個人的な考えですが(^_^;)(そんなもんはどうでもいいかな?)

 query stringはただの一つの文字列であって
 その文字列を参照するに当たって何をセパレータと見るかは
 query stringを解釈する者に委ねられるものだと思います。
 だとすると セパレータか否かはどこにも書いてないものだと思います。

 ただ、こういう物は慣例みたいのが生まれるもので"&"が
 一般的になったのではないでしょうか?
 そして、後に";"に変った理由は単にHTML dcoumentでは
 実体名を現す最初の文字と干渉しやすく安全でないから
 だと思っていましたが・・・

#実際 W3CのDTDを使って nsgmlでparseすると
#"&"を使うとエラーになる
#それは W3CのDTDの記述が不十分だから?・・・とは 思えず
#面倒だからセパレータを変えよう!! ということだと思ふ