【问题标题】:How is Session ID sent to BrowserSession ID 如何发送到浏览器
【发布时间】:2015-05-01 18:55:04
【问题描述】:

我正在学习会话管理,我有两个问题在网上找不到答案。

一旦用户通过身份验证,服务器就会创建会话 ID 并以 cookie 的形式将其发送给客户端(用户)。随后,此 cookie 将用于客户端向服务器发送的请求中,以在其他用户中识别自己。

现在在 HTTPS 会话中,客户端和服务器之间发送的请求是安全的,因为来自客户端的请求使用公钥加密,并且只能使用服务器仅有的私钥加密。

但最初,当服务器向客户端发送 cookie 信息时,任何人都可以截获它,因为即使这个包含会话 ID 的 cookie 是使用私钥加密的,任何拥有公钥的人都可以解密它。所以,我的问题是:

1)服务器如何确保服务器创建的会话ID安全地发送给客户端。

2) 我了解到客户端会针对它向服务器发出的每个请求发送 cookie。在 GET 请求中,客户端如何发送 cookie 信息,因为 GET 不包括 body 。

【问题讨论】:

    标签: session cookies encryption session-cookies


    【解决方案1】:

    使用 HTTPS 时,会在实际发送任何 HTTP 请求之前建立安全连接。

    Transport Layer Security (TLS) 和它的前身 SSL 不是建立在 HTTP 之上,而是相反。它们在OSI model 中比 HTTP 低一层或两层。 HTTP 不关心它使用的连接是否加密。浏览器只是请求资源并随其发送诸如cookie之类的标头信息。

    您可以自己检查。运行像wireshark这样的捕获软件,看看如何使用HTTP和HTTPS为网站建立连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      相关资源
      最近更新 更多