2013년 6월 11일 화요일

http - session & cookie

0. 지난 1년간 web server를 개발한다고 앉아 있으면서 http session이 어떻게 동작하는지 모르고 있었다니...-_-;

1. http session & http cookie
 - session : server에 저장되는 정보
 - cookie : client에 저장되는 정보 (브라우저 마다 저장되는 위치나 형식이 다르다.)

2. login session? session cookie?
 - session을 관리하는 가장 일반적인 방법이 login 시 session을 생성하고, client가 생성된 session id를 cookie에 저장하여 이후 요청 할 때 마다 이 id를 이용하는 것이다. 그래서 login session, session cookie라는 말을 사용하는 것 같다.

3. http header
 - session 정보는 http header에 담겨서 전달된다.
 - requests field 중
Cookiean HTTP cookie previously sent by the server with Set-Cookie (below)
 - responses field 중
Set-CookieAn HTTP cookie

4. how?


















5. URLConnection sample code (client)
 - java application client 에서 session을 관리하기 위해서는 cookie를 받아서 저장 후 다음 request 시 사용해준다. 아래는 cookie 정보를 string으로 변환하는 예. (Collection 객체로 return 된다.)

HttpURLConnection connection = null;
Map m = connection.getHeaderFields();
if(m.containsKey("Set-Cookie")) {
    Collection c =(Collection)m.get("Set-Cookie");
    for(Iterator i = c.iterator(); i.hasNext(); ) {
        cookie = (String)i.next();
    }
}

댓글 없음:

댓글 쓰기