2012-02-21 1 views
1

최근에 쿠키가없는 세션에 대해 파헤쳐 보았습니다. 세션이 서버에서 생성 될 때마다 ID가 클라이언트 컴퓨터의 쿠키에 저장된다는 기사가 나옵니다. 내 대학에서 세션이 서버에 저장되어 있다고 생각하고 sessionID가 쿠키에 있고 쿠키가 클라이언트 컴퓨터에 로컬로 저장되어 있다고 가정하면 세션이 서버에 저장되는 방법은 서버에 저장되는 것입니다. 그렇다면 쿠키없는 세션의 개념은 누구나 나를 설명 할 수 있습니까?asp.net의 쿠키리스 세션

답변

5

세션 상태는 거의 항상 서버에 저장되며 세션 토큰 인 임의의 숫자로 식별됩니다.

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

세션이 서버에 저장되는 방법은 서버에 저장되는 것입니다.

세션 토큰 만 클라이언트에 저장되며 임의 번호이므로 자체에 유용한 정보가 포함되어 있지 않습니다. 이는 서버에 저장된 데이터와 함께 가치있게됩니다.

예 다음 쿠키 세션

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

1

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

0

세션 ID를 테이블의 키로 간주하고 세션 상태를 값으로 생각하십시오. 키만 클라이언트에 전송되고 값은 전송되지 않습니다.

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

표준 SQL Server 세션 공급자를 사용하는 경우 위에서 언급 한 표는 ASPStateTempSessions입니다. SessionId은 PK이고 일련 번호는 Dictionary이며 SessionItemShort 또는 SessionItemLong 열에 저장됩니다.