2

有人可以解释在 url 中传递不同的参数有什么关系吗?

例如

1: www.domain.com/folder1/folder2/file.html?param=9?val=ty5?test
2: www.domain.com/folder1/folder2/file.html#param=93#val=t5y5?test=9
3: www.domain.com/folder1/folder2/file.html&param=9?val=ty5&test=90#poiu

基本上我想知道这三个字符(#, &, ?)在 url 中做了什么。我见过他们大部分时间?我可以使用其他东西吗,例如:www.domain.com/folder1/folder2/file.html*param=9_val+ty5@test

4

4 回答 4

10

?表示查询字符串的开始分隔查询字符串
&的键值对
#表示一个锚点这里有更多关于锚链接的内容。

请注意,您的所有三个网址都不正确。

有效网址:

http://domain/path/file?name=value&name=value#anc

我注意到您已经用附加问题编辑了您的问题

我可以使用其他的东西吗例如:www.domain.com/folder1/folder2/file.html*param=9_val+ty5@test

您可以在查询字符串或锚点中使用您喜欢的任何内容,只要它是url 编码的。

于 2012-07-28T18:05:01.233 回答
3

这篇维基百科文章详细介绍了一些很好的例子。

  • A?表示查询的开始
  • A&分隔查询中的参数
  • A标识要呈现#的资源中的片段。HTML它通常用于识别浏览器应该确保的页面是否在视图中,例如标题等
于 2012-07-28T18:09:58.987 回答
0

? 表示 URL 包含 QueryString 值。& 用于多个查询字符串值。例子

www.abc.com/page?id=abc&pwd=def

# 对我来说是新的,我第一次看到它。

于 2012-07-28T18:06:01.800 回答
-1
  • 1:?用于将后端代码与其参数分开。注意文件扩展名是 html 并不一定说后端代码是 HTML
  • 2:#用于链接到html页面内的锚点
  • 3:& 用于将参数与其他参数分开。在这种情况下,file.html 本身也是一个参数,而后端代码是“/”,它可以是任何东西。例如 index.php、default.asp、index.do。这一切都取决于您的 URL 重写。
于 2012-07-28T18:08:40.607 回答