【问题标题】:How do cookies work when browsing websites浏览网站时 cookie 的工作原理
【发布时间】:2010-04-04 21:06:25
【问题描述】:

在您必须输入用户名和密码的网站上,我注意到我可以使用一个浏览器浏览该网站,无论我在网站上的哪个位置,它都会知道我是谁。但是,如果我打开其他浏览器,除非我在该浏览器中登录,否则它不会知道我在该浏览器中的身份。

在我登录网站后,它是否会在我的浏览器中存储某种 cookie,并且每次我导航到该网站上的不同页面时,它都会检查 cookie 中的我的身份?

如果我登录,然后在浏览网站上的其他页面之前删除了 cookie,会发生什么情况?

【问题讨论】:

标签: cookies web


【解决方案1】:

这更像是一个“教人钓鱼”的答案,所以如果这不是你所追求的,我深表歉意。但是,如果您接受我的建议,您将学到很多东西,所以请相信我:)

您可以使用许多工具准确地跟踪浏览器和服务器之间的 http 流量。一个叫做 Firebug,一个 Firefox 插件。另一种工具称为“网络调试代理”。有charles,非常强大,还有fiddler,免费。

您希望使用这些工具中的任何一个执行的操作是使用网站,然后查看原始请求。这会准确地向您显示您的浏览器对服务器所说的内容。您将看到该服务器的 cookie 与每个请求一起发送。这些工具最酷的地方在于,您可以在请求发送之前对其进行编辑,这样您就可以测试服务器如何响应...

【讨论】:

  • 谢谢,刚刚安装了firebug。我如何用 firebug 看到它?
  • 一旦你打开萤火虫(通过点击瓢虫),打开“网络”标签。这显示了所有 http 请求(图像、css、html 等)。单击 html 请求,您将能够深入到请求标头中
【解决方案2】:

在我登录网站后,它是否会在我的浏览器中存储某种 cookie,并且每次我导航到该网站上的不同页面时,它都会检查 cookie 中的我的身份?

是的。 cookie 随每个 HTTP 请求一起发送。

如果我登录,然后在浏览网站上的其他页面之前删除了 cookie,会发生什么情况?

就像切换浏览器一样。

【讨论】:

  • cookie是如何放入请求中的?来自cookie内部的信息是否附加到html地址?
  • @Phenom 使用 wireshark 或 HTTP 代理来研究细节,但细分如下:HTTP 请求包含 URL(“html 地址”)和 Web 浏览器存储的所有 cookie这个特定的域和 URL 路径。详情请见en.wikipedia.org/wiki/HTTP_Cookie#Setting_a_cookie
【解决方案3】:

每次浏览新页面时,您的浏览器都会向服务器发送一个请求,而服务器会将响应发回给您。您的请求包含服务器可以解析和使用的 cookie。如果您删除 cookie,您的浏览器将无法在下一个请求中发送它。

【讨论】:

  • cookie是如何放入请求中的?来自cookie内部的信息是否附加到html地址?
  • 您的浏览器会存储它。 Cookies 具有名称、值、域、路径、到期时间。当您浏览一个站点时,您的浏览器会发送允许该站点访问的 cookie。
【解决方案4】:

如果我登录,然后在浏览网站上的其他页面之前删除了 cookie,会发生什么情况?

您将不再登录。

在我登录网站后,它是否会在我的浏览器中存储某种 cookie,并且每次我导航到该网站上的不同页面时,它都会检查 cookie 中的我的身份?

是的。最有可能的是,您正在处理“会话cookie”。这些 cookie 本身不存储任何信息,而是使用长字符串向服务器标识您自己。我建议对 cookie 进行一些研究。至于(我猜是假设的)问题“为什么 cookie 在不同的页面上工作?”是因为 cookie 绑定到域,而不是确切的 URI。

Cookie 包含名称、值和过期时间(以及其他一些)。您将看到的最常见的是会话,它使用标识符从包含您的信息的服务器加载会话状态。这些是最安全的 cookie,因为一切都是集中的,不容易被劫持。另一种是常规cookie,它的大小有限,在客户端存储信息。与购物有关的任何事物或任何跟踪用户的事物都最有可能使用会话,而诸如可定制的 javascript-y 页面之类的事物可能使用普通的 cookie。前者在服务器端跟踪信息以提高安全性,而后者不存在安全风险,并将信息留给客户端管理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多