我正在使用谷歌应用引擎作为后端的Chrome书签扩展程序。我现在是唯一的用户,但我认为如果将来有其他用户,则url需要包含扩展的用户名以与后端进行交互。所以我想改变
http://ting-1.appspot.com/useradminpage
到
http://ting-1.appspot.com/user_name/useradminpage
其中“user_name”是gmail用户ID。
但我查看了twitter网址,我发现他们已经
了http://twitter.com/#!/user_name/
“#!”的目的是什么?在这种情况下,我的计划是否足够好?
答案 0 :(得分:2)
URL中的#
表示“片段标识符”。从历史上看,这已被用于识别由“锚”标记标识的文档的一部分,但最近webapp开发人员已开始使用它将有关页面状态的信息传递给页面中运行的Javascript代码。使用它是因为Javascript代码可以修改当前页面的片段而不会导致页面重新加载 - 这意味着它可以在您浏览Web应用程序时更新,然后返回到重新加载页面时的位置。 / p>
当浏览器加载页面时,片段不会发送到服务器,因此Twitter的服务器只看到twitter.com的请求;这取决于页面中的Javascript代码,以检查片段并确定在此之后要做什么。
在您的特定情况下,假设您使用App Engine用户服务对用户进行身份验证,您可以通过多种方式来区分网址中的用户: