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 소비자 끝점을 구성하는 데 사용되는 요소” 에 설명되어 있습니다.
element | 설명 |
---|---|
| 시간 초과, keep-alive 요청, 콘텐츠 유형 등과 같은 HTTP 연결 속성을 지정합니다. “client 요소”을 참조하십시오. |
끝점에서 선점하는 기본 인증 방법을 구성하기 위한 매개변수를 지정합니다. 기본 접근 방식은 | |
발신 HTTP 프록시 서버에 대한 기본 인증을 구성하기 위한 매개변수를 지정합니다. | |
SSL/TLS를 구성하는 데 사용되는 매개변수를 지정합니다. | |
엔드포인트에서 사용하는 기본 인증 정보를 선점하거나 401 HTTP 챌린지에 대한 응답으로 제공하는 object의 8080 참조 또는 클래스 이름을 지정합니다. | |
정보가 전송되기 전에 HTTPS 서비스 공급자와의 연결에 대한 신뢰를 구축하기 위해 HTTP(S) |
12.2.2.4. client 요소
http-conf:client
요소는 소비자 끝점의 HTTP 연결의 비보안 속성을 구성하는 데 사용됩니다. 표 12.2. “HTTP 소비자 구성 속성” 에 설명된 해당 속성은 연결의 속성을 지정합니다.
속성 | 설명 |
---|---|
소비자가 시간 초과하기 전에 연결을 설정하려고 시도하는 시간(밀리초)을 지정합니다. 기본값은
| |
소비자가 시간 초과되기 전에 응답을 대기할 시간(밀리초)을 지정합니다. 기본값은
| |
소비자가 서버의 리디렉션을 자동으로 따르는지 여부를 지정합니다. 기본값은 | |
소비자가 리디렉션을 충족하기 위해 요청을 다시 전송하는 최대 횟수를 지정합니다. 기본값은 | |
소비자가 청크를 사용하여 요청을 보낼지 여부를 지정합니다. 기본값은 청크는 다음 중 하나에 해당하는 경우 사용할 수 없습니다.
두 경우 모두 | |
소비자가 처리할 준비가 된 미디어 유형을 지정합니다. 이 값은 HTTP | |
소비자가 응답을 받기 위해 선호하는 언어(예: 미국 영어)를 지정합니다. 이 값은 HTTP 언어 태그는 국제 표준 (ISO)에 의해 규제되며 일반적으로 하이픈으로 구분된 ISO-3166 표준에 의해 결정된 ISO-639 표준 및 국가 코드에 의해 결정되는 언어 코드를 결합하여 형성됩니다. 예를 들어 en-US는 미국 영어입니다. | |
소비자가 처리할 준비가 된 콘텐츠 인코딩을 지정합니다. 컨텐츠 인코딩 라벨은 INA(Internet Assigned Numbers Authority)에 의해 규제됩니다. 이 값은 HTTP | |
메시지 본문에서 전송되는 데이터의 미디어 유형을 지정합니다. 미디어 유형은 다용도 인터넷 메일 확장(MIME) 유형을 사용하여 지정됩니다. 값은 HTTP
웹 서비스의 경우 이 값을 | |
요청이 호출되는 리소스의 인터넷 호스트 및 포트 번호를 지정합니다. 이 값은 HTTP 일반적으로 이 속성은 필요하지 않습니다. 이는 특정 DNS 시나리오 또는 애플리케이션 설계에만 필요합니다. 예를 들어 클라이언트가 클러스터의 호스트(즉, 동일한 인터넷 프로토콜(IP) 주소에 매핑되는 가상 서버의 경우)를 나타냅니다. | |
각 요청/응답 대화 상자 후에 특정 연결을 열린 상태로 유지하거나 닫을지 여부를 지정합니다. 유효한 값은 다음 두 가지가 있습니다.
| |
소비자에서 서비스 공급자로의 요청을 구성하는 체인과 관련된 캐시에서 준수해야 하는 동작에 대한 지시문을 지정합니다. 12.2.4절. “소비자 캐시 제어 부여”을 참조하십시오. | |
모든 요청과 함께 보낼 정적 쿠키를 지정합니다. | |
요청이 시작된 브라우저에 대한 정보를 지정합니다. W3C(World Wide Web Consortium)의 HTTP 사양에서 이 기능을 user-agent 라고도 합니다. 일부 서버는 요청을 전송하는 클라이언트에 따라 최적화됩니다. | |
소비자가 특정 서비스에 대한 요청을 수행하도록 지시하는 리소스의 URL을 지정합니다. 값은 HTTP 이 HTTP 속성은 요청이 URL을 입력하는 대신 하이퍼링크를 클릭하는 브라우저의 결과일 때 사용됩니다. 이를 통해 서버에서 이전 작업 흐름을 기반으로 처리를 최적화하고 로깅, 최적화된 캐싱, 더 이상 사용되지 않는 링크 추적 등을 위해 리소스에 대한 백 링크 목록을 생성할 수 있습니다. 그러나 일반적으로 웹 서비스 애플리케이션에서는 사용되지 않습니다.
| |
별도의 providerconsumer 연결을 통해 응답을 수신하기 위해 분리된 끝점의 URL을 지정합니다. 분리된 끝점 사용에 대한 자세한 내용은 12.6절. “Decoupled 모드에서 HTTP 전송 사용” 을 참조하십시오. 분리된 엔드포인트에 WS-Addressing을 사용하도록 소비자 끝점과 서비스 공급자 끝점을 모두 구성해야 합니다. | |
요청을 라우팅하는 프록시 서버의 URL을 지정합니다. | |
요청이 라우팅되는 프록시 서버의 포트 번호를 지정합니다. | |
요청을 라우팅하는 데 사용되는 프록시 서버의 유형을 지정합니다. 유효한 값은 다음과 같습니다.
|
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 소비자가 지원하는 캐시 제어 지시문을 나열합니다.
지시문 | 동작 |
---|---|
no-cache | 캐시는 먼저 서버와 해당 응답을 재평가하지 않고 후속 요청을 충족하기 위해 특정 응답을 사용할 수 없습니다. 이 값으로 특정 응답 헤더 필드를 지정하는 경우 제한은 응답 내의 해당 헤더 필드에만 적용됩니다. 응답 헤더 필드를 지정하지 않으면 제한 사항이 전체 응답에 적용됩니다. |
no-store | 캐시는 응답의 일부 또는 이를 호출한 요청의 일부를 저장하지 않아야 합니다. |
max-age | 사용자는 나이가 지정된 시간(초)보다 큰 응답을 허용할 수 있습니다. |
max-stale | 소비자는 만료 시간을 초과한 응답을 허용할 수 있습니다. max-stale에 값이 할당되면 소비자가 여전히 해당 응답을 허용할 수 있는 응답의 만료 시간 이후의 시간(초)을 나타냅니다. 값이 할당되지 않은 경우 소비자는 나이의 오래된 응답을 허용할 수 있습니다. |
min-fresh | 소비자는 표시된 지정된 시간(초) 동안 여전히 새로워진 응답을 원합니다. |
no-transform | 캐시는 공급자와 소비자 간 응답에서 콘텐츠의 미디어 유형 또는 위치를 수정하지 않아야 합니다. |
only-if-cached | 캐시는 현재 캐시에 저장된 응답만 반환해야 하며 다시 로드하거나 무효화해야 하는 응답은 반환해서는 안 됩니다. |
cache-extension | 다른 캐시 지시문에 대한 추가 확장을 지정합니다. 확장 기능은 정보 또는 동작일 수 있습니다. 확장된 지시문은 표준 지시문의 컨텍스트에서 지정되므로 확장된 지시문을 인식하지 못하는 애플리케이션에서 표준 지시문에서 요구하는 동작을 준수할 수 있습니다. |