文件名结尾处的问号代表什么意思?

7
在某些项目中,我遇到了以下这些代码行:
$.get("defaults/data.json?", ...);
$.get("defaults/structure.html?", ...);
$.get("defaults/style.css?", ...);

在服务器端,这些文件没有任何额外的符号,所以我想知道文件结尾的问号是什么意思?
3个回答

6
在URL中,?表示查询字符串的开始。如果末尾有一个?且后面没有变量跟随,则通常是一种不必要的方式,意思是“这个完全没有查询字符串”。
例如,可以使用URL重写引擎来检查传入的REQUEST_URI是否以?结尾,并采取与未以?结尾的请求不同的操作,但这将是一种不寻常的用法。更常见的做法是在查询字符串中指定某些值。

在这种情况下,查询字符串可以从传递给get()函数的第二个参数中的参数构建(请参阅文档)。 - Tadeck

5
“?”是通过GET请求提供参数的分隔符。

不一定 - 您也可以通过POST(或任何其他)请求发送查询字符串。请参见RFC2616:http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1 - Piskvor left the building
在我看来,这更像是一个意外的副作用;但是它可以在我目前所见到的浏览器和服务器上运行。 - Piskvor left the building

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接