这三个URL的区别?

时间:2012-07-28 18:00:55

标签: url query-string url-routing anchor

有人可以解释在网址中传递不同参数的重要性,

E-克

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

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

4 个答案:

答案 0 :(得分:9)

?表示query string的开始 &分隔查询字符串的键值对 #表示anchorHere更多关于锚链接。

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

有效网址:

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

我注意到您已经使用其他问题编辑了您的问题

  

我可以使用除e-g之外的其他东西:   www.domain.com/folder1/folder2/file.html*param=9_val+ty5@test

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

答案 1 :(得分:3)

这个Wikipedia article详细介绍了一些例子。

  • ?表示查询的开始
  • &分隔查询中的参数
  • #标识要呈现的HTML资源中的片段。它通常用于识别哪个页面,但浏览器应该确保的页面是否在视图中,例如标题等

答案 2 :(得分:0)

?表示URL包含QueryString值。 &安培;用于多个查询字符串值。实施例

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

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

答案 3 :(得分:-1)

  • 1 :?用于将后端代码分离为其参数。请注意,文件扩展名为html并不一定表示后端代码是HTML格式
  • 2:#用于链接到html页面中的锚点
  • 3:&用于将参数与其他参数分开。在这种情况下,file.html本身也是一个参数,而后端代码是“/”,可以是任何东西。例如index.php,default.asp,index.do。这一切都取决于你的URL重写。