문제

최근에 쿠키가없는 세션에 대해 파헤 치고 있었는데, 세션이 서버에서 생성 될 때마다 ID가 쿠키, 클라이언트 컴퓨터에 저장된다는 기사를 접했습니다.세션 ID가 쿠키에 있고 쿠키가 클라이언트 컴퓨터에 로컬로 저장되는 경우 세션이 서버에 저장되어 있다고 어떻게 말할 수 있습니까?그렇다면 쿠키리스 세션의 개념은 무엇입니까? 누구든지 저를 설명 할 수 있습니까?

도움이 되었습니까?

해결책

세션 상태는 (거의 항상) 서버에 저장되며 세션 토큰 인 난수로 식별됩니다.

해당 토큰은 클라이언트가 저장하고 HTTP 요청과 함께 서버로 보내야합니다 (서버가 이전에 그를 본 적이 있다는 것을 기억하고 세션을 요청에 연결할 수 있도록). <인용구>

세션이 서버에 저장되어 있다고 말할 수 있습니까? 맞습니까? 세션이 서버에 저장되어 있습니까?

세션 토큰 만 클라이언트에 저장되며 임의의 숫자이기 때문에 그 자체로 유용한 정보를 포함하지 않습니다.서버에 저장된 데이터와 함께 가치가있을뿐입니다. <인용구>

그렇다면 쿠키없는 세션의 개념은 무엇입니까?

토큰을 저장하는 가장 쉬운 방법은 쿠키를 사용하는 것입니다.그것이 쿠키가 발명 된 이유입니다.대안은 숨겨진 양식 변수를 사용하거나 URL의 일부로 쿠키를 앞뒤로 전달하는 것입니다.

다른 팁

세션은 서버에 저장됩니다.ID와 연결된 각 세션 (ASP.NET에서 가장 간단한 세션 상태 공급자는 ID를 키로 사용하는 메모리의 사전입니다).이 ID는 클라이언트의 쿠키에도 저장되지만 쿠키가없는 세션의 경우 URL에 ID가 저장됩니다 ()..

세션 ID를 테이블의 키로 생각하고 세션 상태를 값으로 생각하십시오.값이 아닌 키만 클라이언트에게 전송됩니다.

ASP.NET의 경우 세션 상태 자체는 키 / 값 쌍을 포함하는 사전입니다.

표준 SQL Server 세션 공급자를 사용하는 경우 위에서 언급 한 테이블을 ASPStateTempSessions라고합니다.SessionId는 PK이고 직렬화 된 DictionarySessionItemShort 또는 SessionItemLong 열에 저장됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top