@ 符号作为 url 参数分隔符? [英] @ sign as url parameter separator?

查看:43
本文介绍了@ 符号作为 url 参数分隔符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在浏览新的 Google 地图时,我看到他们使用 @ 符号而不是 ? 将 url-path 与查询参数分开,例如:

https://www.google.com/maps/@38.1158476,-96.2044115,6z

@ 之后的坐标随着您在地图上导航而改变,但没有刷新浏览器.书签可以很好地处理这个问题.

维基百科没有提及关于此的任何内容,RFC3986 仅显示 @ 符号作为用户名/密码身份验证的可能性.

这是标准化功能还是专有浏览器功能?此功能使用安全吗?如何正确使用?

解决方案

@38.1158476,-96.2044115,6z 不是 查询组件.它仍然是路径组件的一部分.

@ 字符可以在路径中使用,即使没有百分号编码也是如此.

所以从 URI 标准的角度来看,这个 URI 没有什么特别之处.可以使用任何其他(或不使用)字符来代替.

我假设 Google 在这里使用 @ 是因为用户可能将其读作at",这适用于at ".

While browsing the new Google Maps I saw that they are using an @ sign instead of ? to seperate the url-path from the query parameters, like:

https://www.google.com/maps/@38.1158476,-96.2044115,6z

The coordinates after the @ change as you are navigating around the map, but without a browser refresh. Bookmarking works fine with this.

Wikipedia does not mention anything about this, RFC3986 only shows the @ sign as a possibility for username/password authentication.

Is this a standardised feature or a proprietary browser functionality? Is this feature safe to use, and how do I use it correctly?

解决方案

@38.1158476,-96.2044115,6z is not the query component. It’s still part of the path component.

The @ character can be used in the path, even without percent-encoding it.

So from the URI standard perspective, there is nothing special about this URI. There could have been used any other (or no) character instead.

I assume Google uses the @ here because users might read it as "at", which is suitable for "at <location>".

这篇关于@ 符号作为 url 参数分隔符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆