패키지

세션이란 본문

기타

세션이란

업단업업 2016. 6. 18. 15:56

세션이란?

 

1) 망 환경에서 사용자간 또는 컴퓨터 간의 대화를 위한 논리적 연결

2) 프로세스들 사이에서 통신을 하기 위해 메세지 교환을 통해 서로를 인식한 이후부터 통신을 마칠 때까지의 시간.

 

 

*세션이란

일정 시간동안 같은 사용자(정확하게 브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술.

또한 여기서 일정 시간이란 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료함으로써 연결을 끝내는 시점을 말한다.

즉, 방문자가 웹서버에 접속해 있는 상태를 하나의 단위로 보고 세션이라고 칭한다.

 

*쿠기

특정 웹 사이트를 방문 했을 때 만들어지는 정보를 담는 파일을 지칭.

쉽게 말해, 상태정보를 유지하는 기술

 

**쿠기와 세션의 차이점

-쿠키

방문자의 정보를 방문자 컴퓨터의 메모리에 저장하는 것.

예를 들면 id나 비밀번호를 저장하거나 방문한 사이트를 저장하는데 사용.

(IE 인터넷 옵션에서 검색 기록 삭제할 때 임시파일, 열어본 페이지목록, 쿠키, 저장된 암호 및 웹 양식 정보 삭제)

 

-세션

방문자의 요청에 따른 정보를 방문자 메모리에 저장하는 것이 아닌 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장을 하는 것.

 

 

**SO

그래서

쿠키와 달리 세션은 사용자들의 로그인 정보에 대한 보안을 한층 업그레이드 할 수 있어 웹사이트에 방문항 계속 접속을 유지할 때 이전의 접속 정보를 이용할 수 있는 방법으로 많이들 사용한다.

 

 

 

1. HTTP Session이란?









1. session이란? 서버가 해당 서버(웹)로 접근(request)클라이언트(사용자)를 식별하는 방법


2. 서버(웹)는 접근한 클라이언트(사용자)에게 response-header field인 set-cookie 값으로 클라이언트 식별자인 session-id(임의의 긴 문자열)를 발행(응답)한다.


3. 서버로부터 발행(응답)된 session-id는 해당 서버(웹)와 클라이언트(브라우저) 메모리에 저장된다. 

이때 클라이언트 메모리에 사용되는 cookie 타입은 세션 종료 시 같이 소멸되는 "Memory cookie"가 사용된다.


4. 서버로부터 발행된 session(데이터)을 통해 개인화(사용자)를 위한 데이터(userInfo 등..)로 활용할 수 있다.





2. HTTP Session 동작 순서



1. 클라이언트(사용자)가 서버로 접속(http 요청)을 시도한다.


2. 서버(웹)는 접근한 클라이언트의 request-header field인 cookie를 확인해 클라이언트가 해당 session-id를 보내왔는지 확인한다.


3. 만약 클라이언트로 부터 발송된 session-id가 없다면, 서버는 session-id를 생성해 클라이언트에게 response-header field인 set-cookie 값으로 session-id(임의의 긴 문자열)를 발행(응답)한다.




* 첫 번째 요청(http) 시 클라이언트로 부터 발송된 session-id 가 없으므로 서버는 session-id를 생성해 클라이언트에게 발행(응답)한다.






* 두 번째 요청(http) 시 클라이언트는 서버로 부터 발행(응답)된 session-id를 request-header cookie 값으로 포함하고 있다.





4. 서버로부터 발행(응답)된 session-id는 해당 서버(웹)와 클라이언트(사용자 브라우저) 메모리에 저장된다. 


이때 사용되는 cookie 타입은 세션 종료 시 같이 소멸되는 "memory cookie"가 사용된다.



5. 클라이언트 접속 종료(브라우저 닫기 등..) 시 서버에 저장된 session-id(server resource 소유)는 소멸된다.




참고 블로그

 

http://88240.tistory.com/entry/Session-%EC%9D%B4%EB%9E%80

http://mohwaproject.tistory.com/176

 

Comments