티스토리 뷰
response 기본 객체가 제공하는 헤더 추가 메서드
addDateHeader(String name, long date) | name 헤더에 date를 추가한다. |
addHeader(String name, String value) | name 헤더에 value를 값으로 추가한다. |
addIntHeader(String name, int value) | name 헤더에 정수 값 value를 추가한다. |
setDateHeader(String name, long date) | name 헤더의 값을 date로 지정한다. |
setHeader(String name, String value) | name 헤더의 값을 value로 지정한다. |
setIntHeader(String name, int value) | name 헤더의 값을 정수 값 value로 지정한다. |
containsHeader(String name) | 이름이 name인 헤더를 포함하고 있을 경우 true, 아닐경우 false를 반환한다. |
add로 시작하는 메서드는 기존 헤더에 새로운 값을 추가할 때 사용되며, set으로 시작되는 메서드는 헤더의 값을 새로 지정할때 사용합니다.
response 캐시 관련 메서드
Cache-Control | HTTP 1.1 버전에서 지원하는 헤더로서, 이 헤더의 값을 "no-cache"로 지정하면 웹 브라우저는 응답 결과를 캐시하지 않는다. "no-cache"로 설정하더라도 브라우저는 캐시의 결과를 브라우저에 저장 할 수 있다. 뒤로가기 기능을 사용했을때 캐시보관소에 저장된 화면을 보여주기도 한다. 응답결과가 캐시에 아예 저장되지 않기를 바라면 "no-store"를 추가한다. |
Pragma | HTTP 1.0 버전에서 지원하는 헤더로, "no-cache"로 지정하면 브라우저는 응답결과를 캐시에 저장하지 않는다. |
Expires | HTTP 1.0 버전에서 지원하는 헤더로, 응답 결과의 만료일을지정한다. 만료일을 현재일보다 이전으로지정해서 캐시에 보관하지 않도록 할 수 있다. |
캐시를 지정하지 않는방법
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", 1L);
%>
HTTP 1.0 과의 호환성을 위해 Cache-Control 이외에도 Pragma, Expires도 함께 사용합니다.
Expires는 1L로 설정하면 1970년 1월 1일 0001초를 뜻하기때문에 브라우저가 캐시하지 않게됩니다.
redirect
브라우저가 다른페이지로 이동하게합니다.
<% response.sendRedirect("이동할 페이지"); %>
redirect시 queryString을 함께 넘겨줄때 한글이 포함되어 있다면 글자가 깨질 수 있습니다. 이때 URLEncoder 클래스를 사용할 수 있습니다.
String encodedValue = URLEncoder.encode("고설조");
response.sendRedirect("/ch03/index.jsp?name=" + encodedValue);
'JSP &Servlet' 카테고리의 다른 글
JSP 기본 객체와 영역 (0) | 2021.04.27 |
---|---|
JSP 폴더구조 (0) | 2021.04.27 |
JSP tomcat 에서 GET방식 URI 인코딩 처리 (0) | 2021.04.24 |
JSP request 기본객체 (0) | 2021.04.24 |
페이지 모듈화와 요청 흐름 제어 (0) | 2018.08.04 |
댓글