HTTP 头
IBM® MQ bridge for HTTP 支持自定义请求 HTTP 标头、自定义实体 HTTP 标头以及标准 HTTP 标头的子集。
HTTP 实践是将所有自定义标头以 x- 为前缀,因此, HTTP IBM MQ 桥接以 x-msg- 为前缀。 例如,要设置优先级头,请使用 x-msg-priority。
- 大多数头值区分大小写。 例如,使用 msgId 头时,
NONE是关键字,而none是 msgID。 - 将忽略拼写错误的头。
自定义实体 HTTP 标头
自定义实体 HTTP 标头包含有关 IBM MQ 消息的信息。 通过使用实体头,可以在消息描述符 ( MQMD) 中设置值,或在 MQMD中设置查询值。 其他实体头 x-msg-usr设置并返回要与请求关联的任何用户属性信息。
实体头可以在不同的 HTTP 请求上下文中使用:
- DELETE
- 您只能使用
x-msg-correlId, 或者x-msg-msgId或两者,实体标题为 DELETEHTTP 请求。 标题的作用是通过 MQGETMsgId 和 CorrelId 选择特定的消息,并将其从队列中删除。 - GET
- 您只能使用
x-msg-correlId, 或者x-msg-msgId或两者,实体标题为 GETHTTP 请求。 标题的作用是 MsgId 和 CorrelId 在 MQGET 中选择特定的邮件进行浏览。 - POST
- 除了
x-msg-timestamp,您可以在 POST HTTP中使用任何实体头。 - x-msg-require-headers
- 在任何 GET 、 POST 或 DELETE HTTP中,您都可以在x-msg-require-headers请求标头中添加多个实体标头,并用逗号分隔。 其效果HTTP中返回指定的实体头,其中包含关联消息属性的值。
IBM MQ bridge for HTTP在其中处理头的上下文的每个头列表的描述。 例如,在标题中 POST, x-msg-require-headers ,该标题由 IBM MQ bridge for HTTP在 HTTPPOST请求,或者在 HTTP 中的 x-msg-require-headers 请求标头中 POST, GET , 或者 DELETE要求。 如果头包含在上下文中,那么将忽略该头。 未报告任何错误。
您可以将任何标准HTTP 标头添加到请求中,以便由Web服务器或其他请求处理程序进行处理。 同样,响应可能包含由Web服务器或其他响应处理程序插入的其他标准 HTTP 标头。
自定义请求 HTTP 标头
三个自定义HTTP (x-msg-range 、x-msg-require-headers 和 x-msg-wait) 将 HTTP附加信息传递给服务器。 它们充当请求修饰符。 通过 x-msg-range,可以限制在响应中返回的消息数据量。 使用 x-msg-require-headers,您可以请求响应以包含有关请求结果的信息。 使用 x-msg-wait ,您可以修改客户端等待 HTTP的时间。
HTTP 头
必须HTTP/1.1中指定主机标准 HTTP 请求头。
可以在请求中指定 “内容长度” 和 “内容类型” 标准 HTTP 实体头。
响应请求时,可以返回内容长度 、内容位置 、内容范围 、内容类型和服务器标准 HTTP 实体标头。 在请求消息的x-msg-request-header标头中指定一个或多个标准 HTTP 标头。