0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudFront Functions のテスト機能で HTTP ヘッダー名の大文字・小文字を確認してみた

0
Last updated at Posted at 2026-10-21

CloudFront Functions のテスト機能を使用して、HTTP ヘッダー名の大文字・小文字の扱いを確認したナレッジ紹介いたします。

<結論>
CloudFront Functions のテスト機能を使用して、HTTP ヘッダー名の扱いを確認しました。
テストイベントの HTTP ヘッダー名は小文字で指定できました。
関数コードで x-cm-test-header を小文字で追加できました。
テスト結果のイベントオブジェクトでも、x-cm-test-header は小文字で出力されました。


インターネットの入り口で、すばやくルールを確認して案内する係のような機能です。

学校の正門には、登校してきた人をチェックする先生がいます。

生徒が学校に来るたびに、
先生は
名札が付いているかな?
この教室に行く人かな?
違う場所に案内した方がいいかな?
を一瞬で確認します。

<構築>
①CloudFront コンソールで 関数 を開き、Createを選択します。
image.png

②関数コードには、以下を入力します。

function handler(event) {
var response = event.response;

response.headers['x-cm-test-header'] = {
    value: 'cloudfront-functions'
};

return response;

}

③response.headers に対して、x-cm-test-header を追加しています。
ポイントは、関数コード上のヘッダー名を x-cm-test-header のように小文字で指定していることです。
コードを入力後、[変更を保存]を選択します。

image.png

④続いて、[テスト]タブを開き、イベントタイプに[Viewer response]を選択します。
テストイベントはフォームから入力できます。今回は、イベントオブジェクト内のヘッダー名を明示的に確認するため、[JSON を編集]を使用しました。
[JSON を編集]で、以下のイベントオブジェクトを入力して保存します。

image.png

{
"version": "1.0",
"context": {
"eventType": "viewer-response"
},
"viewer": {
"ip": "192.0.2.1"
},
"request": {
"method": "GET",
"uri": "/",
"querystring": {},
"headers": {
"host": {
"value": "example.com"
}
},
"cookies": {}
},
"response": {
"statusCode": 200,
"statusDescription": "OK",
"headers": {
"content-type": {
"value": "text/html"
}
},
"cookies": {}
}
}

⑤テストイベントでは、host や content-type のように HTTP ヘッダー名を小文字で指定しています。
テスト用イベントでは、distributionDomainName、distributionId、requestId などの一部フィールドを省略できます。

image.png

image.png

⑥[関数をテスト]を選択して、開発ステージの CloudFront Functions を実行します。
実行結果は 200 OK でした。また、コンピューティング使用率は 6 でした。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?