세션(Session)이란 일정 시간동안 같은 사용자(정확하게 브라우저를 말한다)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이다. 방문자의 요청에 따른 정보를 방문자 메모리에 저장하는 것이 아닌 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장하는 것이다. 서버에 저장되기 때문에 사용자 정보가 노출되지 않는다.
1. 세션의 원리
- 세션 ID를 서버에서 클라이언트가 자시 웹사이트에 접속시 발급해준다.
- 서버에서 클라이언트로 발급해준 세션 ID를 쿠키를 사용해서 저장합니다.
- 클라이언트는 다시 접속시, 이 쿠리를 이용해서 세션 ID값을 전달합니다.
2. 세션의 장점
- 각 클라이언트에게 고유 ID를 부여합니다.
- 세션 ID로 클라이언트를 구분해서 클라이언트의 요구에 맞는 서비스를 제공할 수 있습니다.
- 사용해봤던 정보들을 서버에 저장하기 때문에 보안성이 쿠키보다 우수합니다.
3. 세션의 단점
- 서버에 저장되기 때문에 서버에 처리를 요구하는 부하와 저장 공간을 필요로 한다.
4. HTTP 세션 동작 순서
- 클라이언트가 서버로 접속을 시도한다.
- 서버는 접근한 클라이언트의 request-header field인 쿠키를 확인해 클라이언트가 해당 session-id를 보내왔는지 확인한다.
- 만약 클라이언트로부터 발송된 session-id가 없다면, 서버는 session-id를 생성해 클라이언트에게 response-header field인 set cookie 값으로 session-id를 발행한다.
'Web Hacking > 이론적인 내용' 카테고리의 다른 글
OWASP Top 10 2017 (0) | 2017.07.10 |
---|---|
쿠키(Cookie)란? (0) | 2017.07.07 |
HTTP 구조 정보 (0) | 2017.06.19 |
HTTP 개요 (0) | 2017.06.12 |
Web 개요 (0) | 2017.06.05 |