1.7.2. Preflighted 请求
使用 OPTIONS 方法将初始 preflight 请求发送到 Kafka Bridge。HTTP OPTIONS 请求会发送标头信息,以检查 Kafka Bridge 是否允许实际请求。
此处显示 POST 请求有效的 preflight 请求检查 https://strimzi.io。
OPTIONS /my-group/instances/my-user/subscription HTTP/1.1
Origin: https://strimzi.io
Access-Control-Request-Method: POST
Access-Control-Request-Headers: Content-Type
OPTIONS 添加到 preflight 请求的标题信息中。
curl -v -X OPTIONS -H 'Origin: https://strimzi.io' \
-H 'Access-Control-Request-Method: POST' \
-H 'content-type: application/vnd.kafka.v2+json'
Kafka Bridge 响应初始请求,以确认请求将被接受。响应标头返回允许的源、方法和标头。
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://strimzi.io
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS,PATCH
Access-Control-Allow-Headers: content-type
如果 origin 或 方法被拒绝,则返回错误消息。
实际请求不需要 Access-Control-Request-Method 标头,因为它在 preflight 请求中确认,但它需要 origin 标头。
curl -v -X POST HTTP-ADDRESS/topics/bridge-topic \
-H 'Origin: https://strimzi.io' \
-H 'content-type: application/vnd.kafka.v2+json'
该响应显示允许原始 URL。
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://strimzi.io