Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 谷歌用#代替搜索?在URL中。为什么?_Ajax_Url_Hash - Fatal编程技术网

Ajax 谷歌用#代替搜索?在URL中。为什么?

Ajax 谷歌用#代替搜索?在URL中。为什么?,ajax,url,hash,Ajax,Url,Hash,我不确定他们这样做了多久,但我注意到谷歌在他们的搜索url中使用了,而不是搜索? 新方式 老路 磅/哈希符号通常用作页面某一部分的锚。 除了更短的url,谷歌还有什么好处?这似乎违背了搜索引擎的惯例,但谷歌再次设定了惯例。这种方法有什么问题吗 更新 要自行测试,请使用上的“常规搜索”框。你会在url中看到一些其他垃圾,但q=前面的部分是我在这个问题中引用的部分 更新2 看起来这可能是一个实验性的功能,他们正在测试随机用户,因为一些人正在被重新路由到搜索?尝试转到#结果时的结果 更新3 从对话

我不确定他们这样做了多久,但我注意到谷歌在他们的搜索url中使用了,而不是搜索?

新方式

老路

磅/哈希符号通常用作页面某一部分的锚。
除了更短的url,谷歌还有什么好处?这似乎违背了搜索引擎的惯例,但谷歌再次设定了惯例。这种方法有什么问题吗

更新
要自行测试,请使用上的“常规搜索”框。你会在url中看到一些其他垃圾,但q=前面的部分是我在这个问题中引用的部分

更新2
看起来这可能是一个实验性的功能,他们正在测试随机用户,因为一些人正在被重新路由到搜索?尝试转到#结果时的结果

更新3
从对话中可以看出,这项服务已经推广到所有使用google.com主网站进行搜索的firefox用户

摘录

2009年4月27日 查询参数中的#是一个 另一个实验是搜索 团队正在做(基于AJAX的搜索) 结果页),这是一段时间前开始的 返回讨论得相当热烈 在Yahoo Web Analytics讨论中 几个月前。随机群 被分配为一名教师的人数 这是实验的一部分 导致了所有的关键字数据 用户从每个分析中消失 工具。看来实验是成功的 还在继续

2009年4月28日查询参数中的# 似乎已经向所有人推广 www.google.com上的Firefox用户 SERP的,所以这一定是通过了 测试阶段。我在猜测 FireFox能够更好地处理AJAX 那就是,因此它没有被滚动 向IE用户开放

2009年5月1日,当我挖掘SERP的 页面最初看起来像谷歌 将网站的“真实”URL置于 链接,但单击链接后 URL被替换为Google重定向 表单的URL www.google.com/url?q=flowers&blahblahblah。 该重定向URL显示在 HTTP referer字段和获取的内容 由web浏览器报告(和 因此,需要分析工具)


好吧,facebook使用这种技术来加载图像而不卸载页面,但仍然允许用户位于不同的URL


如果更改搜索查询,则可以在地址栏中更新url,而无需重新加载页面(在#之后修改内容时,浏览器不应触发新的GET请求)

我的google仍然使用
搜索?
前缀,但是使用哈希(#)的好处是不需要重新加载页面。添加查询字符串(?)将强制页面在所有浏览器中重新加载

通过使用散列,他们可以通过允许项目在浏览器元素中持久化,将其保留在“内存”中。添加散列也会为页面创建一个历史对象。这将保持前向和后向功能,同时允许他们使用AJAX处理您的搜索。基本上,这意味着他们只需获取加载整个页面所需的HTTP头的子集,就可以更快地处理您的搜索,而不会丢失完整加载的功能。

似乎
#q=stackoverflow
重定向到
搜索?q=stackoverflow&cad=h


我不知道你是怎么知道的,但是,我得到了通常的结果。

实际上上面的第一个重定向到第二个。

一个快速的谷歌搜索(使用好的ol'
?q=
方法…)会出现以下结果:

几个月前,谷歌测试了一些搜索结果,在URL中添加了一个#。这给那些有兴趣了解哪些关键词在推动网站流量的人带来了一个大问题(在推荐人没有通过a#之后,URL中的任何内容……这对于web分析产品来说尤其是一个问题),因此我们与 搜索小组停止测试,直到找到更好的解决方案


因此,这个URL格式曾一度被用于某些用户子集,作为谷歌在其毫无戒心的用户子集上运行的众多测试的一部分。这给分析软件带来了问题,因此他们在未来的测试中切换到了不同的格式,但仍然支持旧的哈希查询URL(通过将它们静默地重定向到正常的?-查询URL)。

谷歌的这一举动似乎产生了不想要的结果。 谷歌现在为每个包含#字符的搜索显示一个重定向页面。 试试看,太烦人了。
作为一个开发人员,我搜索了C很多,这个问题让我认为Bing是一个更好的体验。

你的第一个链接对我来说不起作用,而谷歌坚持重定向到我的国家谷歌网站。你什么时候看到带有英镑符号的URL?我刚刚搜索了小狗,收到了以下url。啊哈,这可能就是谷歌改变推荐人的原因。请参阅有趣的事实:大多数浏览器(或所有浏览器)都不会将哈希值发送到服务器。因此,谷歌需要JavaScript来解释散列并显示结果……至于重定向:搜索“phpinfo()zend license variables-manual”会产生相当多的结果,这些结果会在点击搜索结果时重定向到显示HTTP_REFERER的页面——事实上,我相信Facebook在其整个网站上都使用了这种方法。伊恩,你完全正确。当我从Google.com(使用firefox)搜索并在同一结果页面上再搜索几次,然后使用浏览器的后退和前进按钮时,就不会重新加载页面。如果我强制搜索使用搜索?每次页面重新加载时都要做同样的实验。缓存GET请求的结果(与帖子的结果相反)是非常好的,尽管许多人实际上根本不希望缓存他们的搜索结果。更重要的是:谷歌目前的经验