我的一位同事让我看看一些 cookie 行为。他创建了一个简单的 Web 应用程序,该应用程序创建了一个 cookie 并插入了一个文本字段的值,然后他检查了下一页上的 cookie 集合,以查看它已被正确插入并读回。
真的很简单。
然而,在第二页上,他注意到这不仅仅是一个 cookie,其他的则与他在本地调试的另一个 Web 应用程序相关。
我告诉他这是因为浏览器识别了 URL 并因此发送了它识别为来自那里的所有 cookie,这是正确的吗?即使本地调试服务器端口更改,它也会这样做吗?
我的一位同事让我看看一些 cookie 行为。他创建了一个简单的 Web 应用程序,该应用程序创建了一个 cookie 并插入了一个文本字段的值,然后他检查了下一页上的 cookie 集合,以查看它已被正确插入并读回。
真的很简单。
然而,在第二页上,他注意到这不仅仅是一个 cookie,其他的则与他在本地调试的另一个 Web 应用程序相关。
我告诉他这是因为浏览器识别了 URL 并因此发送了它识别为来自那里的所有 cookie,这是正确的吗?即使本地调试服务器端口更改,它也会这样做吗?
Cookie 基本上有两个参数来指示浏览器何时将它们发送回服务器:
如果没有path
给出,则默认为文档位置,例如,一个 cookie 集 fromhttp://example.com/foo/bar.html
将被发送回所有以 . 开头的 URL /foo
。
如果domain
以点开头,则它还涵盖所有子域。例如,为 设置的 cookie.example.com
也将被发送回static.example.com
.
不考虑端口号。
调试 cookie 的问题不会影响您的访问者,只会影响开发人员,因此使用适当的浏览器选项删除 cookie 会更容易。