728x90
JSP - [제8강] 쿠키 사용하기
쿠키의 생성, 쿠키 값 읽기, 변경 및 삭제, 쿠키의 도메인, 쿠키의 경로, 쿠키를 이용한 로그인과 로그아웃
JSP 용어정리
- 쿠키
- 웹 서버가 만들어 웹 브라우저에게 보내는 작은 크기의 텍스트 데이터이다. 쿠키는 클라이언트 컴퓨터에 저장되고 차후 같은 서버에 요청을 할 때 보내진다. 쿠키는 하나의 이름과 값을 가지며 유효 시간, 경로 및 도메인 등과 같은 추가 정보를 가질 수 있다. 사용자 인증, 세션 식별, 사용자 선호, 쇼핑 카트의 목록 관리 등을 위해 사용되는 상태 관리 기법이다.
- 쿠키의 유효기간
- 클라이언트에서 쿠키가 저장된 후, 보관되는 기간이다. 유효 시간이 지난 쿠키는 웹 브라우저에 의해 삭제된다. 유효 시간이 0인 쿠키는 바로 삭제된다. 유효 시간의 기본 값은 –1이며 이 경우 쿠키는 웹 브라우저가 종료될 때 삭제된다.
- 쿠키의 도메인
- 기본적으로 쿠키는 그것을 보내 준 서버에게 요청할 때만 클라이언트로부터 전송된다. 쿠키의 도메인 설정을 통해 같은 도메인 상에 있는 다른 서버들이 쿠키를 공유할 수도 있다.
- 쿠키의 경로
- 클라이언트가 서버에게 요청을 할 때, 쿠키에 설정된 경로와 그것의 하위 경로에 있는 페이지를 요청할 때만 쿠키가 전송된다. 쿠키에 경로를 지정하지 않으면 기본적으로 쿠키를 만들어 보낸 페이지의 경로와 그 하위 경로에 쿠키가 보내질 수 있다.
요점정리
- 웹 브라우저가 웹 서버에 최초 요청을 보내고 그 요청에 대한 응답을 웹 서버가 보낼 때, 상태 관리를 위해 쿠키를 응답 헤더에 넣어 보낼 수 있다. 웹 브라우저는 해당 쿠키를 저장했다가 같은 서버에 다른 요청을 보낼 때 쿠키를 요청 헤더에 넣어서 보낸다.
- 쿠키는 <이름, 값>의 형태로 구성되며 이름이나 값은 알파벳과 숫자로 된 문자열만 가능하다. 쿠키에 ‘유효시간’, ‘도메인’, ‘경로’ 등과 같은 추가적인 정보가 지정될 수 있다.
- 쿠키의 생성은 이름과 값을 인자로 주어 Cookie 객체를 만드는 것이며, 쿠키를 보내려면 response.addCookie(Cookie)를 이용한다.
- 쿠키의 유효시간은 쿠키가 생성된 이후에 사용될 수 있는 기간을 의미한다. 유효시간이 경과된 쿠키는 클라이언트에서 자동으로 삭제된다. 유효시간의 기본 값은 –1이며, 이 경우 쿠키는 웹 브라우저를 종료할 때 삭제된다.
- 쿠키 값을 변경하려면 같은 이름의 쿠키를 생성한 후 값을 변경하여 전송하면 되며, 삭제하려면 유효시간을 0으로 변경하여 전송해 주면 된다.
- 클라이언트에서 서버로 요청할 때, 쿠키에 지정된 도메인과 경로에 따라 상응하는 페이지로의 요청에만 쿠키가 동봉된다.
연습문제
- 쿠키에 대한 설명으로 잘못된 것은?
- 정답 :
-
④
- 해설 :
- 쿠키는 클라이언트 컴퓨터에 저장되었다가, 클라이언트가 같은 서버에 추가 요청을 보낼 때 쿠키를 함께 전송한다.
- 다음 코드에 관한 설명으로 잘못된 것은?<% Cookie cookie=new Cookie(“name”, “value”);
response.addCookie(cookie); %>- 정답 :
-
④
- 해설 :
- 쿠키의 유효시간을 지정하려면 cookie.setMaxAge(3600)과 같이한다. 명시적으로 유효시간이 지정되지 않은 쿠키의 유효시간은 –1이다.
- JSP 페이지에서 클라이언트가 보낸 쿠키를 읽고자 한다. 올바른 것은?
- 정답 :
-
①
- 해설 :
- 서버에서 클라이언트가 보낸 쿠키를 읽을 때는 request.getCookies( )를 이용한다. 이때 Cookie 객체들로 구성된 배열이 리턴된다. 서버가 클라이언트로 쿠키를 보낼 때는 response.addCookie( )를 사용하여 한 개씩 전송한다.
- 쿠키의 유효시간에 관한 설명이다. 잘못된 것은?
- 정답 :
-
④
- 해설 :
- 쿠키의 유효시간이 음수인 것은 유효시간을 지정하지 않은 것과 같다. 따라서 웹 브라우저가 종료될 때 까지만 유지된다.
- 정답 :
-
③
- 해설 :
- 쿠키를 사용하지 않고 세션을 사용하는 방법도 있다. 이때는 session 객체를 이용하게 된다.
쿠키를 사용하여 로그인을 처리하는 JSP 페이지를 구현하였다. 필요한 작업이 아닌 것은?
'컴퓨터과학[3-2] > J.S.P' 카테고리의 다른 글
JSP - [제10강] 자바 빈 사용하기 (0) | 2016.07.22 |
---|---|
JSP - [제9강] 세션 사용하기 (0) | 2016.07.22 |
JSP - [제7강] 모듈화된 JSP 페이지 만들기 (0) | 2016.07.21 |
JSP - [제6강] 내장 객체와 Scope (0) | 2016.07.21 |
JSP - [제5강] 요청과 응답 (0) | 2016.07.21 |
댓글