The Context Container

원문

https://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Context_Parameters

소개

기본 디렉토리로 $CATALINA_BASE 의 상대 경로를 사용하고, 설정하지 않은 경우에는 $CATALINA_HOME으로 설정됩니다. 컨텍스트 경로는 가장 긴 Request URI 부터 매칭됩니다.

속성

  • allowCasualMultipartParsing
    대상 서블릿이 @MultipartConfig 어노테이션으로 표시되지 않은 경우에도 HttpServletRequest.getPart* 또는 HttpServletRequest.getParameter*가 호출 될 때, 톰캣이 multipart / form-data 요청 본문을 자동으로 구문 분석해야하는 경우 true로 설정합니다. false가 아닌 다른 설정은 톰캣이 기술적으로 규격을 준수하지 않는 방식으로 작동하도록합니다. 기본값은 false입니다.

  • allowMultipleLeadingForwardSlashInPath

    톰캣에 여러 /를 단일 /로 정규화합니다. 이것은 URI가 파일 시스템 경로로 변환되는 것처럼 파일 시스템의 동작과 일관성을 유지하지 위함입니다. 기본값은 false이며 여러 개의 /문자를 접을 수 있습니다.

  • altDDName
    alternative deployment descriptor의 절대 경로입니다. 이는 /WEB-INF/web.xml에 있는 default deployment descriptoroverride 합니다.

  • backgroundProcessorDelay

    backgroundProcess메소드를 호출할 때 까지의 지연시간을 초 단위로 나타냅니다. 기본값은 -1이고, 컨텍스트가 상위 호스트의 백그라운드 처리 스레드에 의존함을 의미합니다.

  • className

    사용할 Java클래스 이름. 이 클래스는 org.apache.catalina.Context인터페이스를 구현해야합니다. 지정하지 않으면 표준값이 사용됩니다.

  • containerSciFilter

    SCI가 제공한 컨테이너의 정규식으로 이 컨텍스트에 사용하지 않도록 필터링합니다. 매칭은 java.util.regex.Matcher.find()를 사용하므로 정규 표현식은 필터링을 위해 SCI가 제공 한 컨테이너의 정규화 된 클래스 이름의 하위 문자열과 일치해야합니다. 지정하지 않으면 필터링이 적용되지 않습니다.

  • cookies

    브라우저가 쿠키를 지원해야하고, 세션 식별 통신에 쿠키를 사용하려면 true로 설정합니다.

  • crossContext

    이 응용 프로그램 내에서 ServletContext.getContext() 호출이 이 가상 호스트에서 실행중인 다른 웹 응용 프로그램의 요청 디스패처를 성공적으로 반환하도록하려면 true로 설정합니다. 보안이 있는 환경에서는 false (기본값)로 설정하여 getContext()가 항상 null을 반환하도록합니다.

  • docBase

    웹애플리케이션을 위한 문서 디렉토리나 웹애플리케이션의 아카이브 파일의 경로이름입니다. 절대경로나 appBase의 상대경로로 지정이 가능합니다. 컨텍스트 요소가 server.xml에 정의되어 있거나 docBase가 호스트의 appBase아래에 정의되어 있지 않다면 필드의 값을 설정하지 않아야 합니다. docBase에 심볼릭 링크가 사용되면 톰캣을 재시작하거나 컨텍스트를 재배포해야 적용됩니다.

  • dispatchersUseEncodedPaths

    인코딩 여부를 제어합니다. 이것은 톰캣이 요청 디스패처를 얻기 위해 호출을 처리하는 것과 내부적으로 요청 디스패처를 얻는 데 사용되는 경로를 생성하는 것에 모두 영향을 줍니다. 기본값은 true입니다.

  • failCtxIfServletStartFails

    서블릿이 load-on-startup >=0인 경우 컨텍스트 시작을 실패하도록 하려면 true로 설정합니다. 지정하지 않으면 상위 호스트의 구성에서 동일한 이름의 속성이 지정된 경우 그것을 사용힙니다. 그렇지 않으면 기본값이 false가 사용됩니다.

  • fireRequestListenersOnForwards

    톰캣이 요청을 전달할 때 구성된 ServletRequestListeners를 시작하려면 true로 설정합니다. 주로 ServletRequestListeners를 사용하여 요청에 필요한 환경을 구성하는 CDI 프레임 워크 사용자에게 유용합니다. 지정하지 않으면 false의 기본값이 사용됩니다.

  • logEffectiveWebXml

    애플리케이션이 시작될 때 웹애플리케이션에 사용되는 유효한 web.xml이 (INFO 수준에서) 기록되도록하려면 true로 설정합니다. 효과적인 web.xml은 톰캣이 구성한 모든 기본값과 발견 된 web-fragment.xml 파일 및 주석을 결합한 애플리케이션의 web.xml입니다. 지정하지 않으면 false의 기본값이 사용됩니다.

  • mapperContextRootRedirectEnabled

    활성화 된 경우 웹애플리케이션 컨텍스트 루트에 대한 요청은 기본 서블릿이 아닌 매퍼가 필요에 따라 리디렉션됩니다. 이것은 효율적이지만 컨텍스트 경로가 있는지 확인하는 문제가 있습니다. 지정하지 않으면 기본값 true가 사용됩니다.

  • mapperDirectoryRedirectEnabled

    활성화 된 경우 웹애플리케이션 디렉토리에 대한 요청은 기본 서블릿이 아닌 매퍼가 필요에 따라 리디렉션됩니다. 이것은 효율적이지만 디렉토리가 있는지 확인하는 문제가 있습니다. 지정하지 않으면 기본값 false가 사용됩니다.

  • override

    전역 또는 호스트 기본 컨텍스트의 설정을 무시하려면 true로 설정합니다. 기본적으로 기본 컨텍스트의 설정이 사용되지만 컨텍스트에 대해 동일한 속성을 명시적으로 설정하여 무시할 수 있습니다.

  • path

    처리 할 적절한 웹애플리케이션을 선택하기 위해 각 request URI의 시작과 대조되는 이 웹 응용 프로그램의 컨텍스트 경로입니다. 특정 호스트 내의 모든 컨텍스트 경로는 고유해야합니다. 빈 문자열 ( “”)의 컨텍스트 경로를 지정하면이 호스트에 대한 기본 웹애플리케이션을 정의하며 다른 컨텍스트에 할당되지 않은 모든 요청을 처리합니다.

    이 속성은 server.xml에서 컨텍스트를 정적으로 정의 할 때만 사용해야합니다. 다른 모든 상황에서는 경로가 .xml 컨텍스트 파일 또는 docBase에 사용 된 파일 이름에서 유추됩니다.

    server.xml에서 컨텍스트를 정적으로 정의하는 경우에도 이 속성은 docBase가 호스트의 appBase 아래에 있거나 deployOnStartupautoDeploy가 모두 false가 아닌 경우에만 설정해야합니다. 이 규칙을 지키지 않으면 이중 배포가 발생할 수 있습니다.

  • preemptiveAuthentication

    true로 설정되고 사용자가 보안 제한 조건에 의해 보호되지 않는 자원에 대한 자격을 제시하면, 인증자가 선점인증을 지원하는 경우에 사용자의 자격 증명이 처리됩니다. 지정하지 않으면 기본값 인 false가 사용됩니다.

  • privileged

    이 컨텍스트가 관리자 서블릿과 같은 컨테이너 서블릿을 사용할 수 있게 하려면 true로 설정합니다. 특별한 속성의 사용은 컨텍스트의 parent 클래스 로더를 Shared 클래스 로더 대신에 Server 클래스 로더로 변경합니다. 기본 설치에서는 Common 클래스 로더가 Server 클래스 로더와 Shared 클래스 로더 모두에 사용됩니다.

  • reloadable

    파일에 변화가 있을 때 자동으로 로딩할지 설정합니다. 기본값은 false입니다.

  • resourceOnlyServlets

    리소스가 존재하는 쉼표로 구분된 서블릿 이름의 목록입니다.

  • sendRedirectBody

    true인 경우 리디렉션의 응답에 RFC2616에서 권장하는 리디렉션의 세부 정보가 포함됩니다. 응답 본문을 포함하면 압축 필터와 같은 일부 애플리케이션 구성 요소에 문제가 발생할 수 있으므로 기본적으로 사용하지 않도록 설정합니다.

  • sessionCookieDomain

    세션쿠키에 사용할 도메인입니다.

  • sessionCookieName

    세션쿠키에 사용하는 이름입니다. 설정한 경우 웹애플리케이션에서 설정한 이름을 무시합니다.

  • sessionCookiePath

    세션쿠키의 경로입니다. 설정한 경우 웹애플리케이션에서 설정한 경로를 무시합니다.

  • sessionCookiePathUsesTrailingSlash

    Internet Explorer, Safari, Edge 브라우저에서 RFC6265를 위반하여 /foobar의 요청으로 /foo 경로를 가진 컨텍스트에 대한 세션 쿠키를 보내는 문제가 있습니다. 이 위험을 줄이려면 true로 설정합니다. 그러면 톰캣은 세션 쿠키와 연결된 경로에 후행 슬래시를 추가합니다. 위의 예에서 쿠키 경로는 /foo/가 됩니다.

    /*에 매핑 된 서블릿이 없으면 문제가되지 않습니다. 이 속성을 비활성화하려면 false로 설정합니다. 기본값은 false입니다.

  • swallowAbortedUploads

    톰캣이 중단된 업로드에 대한 추가 요청 데이터를 읽지 않고 대신 클라이언트 연결을 중단해야하는 경우 true로 설정합니다. 추가 데이터를 읽지 않으면 요청 처리 스레드가 더 빠르게 해제됩니다.

  • swallowOutput

    true인 경우에 system.outsystem.err로 출력한 바이트가 웹애플리케이션의 logger로 리디렉션 됩니다. 기본값은 false입니다.

  • tldValidation

    true인 경우에 TLD파일은 컨텍스트 시작시에 XML유효성을 검사합니다. org.apache.catalina.STRICT_SERVLET_COMPLIANCEtrue인 경우 디폴트 값은 true이고, 그렇지 않은 경우 디폴트 값은 false가 됩니다. true인 경우 성능에 좋지 않은 영향이 있습니다.

  • useHttpOnly

    클라이언트의 스크립트가 세션 ID에 접근하지 못하도록 합니다. 기본값은 true입니다.

  • useRelativeRedirects

    HTTP 1.1 이상이고 javax.servlet.http.HttpServletResponse#sendRedirect(String)의 호출로 생성된 헤더가 절대경로나 상대경로로 리디렉션 할지 여부를 제어합니다. org.apache.catalina.STRICT_SERVLET_COMPLIANCEtrue인 경우 디폴트 값은 false이고, 그렇지 않은 경우 디폴트 값은 true가 됩니다.

  • validateClientProvidedNewSessionId

    클라이언트가 새 세션ID를 제공하면 이 속성은 해당 ID가 유효한지 여부를 제어합니다. 기본값은 true입니다.

  • wrapperClass

    org.apache.catalina.Wrapper의 자바 클래스 이름입니다. 지정하지 않으면 기본값이 사용됩니다.

  • xmlBlockExternal

    true인 경우에 web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagPlugins.xml 파일의 파싱에 외부 엔터티를 로드할 수 없습니다. 기본값은 true입니다.

  • xmlNamespaceAware

    true인 경우에 web.xml, web-fragment.xml파일의 파싱이 namespace-aware가 됩니다. org.apache.catalina.STRICT_SERVLET_COMPLIANCEtrue인 경우 디폴트 값은 true이고, 그렇지 않은 경우 디폴트 값은 false가 됩니다. true인 경우 xmlValidation옵션도 true가 됩니다.

  • xmlValidation

    true인 경우에 web.xml, web-fragment.xml파일의 유효성(문법)을 검사합니다. org.apache.catalina.STRICT_SERVLET_COMPLIANCEtrue인 경우 디폴트 값은 true이고, 그렇지 않은 경우 디폴트 값은 false가 됩니다. true인 경우 성능에 좋지 않은 영향이 있습니다.