URL中的分号和问号有什么区别

时间:2014-05-12 03:26:10

标签: http url parameters

考虑这两个网址:

www.g.com/flow;a=1
www.g.com/flow?a=1

分号和问号之间有什么区别?

a=1两者的含义是否相同?

1 个答案:

答案 0 :(得分:3)

?分隔URL的查询部分,而在这种情况下,;会考虑路径本身的参数。

大多数图书馆都不公开这个。表面上它是路由请求的一部分(因为路径是整个资源位置的一部分),而不是查询部分(它影响查询的处理)。

我见过的唯一常见的是Java Servlet容器,它使用JSESSIONID参数限定路径。

在这种情况下你可以看到这是有道理的:

http://www.example.com/context;JSESSIONID=12345?query_param1=ABC

从servlet容器POV,JSESSIONID在路由阶段将内部会话绑定到请求,但处理逻辑不知道这一点,只看到查询参数和路径的其余部分。

我实际上不知道路径参数是否完全暴露在Servlet容器中,也许如果你得到整个URL,但是内部Java URL类没有路径参数的概念,所以我不能说。 / p>