헤더 설정
적용 대상: 모든 API Management 계층
set-header
정책은 기존 HTTP 응답 및/또는 요청 헤더에 값을 할당하거나 새 응답 및/또는 요청 헤더를 추가합니다.
정책을 사용하여 HTTP 메시지에 HTTP 헤더 목록을 삽입합니다. 이 정책을 인바운드 파이프라인에 지정하면 이 정책은 대상 서비스로 전달되는 요청의 HTTP 헤더를 설정합니다. 이 정책은 아웃바운드 파이프라인에 배치되는 경우 게이트웨이의 클라이언트로 보내는 응답의 HTTP 헤더를 설정합니다.
참고 항목
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. 이 정책을 구성하는 데 도움이 되도록 포털은 양식 기반의 안내형 편집기를 제공합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
정책 문
<set-header name="header name" exists-action="override | skip | append | delete">
<value>value</value> <!--for multiple headers with the same name add additional value elements-->
</set-header>
특성
이름 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
exists-action | 헤더가 이미 지정된 경우 수행할 작업을 지정합니다. 이 특성에는 다음 값 중 하나가 있어야 합니다. - override - 기존 헤더 값을 바꿉니다.- skip - 기존 헤더 값을 바꾸지 않습니다.- append - 기존 헤더 값에 값을 추가합니다.- delete - 요청에서 헤더를 제거합니다.override 로 설정할 때 동일한 이름의 여러 항목을 등록하면 모든 항목(여러 번 나열됨)에 따라 헤더가 설정되며, 나열된 값만 결과에 설정됩니다. 정책 식이 허용됩니다. |
아니요 | override |
name | 설정할 헤더의 이름을 지정합니다. 정책 식이 허용됩니다. | 예 | 해당 없음 |
Elements
이름 | 설명 | 필수 |
---|---|---|
value | 설정할 헤더의 값을 지정합니다. 정책 식이 허용됩니다. 동일한 이름을 가진 여러 헤더에 대해서는 추가 value 요소를 추가합니다. |
아니요 |
사용
- 정책 섹션: inbound, outbound, backend, on-error
- 정책 범위: 전역, 작업 영역, 제품, API, 작업
- 게이트웨이: 클래식, v2, 사용량, 자체 호스팅, 작업 영역
사용법 참고 사항
헤더의 다중 값은 CSV 문자열에 연결됩니다. 예를 들면 다음과 같습니다.
headerName: value1,value2,value3
예외에는 표준화된 헤더가 포함됩니다. 값은 다음과 같습니다.
- 쉼표를 포함할 수 있고(
User-Agent
,WWW-Authenticate
,Proxy-Authenticate
) - 날짜를 포함할 수 있고(
Cookie
,Set-Cookie
,Warning
), - 날짜를 포함합니다(
Date
,Expires
,If-Modified-Since
,If-Unmodified-Since
,Last-Modified
,Retry-After
).
이러한 예외의 경우 여러 헤더 값이 하나의 문자열에 연결되지 않고 별도의 헤더로 전달됩니다. 예를 들면 다음과 같습니다.
User-Agent: value1
User-Agent: value2
User-Agent: value3
다음과 같은 제한 사항이 적용됩니다.
Server
헤더 제거는 지원되지 않습니다.- 헤더:
Connection
,ContentLength
,KeepAlive
,TransferEncoding
은 수정하거나 삭제할 수 없습니다.
예제
헤더 추가, 기존 재정의
<set-header name="some header name" exists-action="override">
<value>20</value>
</set-header>
헤더 제거
<set-header name="some header name" exists-action="delete" />
컨텍스트 정보를 백 엔드 서비스로 전달
이 예제에서는 백 엔드 서비스에 컨텍스트 정보를 제공하기 위해 API 수준에서 정책을 적용하는 방법을 보여 줍니다.
<!-- Copy this snippet into the inbound element to forward some context information, user id and the region the gateway is hosted in, to the backend service for logging or evaluation -->
<set-header name="x-request-context-data" exists-action="override">
<value>@(context.User.Id)</value>
<value>@(context.Deployment.Region)</value>
</set-header>
자세한 내용은 정책 식 및 컨텍스트 변수를 참조하세요.
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- Azure API Management 정책 도구 키트
- Azure의 Microsoft Copilot을 사용하는 작성자 정책