我们的系统会将用户引导至此格式的相对路径:
/some_path/?query=string
然后服务器响应所述路径。该URL是否违反了RFC,任何人都可以告诉? (我相信RFC 3986适用。)
具体来说,前一个路径是OK,即使它没有指定文件名,如:
/some_path/file?query=string
答案 0 :(得分:2)
你所展示的内容可能还可以。这里有更多细节:
您的问题有点模糊 - 您指的是一个网址,但您向我们展示的内容在技术上并不是网址或URI。 URL或URI必须具有以下语法:
scheme://authority/path?query#fragment
eg: http://host.domain.ext/path/to?query=1#anchor1
您似乎要返回的是 relative-ref 或者可能(取决于您返回的位置,例如在XML正文中) href
所以你似乎要返回的内容(根据RFC 3986)是 relativeURI 。 RFC将其显示为:
relativeURI | relative-part [ "?" query ]
relative-part = "//" authority path-abempty
/ path-absolute
/ path-noscheme
/ path-empty
在某些情况下哪个没问题。
根据HTTP RFC 2616 - 某些标头值可能会返回为 relativeURI ,例如Content-Location和Referer,而其他标头值(如位置)则定义为要求绝对值。话虽如此,大多数浏览器和其他客户端都会在那里接受relativeURI。
是的,你的案例中没有'filename'的路径可能没问题,并且是一个有效的relativeURI(一个带有添加的查询字符串的相对部分)。您可以将任何有效字符作为路径,如果需要,可以包括尾部斜杠(尽管这用于表示层次结构,因此请小心)。