・http의 특징 중 하나: 클라이언트의 리퀘스트가들어오면 서버에서 레스폰해준다.  이때 레스폰이 끝나면 서버와의 접속은 끊긴다. 이를 무상태 서버, 무상태 로직이라고 부른다. 서버쪽에서는 클라이언트가 어떤 요청을 했던간에 관계를 끊기 때문에 레스폰 했던 정보를 따로 저장해두지 않는다. 그런데 연결이 끊긴 상태에서 정보를 지속적으로 유지해야할 필요성이 생긴다면 어떻게 해야할까. 예를 들어 로그인 페이지에서 로그인과 페스워드 정보가 서버에 의해 인증 되어 클라이언트에게 레스폰되었다. 이때 서버는 레스폰후 끊기기 때문에 로그인 페이지에서의 인증결과를 가지고 있지 않다. 유저가 다음페이지로 이동할 시 서버는 로그인 아이디와 패스워드 정보를 가지고 있지 않은데 어떻게 해야할까..

이때 사용되는 것이 쿠키라는 개념이다. 위의 예를 통해 설명하면, 로그인 페이지에서 인증한 아이디와 페스워드를 쿠키객체에 담아 브라우저에 저장하고, 유저가 다음페이지로 넘어갔을 때도 다시 서버에서 인증할 필요없이 쿠키객체에서의 확인을 통해 페이지가 이동해도 지속적으로 인증될 수 있는 로직이 되는 것이다.


물리적인 텍스트가 사용자의 로컬에 저장되기 때문에 보안상의 문제로 잘 사용되지 않아지고 있는 추세지만 잘 알아둘것



・쿠키생성 : Cookie cookie = new Cookie("쿠키이름","쿠키값")

속성설정 : cookie.setMaxAge(X*Y)
response객체에 쿠키 탑재 : response.addCookie(cookie)












・Cookie cookie = new Cookie("cookieN","cookieV") : Cookie클래스를 통해 cookie인스턴스를 설정한다.

・setMaxAge(60*60) : 쿠키의 유효기간을 한시간으로 설정한다.

・response.addCookie(cookie) : response로 브라우저에 cookie객체를 보낸다. 

・Cookie[] cookie = request.getCookie() : 브라우저에 들어간 여러개의 쿠키들은 배열형태로 쌓이게 된다. 따라서 getCookie()메소드의 리턴값은 배열이다.






・setMaxAge(0)으로 설정하면, 쿠키는 삭제되게 된다.













+ Recent posts