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();
}
当我使用 Postman 或 Chrome 浏览器 时,它 returns 相同 每个请求的 SessionId。但是当我使用 CURL 获取 SessionId 时,它 returns 每个请求都有一个 不同的 SessionId。
为什么使用CURL时SessionId会变?
当您使用Chrome向服务器发送请求时:服务器使用cookie作为会话跟踪机制来识别您的会话。
当您使用 CURL 时:没有会话跟踪机制,这就是服务器为每个请求创建一个新会话的原因。
您可以在此处阅读有关会话跟踪的更多信息:https://javapapers.com/servlet/explain-the-methods-used-for-session-tracking/
我有以下 RestController returns 一个 SessionId:
@GetMapping(value = "/api/sessionid")
public @ResponseBody String getSessionId() {
return RequestContextHolder.currentRequestAttributes().getSessionId();
}
当我使用 Postman 或 Chrome 浏览器 时,它 returns 相同 每个请求的 SessionId。但是当我使用 CURL 获取 SessionId 时,它 returns 每个请求都有一个 不同的 SessionId。
为什么使用CURL时SessionId会变?
当您使用Chrome向服务器发送请求时:服务器使用cookie作为会话跟踪机制来识别您的会话。 当您使用 CURL 时:没有会话跟踪机制,这就是服务器为每个请求创建一个新会话的原因。
您可以在此处阅读有关会话跟踪的更多信息:https://javapapers.com/servlet/explain-the-methods-used-for-session-tracking/