Development

HTTP Header 보는 jsp 프로그램

1103동103호·2018년 2월 21일·조회 2,273
<%@ page import="java.util.*" %>
<html>
   <head>
      <title>Header Info</title>
   </head>
   <body>
      <h1>HTTP Request Header Info</h1>
      <table border="1" cellpadding="4" cellspacing="0">
      <%
         Enumeration headerNames = request.getHeaderNames();

         while (headerNames.hasMoreElements()) {
            String name = (String)headerNames.nextElement();
            String value = request.getHeader(name);
            out.print(name + ": " + value + "<br>");
         }
      %>
      </table>
   </body>
</html>

요청 헤더 확인용 JSP 예제

위 코드는 현재 요청에 포함된 HTTP 헤더 이름을 request.getHeaderNames()로 순회한 뒤, 각 헤더 값을 request.getHeader(name)으로 가져와 화면에 출력하는 간단한 JSP 예제입니다. 브라우저 종류, 프록시, 인증 방식, 캐시 정책 등에 따라 전달되는 헤더가 달라질 수 있으므로 디버깅할 때 요청이 실제로 어떻게 들어오는지 확인하는 용도로 사용할 수 있습니다.

다만 하나의 헤더 이름에 여러 값이 올 수 있는 경우에는 request.getHeader(name)이 첫 번째 값만 반환할 수 있습니다. 모든 값을 확인해야 한다면 Servlet API의 request.getHeaders(name)를 함께 사용하는 방식으로 확장하는 것이 좋습니다.

확인 방법

  1. 위 내용을 JSP 파일로 저장한 뒤 서블릿 컨테이너에서 실행합니다.
  2. 브라우저로 해당 JSP에 접속하면 요청에 포함된 헤더 목록이 출력됩니다.
  3. 명령줄에서 확인하려면 curl -H "X-Test: hello" URL처럼 임의의 헤더를 추가해 요청한 뒤, 출력 결과에 해당 헤더가 포함되는지 확인할 수 있습니다.

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.