http://example.com和http://www.example.com之间的区别?

时间:2009-09-09 20:00:49

标签: internet-explorer cookies dns

对于会话和Cookie,example.com和www.example.com之间有区别吗?

我的网络应用程序存在一个非常奇怪的问题

私有网站是:private.example.com 公共网站是:example.com

出于某些原因,我无法控制www.example.com,总是重定向到example.com 我猜这是服务器上的设置。

问题是当我登录管理控制台并打开新选项卡并请求公共站点时,登录会话将丢失。

这只发生在IE 7中

经过一番挖掘后,我找到了这个网站:

http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx

见Q3

当我访问公共站点时,是否可以删除admin(private.example.com)中设置的会话?由于服务器将我重定向到example.com?

我认为在设置cookie(Java)

时我们没有指定域部分

正如我所说,这只发生在XP SP3和IE7

任何可以帮助我,或纠正我对IE内容的理解的人。

4 个答案:

答案 0 :(得分:1)

Cookie在创建时始终设置在子域而不是域本身。您必须在创建时专门设置cookie以指向example.com。我们在admin.example.com和dealer.example.com登录Cookie时遇到了同样的问题。

答案 1 :(得分:1)

是的,Cookie是域名,甚至是子域名。所以这就是问题所在。为了保持一致性,我试图找到一种方法将它保存在同一个子域中。

您说从www.yourdomain.com到yourdomain.com的重定向不受您的控制。那是因为你无法访问服务器吗?如果是这样,你可以从另一个角度攻击它。您可以设置全局301重定向规则,而不是阻止重定向,以便每个访问www.yourdomain.com的用户立即重定向到yourdomain.com(有点像StackOverflow.com)。这样,它在网站的每个页面上都保持一致。

有许多不同的方法可以实现这一目标。但是,如果您正在使用.NET,请参阅我对此问题的回答: Setting up HTTP Redirect for SEO in IIS7

这是一个纯粹的.NET代码解决方案,不需要额外的模块,因此即使您无法访问服务器也能正常工作。实际上,答案是针对相反的情况(非www到www),但可以轻松修改此任务。

答案 2 :(得分:0)

如果您为example.com设置了Cookie,则应将其发送到www.example.com和private.example.com,但如果您为private.example.com设置了Cookie,则不应将其发送到example.com 。有些网站会将所有Cookie设置为www.example.com,并提供来自static.example.com或其他域的静态内容,因此不会随着静态内容请求不必要地发送Cookie。

另见http://developer.yahoo.com/performance/rules.html#cookie_free

答案 3 :(得分:0)

域和子域在cookie方面是相互独立的。我会检查您的DNS记录以查看您的A记录实际指向的位置,然后查看您的网络服务器以查看子域的解释方式。有时,服务器配置为将子域视为URL重定向,尤其是在大型托管解决方案中。

您可能还想检查ASP属性'Response.Cookies(“UID”)。域的Java等效项是否设置在该行的某处。