JSP

response 기본 객체 01

yayeun 2016. 6. 1. 14:25

response 기본 객체는 request 객체와는 반대의 기능을 수행한다.

response 기본객체는 웹 브라우저에 보내는 응답 정보를 담는다.

- 헤더 정보 입력

- 리다이렉트 하기



웹 브라우저에 헤더 정보 전송

- request : 헤더 정보를 읽어오는 기능을 제공

- response : 응답 정보에 헤더를 추가하는 기능을 제공

메서드

리턴 타입

설명 

 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 name, long date) 

 void 

 name 헤더에 값을 date로 지정한다. 

 setHeader(String name, String value) 

 void 

 name 헤더의 값을 value 로 지정한다. 

 setIntHeader(String name, int value) 

 void 

 name 페더의 값을 정수 값 value 로 지정한다. 

 containsHeader(String name) 

 void 

 이름이 name인 헤더를 포함하고 있을 경우 true를, 그렇지 않을 경우 false 를 리턴한다. 

- add 로 시작하는 메서드는 기존의 헤더에 새로운 값을 추가

- set 으로 시작하는 메서드는 새로 헤더의 값을 지정할 때 사용



웹 브라우저 캐시 제어를 위한 응답 헤더 입력

* 새로운 내용이 DB 에 추가되었는데도 불구하고 웹 브라우저에 출력되는 내용이 바뀌지 않는 경우가 있다.

  이 경우 중 하나는 웹 브라우저가 실제 서버가 생성한 결과를 출력하지 않고 캐시에 저장된 데이터를 출력하기 때문


▣ HTTP는 캐시를 할 것인지 여부를 설정할 수 있다.

- Cache-Control 응답 헤더

: HTTP 1.1 버전에서 지원하는 헤더

: 헤더값을 "no-cache"로 지정하면 웹 브라우저는 응답 결과를 캐시에 저장하지 않는다.

- Pragma 응답 헤더

: HTTP 1.0 버전에서 지원하는 헤더

: 헤더 값을 "no-cache"로 지정하면 웹 브라우저는 응답 결과를 캐시에 저장하지 않는다.


* 주로 사용되는 웹 브라우저는 HTTP 1.1 버전을 지원하는데 HTTP 1.0 버전을 지원하는 웹 브라우저가 존재 할 수 있기 때문에 Cache-Control 응답 헤더와 Pragma 응답 헤더 둘 다 설정해 주는 것이 좋다.

1
2
3
4
5
6
7
8
<%
    response.setHeader("Pragma""No-cache");
    response.setHeader("Cache-Control""no-cache");
    response.addHeader("Cache-Control""no-Store");
    
    response.setDateHeader("Expires", 1L);
%>
 
cs

- Expires 응답 헤어는 HTTP 1.0 응답 헤더로서 응답결과의 만료일을 지정할 때 입력

: 만료 시간은 1970 년 1월 1일 이후를 기준으로 1/1000초 단위로 입력하는데 캐시 대상이 아닌 문서의 경우 0이나 1과 같은 값을 입력해서 현재 시간 이전으로 만료일을 지정함으로써 응답 결과가 캐시되지 않도록 설정하게 된다.