2

Location 以外の 307 ヘッダーを追加/変更できないというのは本当ですか? 私は Node.js でそれを行おうとしていますが、新しく追加されたヘッダー 'X-Atlassian-Token': 'no-check' がクライアントで使用されていないようです。

    res.writeHead(307,
        {
            'Location': 'http://www.mytest.com?os_authType=basic',
            'Content-Type': 'multipart/form-data',
            'X-Atlassian-Token': 'no-check'
        });
    res.end();

誰かが Stackoverflow で同じ質問をし、1 人が答えました -

http-redirect (302 または 307) 中にいくつかの http ヘッダーを設定することは可能ですか?

「実際には、Java オブジェクトを介して、リクエストのプロパティを設定できますが、ヘッダーは設定できません。これに対する答えを自分で探しています。これは、ヘッダーを介して送信される認証トークンやその他の情報の偽造を防ぐための意図的な制限だと思います。見つけたら解決します。」

4

1 に答える 1

2

Location 以外の 307 ヘッダーを追加/変更できないというのは本当ですか?

いいえ、そうではありません。コードを実行すると、指定されたステータス コードと追加のヘッダーの両方を含む応答が表示されます。

HTTP/1.1 307 Temporary Redirect
Location: http://www.mytest.com?os_authType=basic
Content-Type: multipart/form-data
X-Atlassian-Token: no-check
Date: Sat, 06 Jun 2015 13:40:41 GMT
Connection: keep-alive
Transfer-Encoding: chunked

期待した効果が得られない場合は、同じ質問に対するこの他の回答を参照してください。

また、応答ヘッダーが、クライアントのリダイレクト先のリソースではなく、その応答を参照していることを確認する必要があります。

つまり、X-Atlassian-Token: no-checkヘッダーはフォローアップ要求に渡されません (具体的には、クライアントから送信されません)

于 2015-06-06T13:46:09.197 に答える