HTTP 요청 게시 활동에서 압축/압축 해제

런타임 동안, HTTP 요청 게시 활동은 HTTP/HTTPS 1.1 프로토콜을 준수하는 HTTP 요청을 HTTP 서버에 전송합니다.

주: HTTP 요청 게시 활동은 gzip 또는 deflate 형식의 압축/압축 해제를 지원합니다. 압축이라고 하는 공통 UNIX® 파일 압축 형식은 지원하지 않습니다.

HTTP 요청 게시 활동의 압축/압축 해제 런타임 동작은 다음 조건에 따라 다릅니다.

HTTP 요청 게시 활동의 압축/압축 해제 런타임 동작에 미치는 영향에 대해서는 아래 절과 런타임 압축/압축 해제 동작 절에 제공된 표에 설명되어 있습니다.

엔드포인트의 압축/압축 해제 지원

통합 어플라이언스는 첫 번째 HTTP 요청을 압축 형식으로 HTTP 엔드포인트(HTTP 서버)에 전송할 때 HTTP 엔드포인트가 압축을 지원하는지 여부를 판별합니다. HTTP 서버가 압축을 지원하지 않거나 지정된 Content-Encoding 유형을 지원하지 않음을 표시하는 오류 코드를 리턴하면 통합 어플라이언스는 첫 번째 요청을 압축 해제된 형식으로 다시 전송하고 이 엔드포인트에 대한 이후의 모든 요청은 압축 해제 형식으로 전송됩니다. 또한 HTTP 서버가 전송하는 HTTP 응답을 통합 어플라이언스에서 수신할 때는 압축 해제되어 있지 않습니다.  

엔드포인트의 압축/압축 해제 지원은 런타임 압축/압축 해제 동작 절에 제공된 표에서 레이블이 엔드포인트의 압축 지원 여부인 네 번째 열에 표시되어 있습니다.  

메시지 레벨에서 Content-Encoding 및 Accept-Encoding 값

HTTP 요청에서 Content-Encoding 헤더 값에 따라 요청 본문이 압축되는지와 사용되는 인코딩 유형인지 결정됩니다. 예를 들어, Content-Encoding이 deflate로 설정된 경우 통합 어플라이언스는 deflate 형식으로 압축된 요청 본문을 전송합니다(다음 그림 및 요청을 전송할 때 압축 동작이라고 되어 있는 첫 번째 표의 두 번째 행 참조).

요청에서 Accept-Encoding 헤더 값은 HTTP 클라이언트가 요청에서 허용하는 인코딩 유형을 정의합니다. 예를 들어, Accept-Encoding이 요청에서 gzip,deflate로 설정된 경우, HTTP 서버가 gzip 또는 deflate 형식으로 압축된 응답 본문을 클라이언트 역할을 하는 통합 어플라이언스에 보낼 수 있습니다(다음 그림 참조).
그림 1.
기본적으로, HTTP 요청 게시 활동의 입력 맵핑 태스크에서 선택적 httpheaders 입력 매개변수에 맵핑된 것이 없는 경우 기본 헤더 세트가 작성됩니다. 예를 들어, URL 헤더는 HTTP 요청 게시 활동의 구성 분할창에 제공된 값으로 자동 설정됩니다.

요청의 Accept-Encoding 및 Content-Encoding 헤더 값은 HTTP 요청 게시 활동에 있는 입력 맵핑 태스크의 선택적 httpheaders 입력 매개변수에서 이름/값 쌍을 사용하여 명시적으로 설정할 수 있습니다. 예를 들어, Content-Encoding을 deflate로 설정하려면 선택적 httpheaders 입력 매개변수에서 다음 이름/값 쌍을 설정하십시오.

요청의 Accept-Encoding 및 Content-Encoding 헤더에 지원되지 않는 값이 설정되면 기본값이 제공됩니다(다음 표 참조).

요청의 Accept-Encoding 및 Content-Encoding 헤더 값은 통합 어플라이언스 및 HTTP 서버에서 압축/압축 해제 동작을 결정하는 데 사용됩니다.

활동 레벨에서 압축/압축 해제 설정

기본적으로, 압축 및 압축 해제는 HTTP 요청 게시 활동에 대한 활동 레벨에서 작동됩니다. 압축/압축 해제 사용 선택란을 지워서 활동 레벨에서 압축/압축 해제를 작동 중지시킬 수 있습니다. 압축/압축 해제 사용 선택란은 활동의 구성 태스크에서 사용 가능합니다. 런타임 압축/압축 해제 동작 절에 제공된 다음 표에서 압축/압축 해제 사용 선택란 레이블이 붙은 두 번째 열은 압축/압축 해제 사용 선택란의 설정을 표시합니다.

주: 향후 릴리스에서는 압축/압축 해제 사용 선택란이 HTTP 활동에 더 이상 사용되지 않습니다. HTTP 요청에서 Content-Encoding 및 Accept-Encoding HTTP 매개변수를 사용하여 HTTP 요청 본문의 압축 해제 방법과 HTTP 응답 본문의 압축 방법을 지정하십시오.

런타임 압축/압축 해제 동작

요청을 전송할 때 압축 동작 절에 제공되는 첫 번째 표에서는 통합 어플라이언스가 HTTP 서버에 HTTP 요청을 전송할 때의 압축 런타임 동작에 대해 설명합니다.

요청에 전달되는 Accept-Encoding 헤더 값 절에 제공되어 있는 두 번째 표에서는 HTTP 요청에서 전달되는 Accept-Encoding 헤더 값에 대해 설명합니다.

응답을 수신할 때 압축 해제 동작 절에 제공되어 있는 세 번째 표에서는 통합 어플라이언스가 HTTP 서버에서 HTTP 응답을 수신할 때 압축 해제 런타임 동작에 대해 설명합니다.

요청을 전송할 때 압축 동작

다음 표에서는 통합 어플라이언스가 HTTP 요청을 HTTP 서버에 전송할 때의 압축 런타임 동작에 대해 설명합니다.

압축/압축 해제 사용 선택란(활동 레벨) HTTP 요청의 Content-Encoding 값(메시지 레벨) 엔드포인트의 압축 지원 여부 통합 어플라이언스가 요청을 전송할 때 압축 런타임 동작
선택됨 gzip, not set 또는 deflate이나 identity 이외의 기타 모든 문자열 통합 어플라이언스가 gzip 형식으로 압축된 요청 본문을 전송합니다. Content-Encoding 헤더는 요청에서 gzip으로 설정됩니다.
선택됨 deflate 통합 어플라이언스가 deflate 형식으로 압축된 요청 본문을 전송합니다. Content-Encoding 헤더는 요청에서 deflate로 설정됩니다.
선택됨 identity 통합 어플라이언스가 압축 해제된 요청 본문을 전송합니다. Content-Encoding 헤더는 요청에서 identity로 설정됩니다.
선택됨 값이 중요하지 않음 아니오 통합 어플라이언스가 압축 해제된 요청 본문을 전송합니다. Content-Encoding 헤더는 요청에서 identity로 설정됩니다.
지워짐 값이 중요하지 않음 값이 중요하지 않음 통합 어플라이언스가 그대로(변경되지 않은 상태로) 요청 본문을 보냅니다. Content-Encoding 헤더의 현재 값이 요청에 있는 그대로 전달됩니다.

 

요청에 전달되는 Accept-Encoding 헤더 값

다음 표는 HTTP 요청에서 전달되는 Accept-Encoding 헤더 값에 대해 설명합니다.

압축/압축 해제 사용 선택란(활동 레벨) 초기 Accept-Encoding 값 엔드포인트의 압축 지원 여부 HTTP 요청에서 서버로 전달되는 Accept-Encoding 값
선택됨 gzip Accept-Encoding 헤더는 요청에서 gzip으로 설정됩니다.
선택됨 deflate Accept-Encoding 헤더는 요청에서 deflate로 설정됩니다.
선택됨 gzip,deflate Accept-Encoding 헤더는 요청에서 gzip,deflate로 설정됩니다.
선택됨 deflate,gzip Accept-Encoding 헤더는 요청에서 deflate,gzip으로 설정됩니다.
선택됨 identity Accept-Encoding 헤더는 요청에서 identity로 설정됩니다.
선택됨 설정되어 있지 않거나 deflate, gzip 또는 identity 이외의 기타 모든 문자열 Accept-Encoding 헤더는 요청에서 gzip,deflate로 설정됩니다.
선택됨 값이 중요하지 않음 아니오 Accept-Encoding 헤더의 현재 값이 요청에 있는 그대로 전달됩니다.
지워짐 값이 중요하지 않음 값이 중요하지 않음 Accept-Encoding 헤더의 현재 값이 요청에 있는 그대로 전달됩니다.

응답을 수신할 때 압축 해제 동작

다음 표에서는 통합 어플라이언스가 HTTP 서버에서 HTTP 응답을 수신할 때의 압축 해제 런타임 동작에 대해 설명합니다.

압축/압축 해제 사용 선택란(활동 레벨) HTTP 응답의 Content-Encoding 값(메시지 레벨) 엔드포인트의 압축 지원 여부 통합 어플라이언스가 응답을 수신할 때 압축 해제 런타임 동작
선택됨 gzip 통합 어플라이언스가 gzip 형식으로 응답 본문의 압축을 해제합니다.
선택됨 deflate 통합 어플라이언스가 deflate 형식으로 응답 본문의 압축을 해제합니다.
선택됨 identity 통합 어플라이언스가 응답 본문의 압축을 해제하지 않습니다.
선택됨 Accept-Encoding 헤더에 값이 나열되어 있지 않음 통합 어플라이언스가 요청되지 않은 컨텐츠 인코딩 유형으로 응답 데이터를 수신했다는 오류를 로그합니다.
선택됨 값이 중요하지 않음 아니오 통합 어플라이언스가 응답 본문의 압축을 해제하지 않습니다.Content-Encoding 헤더의 현재 값이 응답에 있는 현상태로 전달됩니다.
지워짐 값이 중요하지 않음 값이 중요하지 않음 통합 어플라이언스가 응답 본문의 압축을 해제하지 않습니다.Content-Encoding 헤더의 현재 값이 응답에 있는 현상태로 전달됩니다.