SessionId 在 Spring 引导应用程序中的每个 curl 请求中不断变化

SessionId keeps changing in every curl request in Spring Boot Application

我有以下 RestController returns 一个 SessionId:

@GetMapping(value = "/api/sessionid")
public @ResponseBody String getSessionId() {
    return RequestContextHolder.currentRequestAttributes().getSessionId();
}

当我使用 PostmanChrome 浏览器 时,它 returns 相同 每个请求的 SessionId。但是当我使用 CURL 获取 SessionId 时,它 returns 每个请求都有一个 不同的 SessionId。

为什么使用CURL时SessionId会变?

当您使用Chrome向服务器发送请求时:服务器使用cookie作为会话跟踪机制来识别您的会话。 当您使用 CURL 时:没有会话跟踪机制,这就是服务器为每个请求创建一个新会话的原因。

您可以在此处阅读有关会话跟踪的更多信息:https://javapapers.com/servlet/explain-the-methods-used-for-session-tracking/