我有以下返回会话ID的restcontroller:
@GetMapping(value = "/api/sessionid")
public @ResponseBody String getSessionId() {
return RequestContextHolder.currentRequestAttributes().getSessionId();
}
当我使用postman或chrome浏览器时,它会在每次请求时返回相同的sessionid。但是当我使用curl获取sessionid时,它会在每个请求上返回不同的sessionid。
为什么使用curl时sessionid会发生变化?
1条答案
按热度按时间lp0sw83n1#
当您使用chrome向服务器发送请求时:服务器使用cookie作为会话跟踪机制来识别您的会话。使用curl时:没有会话跟踪机制,这就是服务器为每个请求创建新会话的原因。
您可以在此处阅读有关会话跟踪的更多信息:https://javapapers.com/servlet/explain-the-methods-used-for-session-tracking/