web-dev-qa-db-ja.com

Webプロキシでの相対リンクを許可するために、クエリ文字列の代わりにURLパスで特殊文字を使用する

私のソフトウェアが生成しているリンクがW3C URL仕様に従っていないという苦情を受け取りました。 http://www.w3.org/Addressing/URL/url-spec.txt

生成されるリンクは次のようになります。https://organization.proxive.se/proxive/https://www.google.com/

ソフトウェアはプロキシであり、この方法でリンクを生成するため、プロキシは相対リンクを解析する必要がありません。例:/maps/../relative_link

クエリ文字列を使用するソリューションを使用すると、これが許可されません。

URLを正しく構築する使用法は正しいですか、または/proxive/の後にすべてをエンコードする必要がありますか

私のソリューションがすべての主要なブラウザーで機能することを追加できます。

3
emilhem

needがそのURLでエスケープするのは:だけだと思われます

https://organization.proxive.se/proxive/https%3A//www.google.com/

その場合、URLは許可されていない文字を使用せず、いくつかの相対リンクをサポートするためにディレクトリがサブURLに残ります。


all相対リンクが機能しないことを指摘したいだけです。通常、サイトをコーディングしてsite relative/img/logo.pngのようなURL http://example.com/dir/page.htmlで使用すると、相対URL http://example.com/img/logo.pngを取得します。

したがって、あなたの場合、http://example.com/dir/page.htmlをプロキシしようとすると、https://organization.proxive.se/img/logo.pngを取得することになります。

2