12.2. 소비자 구성


12.2.1. HTTP Consumer Endpoints

HTTP 소비자 끝점은 엔드포인트에서 리디렉션 응답을 자동으로 수락하는지, 엔드포인트에서 청크를 사용할 수 있는지 여부, 엔드포인트에서 계속 연결을 요청할지 여부, 엔드포인트가 프록시와 상호 작용하는 방식을 포함하여 많은 HTTP 연결 속성을 지정할 수 있습니다. HTTP 연결 속성 외에도 HTTP 소비자 끝점은 보안 방법을 지정할 수 있습니다.

소비자 끝점은 다음 두 가지 메커니즘을 사용하여 구성할 수 있습니다.

12.2.2. 설정 사용

12.2.2.1. 네임스페이스

HTTP 소비자 끝점을 구성하는 데 사용되는 요소는 네임스페이스 http://cxf.apache.org/transports/http/configuration 에 정의되어 있습니다. 일반적으로 접두사 http-conf 를 사용합니다. HTTP 구성 요소를 사용하려면 예 12.4. “HTTP 소비자 구성 네임스페이스” 에 표시된 행을 끝점 구성 파일의 요소에 추가해야 합니다. 또한 구성 요소의 네임스페이스를 xsi:schemaLocation 속성에 추가해야 합니다.

예 12.4. HTTP 소비자 구성 네임스페이스

<beans ...
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
       ...
       xsi:schemaLocation="...
                           http://cxf.apache.org/transports/http/configuration
                              http://cxf.apache.org/schemas/configuration/http-conf.xsd
                          ...">

12.2.2.2. Cryostat 런타임 또는 Netty 런타임

http-conf 네임스페이스의 요소를 사용하여 Cryostat 런타임 또는 Netty 런타임을 구성할 수 있습니다.

12.2.2.3. Conduit 요소

http-conf:conduit 요소 및 해당 하위 항목을 사용하여 HTTP 소비자 끝점을 구성합니다. http-conf:conduit 요소는 엔드포인트에 해당하는 WSDL 포트 요소를 지정하는 단일 속성 name 을 사용합니다. name 속성 값은 portQName'.http-conduit' 형식을 사용합니다. 예 12.5. “HTTP-conf:conduit Element” 끝점의 대상 네임스페이스가 http://widgets.widgetvendor.net인 경우 WSDL 조각 < port binding="widgetSOAPBinding" name="widgetSOAPPort >에 의해 지정된 끝점에 대한 구성을 추가하는 데 사용할 http-conf:conduit 요소를 표시합니다.

예 12.5. HTTP-conf:conduit Element

...
  <http-conf:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-conduit">
    ...
  </http-conf:conduit>
...

http-conf:conduit 요소에는 구성 정보를 지정하는 하위 요소가 있습니다. 해당 내용은 표 12.1. “HTTP 소비자 끝점을 구성하는 데 사용되는 요소” 에 설명되어 있습니다.

표 12.1. HTTP 소비자 끝점을 구성하는 데 사용되는 요소
element설명

http-conf:client

시간 초과, keep-alive 요청, 콘텐츠 유형 등과 같은 HTTP 연결 속성을 지정합니다. “client 요소”을 참조하십시오.

HTTP-conf:authorization

끝점에서 선점하는 기본 인증 방법을 구성하기 위한 매개변수를 지정합니다. 기본 접근 방식은 http-conf:basicAuthSupplier 오브젝트를 제공하는 것입니다.

http-conf:proxyAuthorization

발신 HTTP 프록시 서버에 대한 기본 인증을 구성하기 위한 매개변수를 지정합니다.

http-conf:tlsClientParameters

SSL/TLS를 구성하는 데 사용되는 매개변수를 지정합니다.

http-conf:basicAuthSupplier

엔드포인트에서 사용하는 기본 인증 정보를 선점하거나 401 HTTP 챌린지에 대한 응답으로 제공하는 object의 8080 참조 또는 클래스 이름을 지정합니다.

http-conf:trustDecider

정보가 전송되기 전에 HTTPS 서비스 공급자와의 연결에 대한 신뢰를 구축하기 위해 HTTP(S) URLConnection 개체를 확인하는 개체의 8080 참조 또는 클래스 이름을 지정합니다.

12.2.2.4. client 요소

http-conf:client 요소는 소비자 끝점의 HTTP 연결의 비보안 속성을 구성하는 데 사용됩니다. 표 12.2. “HTTP 소비자 구성 속성” 에 설명된 해당 속성은 연결의 속성을 지정합니다.

표 12.2. HTTP 소비자 구성 속성
속성설명

ConnectionTimeout

소비자가 시간 초과하기 전에 연결을 설정하려고 시도하는 시간(밀리초)을 지정합니다. 기본값은 30000 입니다.

0 은 소비자가 계속 요청을 무기한 전송하도록 지정합니다.

ReceiveTimeout

소비자가 시간 초과되기 전에 응답을 대기할 시간(밀리초)을 지정합니다. 기본값은 30000 입니다.

0 은 소비자가 무기한 대기하도록 지정합니다.

AutoRedirect

소비자가 서버의 리디렉션을 자동으로 따르는지 여부를 지정합니다. 기본값은 false입니다.

MaxRetransmits

소비자가 리디렉션을 충족하기 위해 요청을 다시 전송하는 최대 횟수를 지정합니다. 기본값은 -1 이며 무제한 재전송이 허용되도록 지정합니다.

AllowChunking

소비자가 청크를 사용하여 요청을 보낼지 여부를 지정합니다. 기본값은 true 로, 소비자가 요청을 보낼 때 청크를 사용하도록 지정합니다.

청크는 다음 중 하나에 해당하는 경우 사용할 수 없습니다.

  • HTTP-conf:basicAuthSupplier 는 선점하여 인증 정보를 제공하도록 구성되어 있습니다.
  • AutoRedirecttrue 로 설정됩니다.

두 경우 모두 AllowChunking 값이 무시되고 청크가 허용되지 않습니다.

accept

소비자가 처리할 준비가 된 미디어 유형을 지정합니다. 이 값은 HTTP Accept 속성의 값으로 사용됩니다. 속성 값은 다양한 용도의 인터넷 메일 확장(MIME) 유형을 사용하여 지정됩니다.

AcceptLanguage

소비자가 응답을 받기 위해 선호하는 언어(예: 미국 영어)를 지정합니다. 이 값은 HTTP AcceptLanguage 속성 값으로 사용됩니다.

언어 태그는 국제 표준 (ISO)에 의해 규제되며 일반적으로 하이픈으로 구분된 ISO-3166 표준에 의해 결정된 ISO-639 표준 및 국가 코드에 의해 결정되는 언어 코드를 결합하여 형성됩니다. 예를 들어 en-US는 미국 영어입니다.

AcceptEncoding

소비자가 처리할 준비가 된 콘텐츠 인코딩을 지정합니다. 컨텐츠 인코딩 라벨은 INA(Internet Assigned Numbers Authority)에 의해 규제됩니다. 이 값은 HTTP AcceptEncoding 속성 값으로 사용됩니다.

ContentType

메시지 본문에서 전송되는 데이터의 미디어 유형을 지정합니다. 미디어 유형은 다용도 인터넷 메일 확장(MIME) 유형을 사용하여 지정됩니다. 값은 HTTP ContentType 속성 값으로 사용됩니다. 기본값은 text/xml 입니다.

웹 서비스의 경우 이 값을 text/xml 로 설정해야 합니다. 클라이언트가 HTML 양식 데이터를 CGI 스크립트에 보내는 경우 application/x-www-form-urlencoded 로 설정해야 합니다. HTTP POST 요청이 고정된 페이로드 형식에 바인딩되는 경우 콘텐츠 유형은 일반적으로 application/octet-stream 으로 설정됩니다.

호스트

요청이 호출되는 리소스의 인터넷 호스트 및 포트 번호를 지정합니다. 이 값은 HTTP Host 속성 값으로 사용됩니다.

일반적으로 이 속성은 필요하지 않습니다. 이는 특정 DNS 시나리오 또는 애플리케이션 설계에만 필요합니다. 예를 들어 클라이언트가 클러스터의 호스트(즉, 동일한 인터넷 프로토콜(IP) 주소에 매핑되는 가상 서버의 경우)를 나타냅니다.

연결

각 요청/응답 대화 상자 후에 특정 연결을 열린 상태로 유지하거나 닫을지 여부를 지정합니다. 유효한 값은 다음 두 가지가 있습니다.

  • keep-Alive(기본값) - 초기 요청/응답 시퀀스 후에 소비자가 연결을 계속 열도록 지정합니다. 서버가 이를 준수하면 소비자가 닫을 때까지 연결이 열린 상태로 유지됩니다.
  • close - 각 요청/응답 시퀀스 후에 서버에 대한 연결이 닫혀 있음을 지정합니다.

CacheControl

소비자에서 서비스 공급자로의 요청을 구성하는 체인과 관련된 캐시에서 준수해야 하는 동작에 대한 지시문을 지정합니다. 12.2.4절. “소비자 캐시 제어 부여”을 참조하십시오.

쿠키

모든 요청과 함께 보낼 정적 쿠키를 지정합니다.

BrowserType

요청이 시작된 브라우저에 대한 정보를 지정합니다. W3C(World Wide Web Consortium)의 HTTP 사양에서 이 기능을 user-agent 라고도 합니다. 일부 서버는 요청을 전송하는 클라이언트에 따라 최적화됩니다.

Referer

소비자가 특정 서비스에 대한 요청을 수행하도록 지시하는 리소스의 URL을 지정합니다. 값은 HTTP Referer 속성의 값으로 사용됩니다.

이 HTTP 속성은 요청이 URL을 입력하는 대신 하이퍼링크를 클릭하는 브라우저의 결과일 때 사용됩니다. 이를 통해 서버에서 이전 작업 흐름을 기반으로 처리를 최적화하고 로깅, 최적화된 캐싱, 더 이상 사용되지 않는 링크 추적 등을 위해 리소스에 대한 백 링크 목록을 생성할 수 있습니다. 그러나 일반적으로 웹 서비스 애플리케이션에서는 사용되지 않습니다.

AutoRedirect 속성이 true 로 설정되고 요청이 리디렉션되는 경우 Referer 속성에 지정된 모든 값이 재정의됩니다. HTTP Referer 속성 값은 소비자의 원래 요청을 리디렉션하는 서비스의 URL로 설정됩니다.

DecoupledEndpoint

별도의 providerconsumer 연결을 통해 응답을 수신하기 위해 분리된 끝점의 URL을 지정합니다. 분리된 끝점 사용에 대한 자세한 내용은 12.6절. “Decoupled 모드에서 HTTP 전송 사용” 을 참조하십시오.

분리된 엔드포인트에 WS-Addressing을 사용하도록 소비자 끝점과 서비스 공급자 끝점을 모두 구성해야 합니다.

ProxyServer

요청을 라우팅하는 프록시 서버의 URL을 지정합니다.

ProxyServerPort

요청이 라우팅되는 프록시 서버의 포트 번호를 지정합니다.

ProxyServerType

요청을 라우팅하는 데 사용되는 프록시 서버의 유형을 지정합니다. 유효한 값은 다음과 같습니다.

  • HTTP(기본값)
  • SOCKS

12.2.2.5. 예

예 12.6. “HTTP 소비자 끝점 구성” 요청 간에 열린 공급자를 유지하고, 호출당 한 번만 다시 전송되며 청크 스트림을 사용할 수 없는 HTTP 소비자 끝점의 구성이 표시됩니다.

예 12.6. HTTP 소비자 끝점 구성

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
       xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration
                             http://cxf.apache.org/schemas/configuration/http-conf.xsd
                           http://www.springframework.org/schema/beans
                             http://www.springframework.org/schema/beans/spring-beans.xsd">

  <http-conf:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit">
    <http-conf:client Connection="Keep-Alive"
                      MaxRetransmits="1"
                      AllowChunking="false" />
  </http-conf:conduit>
</beans>

12.2.2.6. 더 많은 정보

HTTP conduits에 대한 자세한 내용은 16장. conduits 을 참조하십시오.

12.2.3. WSDL 사용

12.2.3.1. 네임스페이스

HTTP 소비자 끝점을 구성하는 데 사용되는 WSDL 확장 요소는 http://cxf.apache.org/transports/http/configuration 네임스페이스에 정의됩니다. 일반적으로 접두사 http-conf 를 사용합니다. HTTP 구성 요소를 사용하려면 예 12.7. “HTTP Consumer WSDL Element의 네임스페이스” 에 표시된 행을 끝점의 WSDL 문서의 definitions 요소에 추가해야 합니다.

예 12.7. HTTP Consumer WSDL Element의 네임스페이스

<definitions ...
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"

12.2.3.2. Cryostat 런타임 또는 Netty 런타임

http-conf 네임스페이스의 요소를 사용하여 Cryostat 런타임 또는 Netty 런타임을 구성할 수 있습니다.

12.2.3.3. client 요소

http-conf:client 요소는 WSDL 문서에서 HTTP 소비자의 연결 속성을 지정하는 데 사용됩니다. http-conf:client 요소는 WSDL 포트 요소의 자식입니다. 구성 파일에 사용된 클라이언트 요소와 동일한 특성을 갖습니다. 속성은 표 12.2. “HTTP 소비자 구성 속성” 에 설명되어 있습니다.

12.2.3.4. 예

예 12.8. “HTTP 소비자 끝점을 구성하는 WSDL” 은 캐시와 상호 작용하지 않도록 HTTP 소비자 끝점을 구성하는 WSDL 조각을 표시합니다.

예 12.8. HTTP 소비자 끝점을 구성하는 WSDL

<service ... >
  <port ... >
    <soap:address ... />
    <http-conf:client CacheControl="no-cache" />
  </port>
</service>

12.2.4. 소비자 캐시 제어 부여

표 12.3. “HTTP-conf:클라이언트 캐시 제어 부여” HTTP 소비자가 지원하는 캐시 제어 지시문을 나열합니다.

표 12.3. HTTP-conf:클라이언트 캐시 제어 부여
지시문동작

no-cache

캐시는 먼저 서버와 해당 응답을 재평가하지 않고 후속 요청을 충족하기 위해 특정 응답을 사용할 수 없습니다. 이 값으로 특정 응답 헤더 필드를 지정하는 경우 제한은 응답 내의 해당 헤더 필드에만 적용됩니다. 응답 헤더 필드를 지정하지 않으면 제한 사항이 전체 응답에 적용됩니다.

no-store

캐시는 응답의 일부 또는 이를 호출한 요청의 일부를 저장하지 않아야 합니다.

max-age

사용자는 나이가 지정된 시간(초)보다 큰 응답을 허용할 수 있습니다.

max-stale

소비자는 만료 시간을 초과한 응답을 허용할 수 있습니다. max-stale에 값이 할당되면 소비자가 여전히 해당 응답을 허용할 수 있는 응답의 만료 시간 이후의 시간(초)을 나타냅니다. 값이 할당되지 않은 경우 소비자는 나이의 오래된 응답을 허용할 수 있습니다.

min-fresh

소비자는 표시된 지정된 시간(초) 동안 여전히 새로워진 응답을 원합니다.

no-transform

캐시는 공급자와 소비자 간 응답에서 콘텐츠의 미디어 유형 또는 위치를 수정하지 않아야 합니다.

only-if-cached

캐시는 현재 캐시에 저장된 응답만 반환해야 하며 다시 로드하거나 무효화해야 하는 응답은 반환해서는 안 됩니다.

cache-extension

다른 캐시 지시문에 대한 추가 확장을 지정합니다. 확장 기능은 정보 또는 동작일 수 있습니다. 확장된 지시문은 표준 지시문의 컨텍스트에서 지정되므로 확장된 지시문을 인식하지 못하는 애플리케이션에서 표준 지시문에서 요구하는 동작을 준수할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.