テクノロジー

fetch() では Host ヘッダーを設定できないし話はそこまで単純じゃない - Object.create(null)

1: gfx 2025/09/01 07:30

HTTP/2,3 ではそもそも "Host header" ではない(:authority pseudo header)ので、Host headerを与えるのではなく、別の方法を提供するほうが筋がいいと思う。たとえば、「実際にリクエストするip:port」を指定できるようにする、とか。

2: ton-boo 2025/09/01 09:23

開発用の適当なドメインとって127.0.0.1に向けて、CaddyあたりでDNS-01させればhttpsつかってアクセスできるしそのドメインを普通にfetch URLに書けばHosts書き換えとかいらんのでは、という気もしますがそういう話ではない?

3: xlc 2025/09/01 09:59

目的が判らない。デタラメなクライアントの試験がしたいのなら、fetch以前からあるhttp/httpsを使えばいいのでは?/ HTTP2かどうかは関係ないと思うぞ。それが互換性というものだ。/ DNSでなくhostsでやるのが普通では?

4: manaten 2025/09/01 10:57

WSL上のnodeからkabustationのAPI呼び出そうとしてハマった記憶(Hostがlocalhostじゃないと通らないし、fetchだと上書きできない)。

5: hylom 2025/09/01 15:25

いつもhttp.requestを使っていたので逆にNode.jsでfetch使う人がいることを知ってちょっと驚いた

6: efcl 2025/09/05 00:36

Fetch APIとHostヘッダーについて。 サーバサイドの実行環境であるNode.js/Deno/Claudflare Workersなどの挙動について