以下网址有效吗?
http://www.example.com/module.php/lib/lib.php
根据http://tools.ietf.org/html/rfc1738部分,网址的hpath元素不能包含“。” (期)。在上面的例子中有'。'在根据RFC1738不允许的“模块”之后。
我是否读错了RFC或者这个RFC是否被另一个RFC取得了成功?其他一些RFC允许'。'在网址(http://tools.ietf.org/html/rfc1808)。
答案 0 :(得分:39)
我没有看到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
是有效的网址。
答案 1 :(得分:8)
允许持续时间。请参阅本文档中的“2.3未保留字符”部分: http://tools.ietf.org/html/rfc3986
“URI中允许但没有保留目的的字符称为未保留字符。这些字符包括大写和小写字母,十进制数字,连字符,句点,下划线和波浪号。”
答案 2 :(得分:1)
网址中的句号没有错。如果您在链接中查看语法中的化妆,则会通过“safe
”组提及句点,该组包含在uchar
忽略我的回答,亚当斯更好
答案 3 :(得分:1)
正如其他答案所指出的那样,URL中允许使用句点,但是您需要小心。如果在URL路径的一部分中使用一个或两个句点,浏览器会将其视为路径的更改,并且您可能不会获得想要的行为。
例如:
www.example.com/foo/./
重定向到www.example.com/foo/
www.example.com/foo/../
重定向到www.example.com/
以下内容将不重定向:
www.example.com/foo/bar.biz/
www.example.com/foo/..biz/
www.example.com/foo/biz../