Can . (period) be part of the path part of an URL?

后端 未结 4 1338
难免孤独
难免孤独 2020-12-15 03:40

Is the following URL valid?

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

According to http://tools.ietf.org/html/rfc1738 section the hpath element of an UR

相关标签:
4条回答
  • 2020-12-15 04:06

    As other answers have noted, periods are allowed in URLs, however you need to be careful. If a single or double period is used in part of a URL's path, the browser will treat it as a change in the path, and you may not get the behavior you want.

    For example:

    • www.example.com/foo/./ redirects to www.example.com/foo/
    • www.example.com/foo/../ redirects to www.example.com/

    Whereas the following will not redirect:

    • www.example.com/foo/bar.biz/
    • www.example.com/foo/..biz/
    • www.example.com/foo/biz../
    0 讨论(0)
  • 2020-12-15 04:07

    Nothing wrong with a period in a url. If you look at the makeup in the grammar in the link you provided a period is mentioned via the 'safe' group, which is included via uchar a

    Ignore my answer, Adams is better

    0 讨论(0)
  • 2020-12-15 04:25

    Periods are allowed. See section "2.3 Unreserved Characters" in this document: http://tools.ietf.org/html/rfc3986

    "Characters that are allowed in a URI but do not have a reserved purpose are called unreserved. These include uppercase and lowercase letters, decimal digits, hyphen, period, underscore, and tilde".

    0 讨论(0)
  • 2020-12-15 04:27

    I don't see where RFC1738 disallows periods (.) in URLs. Here are some excerpts from there:

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

    So the answer to your question is: Yes, http://www.example.com/module.php/lib/lib.php is a valid URL.

    0 讨论(0)
提交回复
热议问题