2012-01-17 2 views
18

정확히 HTTP 세션의 범위는 무엇입니까?HTTP 세션의 범위는 무엇입니까?

나는 이것을 찾았지만 곧장 대답을 얻을 수없는 것처럼 보입니다. 세션은 "사용자가 브라우저를 닫을 때"지워지 겠지만 분명히 나에게 불분명합니다. 창을 닫거나 브라우저 응용 프로그램을 종료 하시겠습니까? 두 개의 브라우저 창을 동시에 열어 두 개의 다른 세션을 유지합니까? 그리고 동일한 세션이라면 브라우저 탭이 항상 파트입니까?

답변

13

이것은 응용 프로그램에서 세션을 추적하는 방법에 따라 달라집니다.

기본적으로 이들은 HttpOnly cookies에 의해 추적됩니다. 즉, 사용자가 현재 탭을 닫으면 세션을 잃지 않습니다. 브라우저를 닫으면 세션이 종료됩니다.

쿠키를 사용하지 않는 모드를 사용하여 세션 (cookieless="true")을 추적하는 경우 ASP.NET은 모든 URL에 사용자 지정 토큰을 추가하여 동일한 브라우저 인스턴스의 2 개의 다른 탭에 2 개의 다른 세션으로 로그온 할 수 있습니다.

+0

Darin- 그래서 HttpOnly 쿠키의 경우 세션은 각 브라우저 * 창 *의 유효 기간에 해당한다고 말하고 싶습니까? – Yarin

+0

@Yarin, 맞아, 그게 내가 말하는거야. 로그 아웃과 같이 하나의 브라우저 탭에서 무언가를 변경하면 활성 세션이있는 경우 다른 모든 탭에서 자동으로 로그 아웃됩니다. –

5

모든 질문에 대한 답변은 "의존적"입니다.

여러 브라우저 창은 여러 세션이 될 수도 있고 동일한 세션이 될 수도 있습니다. 브라우저 동작 및 창 열기 방법에 따라 다릅니다.

IE에는 '새 창'과 '새 세션'에 대한 메뉴 옵션이 있습니다. '새 창'옵션은 동일한 세션을 유지하며 '새 세션'옵션은 다른 세션이있는 새 창을 엽니 다. 브라우저를 시작할 때 Shift 키를 누른 상태로 IE에서 새 세션을 가져올 수도 있습니다.

모든 세션이 종료되었는지 확인하려면 모든 브라우저 창을 닫으십시오.

+0

BNL- "어떻게 창문을 열었습니까?" 당신은 정교 할 수 있습니까? – Yarin

+0

설명에서 편집 됨. – BNL

+0

OK 덕분에 부분적인 신용을 줄 수 있었으면 좋겠다 – Yarin

3

세션 쿠키는 일반적으로 브라우저가 모두 종료 될 때 삭제됩니다. 여러 탭/창은 동일한 쿠키를 공유하므로 해당 탭/창은 동일한 세션을 사용합니다.

그러나 응용 프로그램은 URL을 통해 세션 식별자를 전달할 수도 있습니다. 이 경우 유효한 세션 ID가있는 링크를 통해 열지 않는 한 모든 탭/창에는 자체 세션이 있습니다.

+0

ThiefMaster - "전체 브라우저가 종료 될 때"= 브라우저 앱을 종료 하시겠습니까? – Yarin

관련 문제