我正在学习会话管理,我有两个问题,我无法在网上找到答案。
用户通过身份验证后,服务器会创建会话ID,并以cookie的形式将其发送给客户端(用户)。然后,该cookie随后用于请求客户端发送到服务器以在其他用户中识别自己。
现在在HTTPS会话中,客户端和服务器之间发送的请求是安全的,因为来自客户端的请求是使用公钥加密的,并且只能使用服务器所拥有的私钥加密。
但最初当服务器将cookie信息发送给客户端时,任何人都可能截获该信息,即使包含会话ID的cookie使用私钥加密,也可以由拥有公钥的任何人解密。所以,我的问题是:
1)服务器如何确保服务器创建的会话ID安全地发送到客户端。
2)我了解到客户端为服务器发出的每个请求都会发送cookie。在GET请求中,客户端如何发送cookie信息,因为GET不包括正文。
答案 0 :(得分:0)
使用HTTPS时,在实际发送任何HTTP请求之前建立安全连接。
Transport Layer Security (TLS)及其前身SSL不是建立在HTTP之上,反之亦然。它们是OSI model中HTTP下面的一层或两层。 HTTP并不关心它使用的连接是否加密。浏览器只是请求资源并发送cookie等头信息。
您可以自己查看。运行wireshark等捕获软件,查看如何使用HTTP和HTTPS为网站建立连接。