我的办公室中有一个位于防火墙后面的开发服务器。主机名是富兰克林。我们以科学家或发明家的名字命名所有服务器。
当我设置HTTP Cookie时:
Set-Cookie: user=kenny; expires=1245424860.11; Path=/; domain=franklin
Cookie未设置。我没有运气就尝试了以下方法。
.franklin
.franklin.local
franklin.local
.franklin.localdomain
franklin.localdomain
我是否必须将主机名设置为其他名称,还是可以通过尚不知道的魔术来设置此Cookie?
最佳答案
RFC 2109说:
并且:
如果您的主机是franklin
:
domain=.franklin
的Cookies将被拒绝,因为它没有嵌入的点。 domain=.franklin.local
的Cookies将被拒绝,因为它与服务器的实际主机名不匹配。 解决方案是将您的主机名重命名为
franklin.local
或franklin.<tld>
,并相应地设置cookie的domain
属性(domain=.franklin.<tld>
)。或者(如您所知),不指定domain
,而让用户代理回退到请求主机。