web-dev-qa-db-ja.com

できる 。 (ピリオド)URLのパス部分の一部ですか?

次のURLは有効ですか?

http://www.example.com/module.php/lib/lib.php

http://tools.ietf.org/html/rfc1738 セクションによると、URLのhpath要素に「。」を含めることはできません(限目)。上記の場合は「。」があります。 RFC1738で許可されていない「モジュール」の後。

RFCを間違って読んでいますか、それともこのRFCは別のRFCで成功していますか?他の一部のRFCでは「。」を許可しています。 URL内( http://tools.ietf.org/html/rfc1808 )。

32
Moffe

RFC1738がURLのピリオド(。)を許可しない場所がわかりません。ここからいくつかの抜粋です:

hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
uchar          = unreserved | escape
unreserved     = alpha | digit | safe | extra
safe           = "$" | "-" | "_" | "." | "+"

だからあなたの質問への答えは:はい、http://www.example.com/module.php/lib/lib.phpは有効なURLです。

40
Adam Batkin

期間は許可されています。このドキュメントのセクション「2.3予約されていない文字」を参照してください: http://tools.ietf.org/html/rfc3986

「URIで許可されているが予約された目的がない文字は、予約されていません。これらには、大文字と小文字、10進数、ハイフン、ピリオド、アンダースコア、およびチルドが含まれます。」.

8
Greg Burdett

URLのピリオドに問題はありません。あなたが提供したリンクの文法の構成を見ると、ピリオドはsafeを介して含まれる 'uchar'グループを介して言及されます。

私の答えは無視してください、アダムスの方がいいです

1
vickirk