2008-10-24 7 views
2

이 웹 페이지 http://www.w3schools.com/ASP/prop_sessionid.asp에는 ServerSide에 세션 ID가 생성되어 있다고 나와 있습니다.서버 측 또는 클라이언트 측에서 세션 ID가 생성됩니까?

그런 경우 서버가 2 차 요청 응답주기에서 여전히 동일한 클라이언트임을 어떻게 알 수 있습니까?

확실히 클라이언트가 서버에 동일한 값을 전달할 수 있도록 SessionId가 생성됩니다.

+0

클래식 ASP는 쿠키 만없는 모드를 지원하지 않으며 ASP.NET 만 지원합니다. – Kev

답변

13

세션 ID는 서버 측에서 생성되지만 쿠키 내에서 클라이언트에 저장됩니다. 그런 다음 클라이언트가 서버에 요청할 때마다 SessionID는 클라이언트의 기존 세션을 인증하는 데 사용됩니다.

+1

반드시 쿠키 일 필요는 없습니다. 나는 querystring에 내장 될 수있다. – Salamander2007

+1

세션 쿠키 만 사용하는 고전적인 ASP 예제에 대한 링크입니다. ASP.NET은 쿠키없는 세션을 사용할 수 있습니다. – Kev

0

서버가없는 경우 세션 ID가 생성됩니다. 그러나 일단 클라이언트가 생성되면, 클라이언트는 그 id를 다시 서버에 전달할 수 있습니다. 클라이언트가 해당 ID를 수정하면 서버에서 오류가 발생하고 새 ID가 생성됩니다.

0

ID는 서버에서 생성됩니다. 그런 다음 클라이언트는이 요청을 후속 요청에서 서버가 선택하는 세션 쿠키에 저장합니다.

서버가 쿠키없는 모드로 실행되는 경우 세션 키는 URL의 일부가되고 서버는 거기에서 파싱합니다.

ADDED : 서버가 세션 쿠키를 사용하려고하지만 클라이언트가 쿠키를 비활성화 한 경우 서버의 관점에서 볼 때 모든 요청은 동일한 사용자임을 알 수없는 새로운 세션입니다 .

2

세션 ID는 일반적으로 서버에서 생성됩니다. 그런 다음 HTTP 헤더의 쿠키로 보내거나 HTML에 포함 시키면 (즉, 링크는 href = my.html? sessionid = 1234가됩니다) 클라이언트에 전송됩니다.

클라이언트의 다음 요청에는 쿠키 또는 요청의 GET 부분에 세션 ID가 포함됩니다.

+1

누가 이것을 downvoted? 아무도이 대답에 문제가 있다고 생각되면 알려주세요 ... – Tom