방금까지는 요청!!

여기서부터는 응답!!

아래 코드처럼 응답에 대한 값들을 백엔드에서 설정해 줄 수 있다!!

특히 응답에 대한 헤더들을 직접 지정하고 나머지 것들을 지정할 수 있음!

@WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header")
public class ResponseHeaderServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //[status-line]
        response.setStatus(HttpServletResponse.SC_OK); // 200

        //[status-headers]
        //response.setHeader("Content-Type", "text/html;charset=UTF-8");
        response.setContentType("text/html;charset=UTF-8"); // 이렇게도 설정 가능
        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("MyHeader", "hello");
        
        Cookie cookie = new Cookie("myCookie", "good!");
        cookie.setMaxAge(600); // 보면 쿠키는 객체가 따로 있음! 이렇게 만들어서 넣어주기!!
        response.addCookie(cookie);
        
        response.setStatus(HttpServletResponse.SC_FOUND);// 302
        response.setHeader("Location", "/basic/hello-form.html");
        //response.sendRedirect("basic/hello-form.html"); // 이렇게 리다이렉트 설정도 가능!!!

    }
}

아래처럼 response headers 에 백엔드 개발자가 설정한 것대로 나오네요~~

쿠키도 잘 들어갔음을 볼 수 있고, 다음 request header 사진에서 우리가 넣어준 쿠키를 그대로 반환해주는 것을 볼 수 있다! 이것을 서버에서 쓸 수 있다!! 대박~~! 이렇게 토큰 넘겨주면 되려나~

image.png

image.png

위에는 다 response header에 응답으로 준거고!! 응답 여러가지 방식이 있다!!

HTML 응답