수업/JSP

8.쿠키 9.세션

MDanderson 2024. 10. 6. 00:34

쿠키

 

웹서버가 쿠키를 만들어서 응답헤더에 포함시킴

웹브라우저가 쿠키를 저장했다가 차후 같은 서버에 다른 요청을 보낼때 저장 중인 쿠키를 요청헤더에 넣어보냄

 

서버와 클라이언트간 상태정보를 공유함으로써 연이은 여러 요청을 관련지어 처리할 수 있음

웹서버는 쿠키정보를 이용하여 사용자를 식별할 수 있음

 

기본적으로 쿠키는 그것을 보낸 서버에게만 전송될 수 있음

쿠키에 도메인설정을 하면 같은 도메인 상에 있는 다른 호스트들과 쿠키를 공유할 수 있음

cookie.setDoamin(".oracle.com")

쿠키를 생성한 서버의 주소와 관련이 없는 도메인은 의미가 없음

 

경로: 클라이언트가 서버에 요청을 보낼때 쿠키를 보낼 서버상의 경로를 정하는 것

지정경로(하위경로 포함에 있는 페이지만 쿠키를 보냄

경로를 지정하지않으면 쿠키를 만든 페이지가 위치한 경로로 설정됨

cookie.setPath(String uri) 을 이용

 

http의 stateless특성

서버가 응답을 보낸 후에는 클라이언트에 대해 알지 못함

a.jsp요청과 계속된 b.jsp요청은 서로 무관함

상태관리를 위해 쿠키나 세션을 이용해야함

 

쿠키를 이용한 로그인/로그아웃 절차

로그인이되면 로그인상태에서 사용할 쿠키를 생성

이후 페이지를 방문할 때에는 서버가 클라이언트가 보낸 쿠키를 가지고 로그인 여부를 판단

로그아웃을 하면 사용했던 쿠키를 삭제

 

다음 코드에 관한 설명으로 잘못된 것은?

1

쿠키 객체를 생성한다.

2

쿠키를 클라이언트로 보낸다.

3

같은 이름의 쿠키가 존재한다면 쿠키의 값을 변경하는 것이다.

4

쿠키의 유효시간을 0으로 지정한다.

정답입니다.
정답 : 4

쿠키 유효시간의 기본 값은 –1로 웹 브라우저가 종료될 때 쿠키가 삭제된다.

 

JSP 페이지에서 클라이언트가 보낸 쿠키를 읽고자 한다. 올바른 것은?

1

request.getCookies( )

2

request.getCookie( )

3

response.addCookies( )

4

response.addCookie( )

정답입니다.
정답 : 1

클라이언트가 보낸 쿠키를 읽을 때는 request.getCookies( )를 이용한다. 이때 Cookie 객체들로 구성된 배열이 리턴된다.

 

 

 

세션

 

클라이언트의 상태 관리를 위한 기법

클라이언트가 특정 작업을 수행하는 기간

-클라이언트는 여러 페이지를 이동하면서 연관된 일련의 요청을 보냄

- 이런 경우 웹 애플리케이션은 클라이언트의 상태를 유지해야함

- 즉, 클라이언트별로 필요한 정보를 저장하고 할 수 있어야함

- 따라서 세션을 만들고 관리해야함

 

서버는 웹브라우저 별로 1개의 세션을 생ㅅ성

웹브라우저를 종료하면 세션이 종료됨

- JSESSIONID이름의 쿠키를 만들어서 클라이언트로 보냄

세션 유효시간이 경과되는 경우 기존 세션이 종료됨

 

 

 

session 내장객체

클라이언트가 웹 컨테이너에 최초 접속하면 세션이 자동으로 만들어짐

page지시어에서 session의 속성을 false로 하면 세션을 지원 못함(기본값은 true임)

접속할때 세션이 존재하면 기존 세션을 그대로 사용

웹컨테이너가 제공하는 HttpSession유형의 객체

 

하나의 웹브라우저로부터 들어오는 여러 요청을 처리할때 필요한 사용자 정보를 세션객체에 저장해야함

 

 

 

세션의 유효시간 설정 방법1

기본은 30분으로 설정되어 있다.

 

 

 

JSP에서 세션은 자동으로 만들어짐

서블릿 프로그램에서는 session이 내장 객체가 아님

request.getSession()을 사용하여 현재의 세션객체를 이용할 수 있음( 세션이 존재하지 않으면 세션객체를 생성하여 리턴함)

request.getSession(false) 는 현재 세션객체를 리턴하는데 세션이 존재하지 않으면 null을 리턴함(새 세션을 만들지 않고)

 

 


세션의 유효시간이란 무엇인가?

1

세션이 처음 생성되어 삭제될 때까지의 기간이다.

2

클라이언트의 마지막 요청 후에 추가 요청이 없어도 유지될 수 있는 기간이다.

3

세션이 삭제되어야 하는 시간이다.

4

세션이 삭제된 후 다시 만들어질 때까지의 기간이다.

정답입니다.
정답 : 2

세션의 유효시간이 1분이라면 마지막 요청 후 1분 이내에 추가 요청이 있어야 세션이 유지된다.

 

 

 

'수업 > JSP' 카테고리의 다른 글

11.JDBC 12. DTO,DAO  (0) 2024.10.06
10.자바빈  (0) 2024.10.06
7.모듈화된 jsp , 액션태그  (1) 2024.10.05
6. 내장객체, scope  (1) 2024.10.03
4.JSP동작원리 5.요청과 응답  (1) 2024.10.02