とちゃき#//FjlV 12/18/2024 (Wed) 15:56 No.160145 del
>>160144
どうもどうも。
でも違うのです。
ここ( >>160136 )とここ( >>160133 )で私が分からないと言っているのはこれです。
>パーセントエンコーディングって(pathを"/"で分割するよりも前の)pathを受けた時点でデコードしていいんだっけ…
%2Fは/を示すため以下の2つは意味上は同じはずです。
http://localhost/abc/123/xyz.txt
http://localhost/abc%2F123%2Fxyz.txt
実例だとこの2つ。
https://ja.wikipedia.org/wiki/CPU
https://ja.wikipedia.org/wiki%2FCPU
他のサイトでも概ね等価に扱われます(でも"/.."を末尾に付加した時の動作は等価とは言えない)。
"/"を含む特殊なサブパスを表すためには使われていないようです。

URLのpath部においてパーセントエンコードされた表現とデコードされた表現を同じ意味として扱うのであれば、httpサーバーとしての処理の上流で、path部をデコードしたものに置き換えた方がいいということになります。そうすると、対応範囲が広がって上のようなURLも扱えるようになる。
ただ、プロキシー動作をする上では都合が悪いから等価だという確信があっても全面採用はしないんですが、WebAPI用のpath(/localや/cache)ではそうした方が良いかなと考えていました。

Message too long. Click here to view full text.