Cookie 是客户端,而会话是服务器端,但是如果我们在浏览器上禁用 cookie,为什么会话不起作用。
这两者在 Web 应用程序中是如何相关的。
Cookie 是客户端,而会话是服务器端,但是如果我们在浏览器上禁用 cookie,为什么会话不起作用。
这两者在 Web 应用程序中是如何相关的。
服务器只能看到对网页的传入请求。服务器处理此请求并将响应发送回客户端。客户端和服务器之间没有持久连接。因此,服务器无法判断这是返回的客户端还是全新的客户端。
要启用会话,您需要向客户端发送一个具有唯一会话 ID 的值。在每个后续请求中,客户端都会将此 ID 发送回服务器。这样,服务器可以使用 id 来加载特定客户端的会话状态。
该值通常在 cookie 中发送。浏览器将 cookie 附加到每个请求,这样服务器就知道谁在调用。您还可以将会话密钥存储在 url 的查询字符串中,但这不是默认设置。
您的 Web 应用程序如何知道当前请求是否是新会话?它大多数都有一些指示,因此它使用 cookie 来保存会话 ID。
顺便说一句,您可以在Cookieless模式下工作,其中会话 ID 通过 URL 查询参数进行暂停。