
# 配置API的HTTP响应头管理
ROMA Connect支持通过插件策略的方式，为API提供灵活的扩展能力。HTTP响应头管理策略提供了自定义HTTP响应头的能力，并在API响应中返回自定义的响应头。
插件策略和API本身相互独立，只有为API绑定插件策略后，插件策略才对API生效。为API绑定插件策略时需指定发布环境，插件策略只对指定环境上的API生效。
#### 约束与限制
- 同一个API在同一个环境中只能绑定一个相同类型的插件策略，已被API绑定的插件策略无法删除。
- ROMA Connect增加的系统响应头（x-apig-\*、x-request-id等）不支持修改。
- 跨域资源共享（CORS）功能增加的响应头不支持修改。
 
#### 创建HTTP响应头管理策略
1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
2. 在左侧的导航栏选择"服务集成 APIC \> API策略"，在"策略管理"页签下单击"创建策略"。
3. 在选择策略类型弹窗中选择"插件策略 \> HTTP响应头管理"。
4. 在配置策略弹窗中配置插件策略信息。
   表1策略配置 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 策略名称  | 填写策略的名称，根据规划自定义。建议您按照一定的命名规则填写策略名称，方便您快速识别和查找。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 策略类型  | 固定为"HTTP响应头管理"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 可见范围  | 选择策略的可见范围。 - 集成应用：策略归属某个集成应用，仅拥有该集成应用权限的用户可查看和使用该策略。  - 全局：当前实例的所有用户都可查看和使用该策略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 集成应用  | **仅当"可见范围"选择"集成应用"时需要配置。** 选择策略所属的集成应用。若没有可用的集成应用，可单击右侧的"新建集成应用"，创建一个集成应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 描述    | 填写策略的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 策略内容：支持表单模式和脚本模式两种方式，脚本模式配置请参见[脚本配置示例]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ||
   | 响应头管理 | 单击"添加响应头"，添加自定义响应头。 说明： 建议不要设置敏感信息，以防泄露。 - Name：响应头名称。每个插件中不能添加重复名称的响应头（不区分大小写）。  - Value：响应头的值。当"Action"为"Delete"时响应头的值不生效，可为空。  - Action：响应头操作，您可以覆盖、添加、删除、跳过或新增指定的响应头。 - **Override** ：覆盖 - 当API响应中存在指定的响应头时，使用当前响应头的值覆盖已有响应头的值。 - 当API响应中存在多个与指定响应头相同名称的响应头时，只会按当前响应头的值返回一条响应头记录。 - 当API响应中不存在指定的响应头时，添加当前响应头。   - **Append** ：添加 - 当API响应中存在指定的响应头时，将当前响应头的值添加到已有响应头的值之后，值之间用","分隔。 - 当API响应中存在多个与指定响应头相同名称的响应头时，会将多个响应头的值用","拼接后，再添加当前响应头的值。 - 当API响应中不存在指定的响应头时，添加当前响应头。   - **Delete** ：删除 - 当API响应中存在指定的响应头时，删除当前响应头。 - 当API响应中存在多个与指定响应头相同名称的响应头时，删除所有相同名称的响应头。   - **Skip** ：跳过 - 当API响应中存在指定的响应头时，跳过当前响应头。 - 当API响应中存在多个与指定响应头相同名称的响应头时，均不作处理直接返回。 - 当API响应中不存在指定的响应头时，添加当前响应头。   - **Add** ：新增 无论API响应中是否存在指定的响应头，都添加当前响应头。      |
      
   
5. 单击"确定"，完成插件策略的创建。
   - 在策略列表中显示已创建的访问控制策略，表示策略创建成功。
   
   - 如果您需要复制已创建的策略，请在已创建策略的"操作"列中单击"克隆"配置参数即可。**克隆策略的名称不能与已创建的策略名称重复。**
    
6. 插件策略创建后，您还需要[为API绑定插件策略]，才能使插件策略对API生效。
   **策略的绑定、解绑、更新会实时生效，不需要重新发布API。**
   
 
 #### 为API绑定插件策略
1. 在"策略管理"页签右上角的过滤条件中选择"HTTP响应头管理"。
2. 在页面中单击策略的名称，进入策略详情页面。
3. 在"关联API"下选择要绑定API的环境，然后单击"绑定API"。
4. 在绑定API弹窗中，勾选要绑定策略的API。 您可以通过指定API分组和API名称，筛选所需API。
   
5. 单击"确定"，完成API与插件策略的绑定。
 
 #### 脚本配置示例
```
{
  "response_headers": [
    {
      "name": "header1",
      "value": "test",
      "action": "append"
    },
    {
      "name": "header2",
      "value": "roma",
      "action": "override"
    }
  ]
}
```
