1. response
- request 기본 객체와는 정반대로 웹 브라우저에 보내는 응답 정보를 담는다.
- 헤더 정보 입력과 리다이렉트 기능이 있다.
2. 헤더 정보 전송
- 응답 정보에 헤더를 추가하는 기능을 제공한다.
- 헤더 정보에는 주로 웹 서버에 대한 정보를 담는 경우가 많다.
메서드 |
반환형 |
설명 |
addDateHeader(String name, long date) |
void |
name 헤더에 date를 추가한다. |
addHeader(String name, String value) |
void |
name 헤더에 value를 값으로 추가한다. |
addIntHeader(String name, int value) |
void |
name 헤더에 정수 값 value로 지정한다. |
setDateHeader(String naem, long date) |
void |
name 헤더의 값을 date로 지정한다. |
setHeader(String name, String value) |
void |
name 헤더의 값을 value로 지정한다. |
setIntHeader(String name, int value) |
void |
name 헤더의 값을 정수 값 value로 지정한다. |
containsHeader(String name) |
boolean |
이름이 name인 헤더를 포함하고 있을 경우 true를, 그렇지 않을 경우 false를 리턴한다. |
3. 캐시 제어를 위한 응답 헤더
- 데이터가 변경되었음에도 불구하고 웹 브라우저가 변경된 내역을 출력되지 않는 이유는 실제 서버가 생성한 결과를 출력하지 않고 캐시에 저장된 데이터를 출력하기 때문이다.
- 거의 내용이 변경되지 않는 사이트는 웹 브라우저 캐시를 통해서 빠른 응답을 제공할 수 있다.
- 그러나, 게시판과 같이 내용이 자주 변경되는 사이트는 웹 브라우저 캐시가 적용되면 사용자는 변경된 내용을 확인할 수 없다.
- HTTP는 특수한 응답 헤더를 통해서 웹 브라우저가 응답 결과를 캐시 할 것인지에 대한 설정을 할 수 있다.
- Cache-control 응답헤더 : HTTP 1.1 버전에서 지원하는 헤더, 값을 'no-cache'로 지정하면 캐시에 저장하지 않는다.
- Pragma 응답헤더 :HTTP 1.0 버전에서 지원하는 헤더, 값을 'no-cache'로 지정하면 캐시에 저장하지 않는다.
<% response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-store"); response.setHeader("Expires", 1); // Expires 응답 헤더는 HTTP 1.0 응답 헤더로서 응답 결과의 만료일을 지정할 때 입력한다. // 캐시 대상이 아닌 문서의 경우 0이나 1과 같은 값을 입력해서 현재 시간 이전으로 만료일을 지정함으로써 응답 결과가 캐시 되지 않도록 설정하게 된다. %>
4. 리다이렉트
- 웹 서버가 웹 브라우저에게 다른 페이지로 이동하라고 지시하는 것이다.
- response.sendRedirect(String location) 메서드를 사용해서 리다이렉트 할 수 있다. (location에 이동할 페이지 주소를 입력한다)
- 리다이렉트를 사용할 때에도 인코딩을 알맞게 수행해주어야 한다.
'Java > Java EE' 카테고리의 다른 글
JSP 기본(내장) 객체 - out, pageContext, application, page (0) | 2013.09.16 |
---|---|
JSP 실행(처리) 과정 (0) | 2013.09.16 |
JSP 기본(내장) 객체 - request (0) | 2013.09.13 |
JSP 스크립트 요소 (0) | 2013.09.12 |
JSP 디렉티브(Directive)(지시자) - page (0) | 2013.09.12 |