服务器端HTTP 303重定向不持久请求标头(Safari + IE)

时间:2014-03-03 22:06:22

标签: javascript internet-explorer http safari http-redirect

我的webapp正在通过GET请求向我的服务器发出ajax HTTP请求,该请求将响应303状态代码。 (我相信)浏览器处理此重定向并在前一个303响应的Location头之后发出GET请求。唯一的问题是我的初始响应(导致303)有一个请求标头,身份验证。在Safari和IE上,此标头不会转发到重定向GET请求(Chrome和Firefox没有问题)。这个标题非常重要,没有它,我的GET请求导致401 Unauthorized。

我对底层结构浏览器行为非常天真,我对以下内容感到困惑:

  1. 是否真的是处理303 HTTP重定向的浏览器?
  2. Firefox和Chrome如何为重定向请求提供或保留请求标头?
  3. 我是否希望Safari和IE能够在重定向上转发我的请求标头,例如Chrome和Firefox吗?
  4. 是否有任何地方,在客户端,我可以干扰重定向请求 - 所以我可以设置请求标题?
  5. 我的初始HTTP请求

    请求网址:DOMAIN / integrator / profiles / campus / default
    请求标题

    Authorization:Bearer f85a5ce3-7c08-4e4d-a1b3
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Type:application/json
    Referer:http://localhost:3007/html5storefront/
    X-Requested-With:XMLHttpRequest
    

    状态代码:303见其他
    响应标头

    Cache-Control:no-cache
    Connection:Keep-Alive
    Content-Length:0
    Content-Type:application/json
    Date:Mon, 03 Mar 2014 21:38:13 GMT
    Keep-Alive:timeout=5, max=99
    Location:http://localhost:3007/integrator/profiles/campus/gi4dgqzsgrbuelkegmydoljug4ztgl
    Server:Apache-Coyote/1.1
    

    请求网址:DOMAIN / integrator / profiles / campus / gi4dgqzsgrbuelkegmydoljug4ztgl
    Chrome重定向请求(类似于Firefox)

    Authorization:Bearer f85a5ce3-7c08-4e4d-a1b3
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Type:application/json
    Referer:http://localhost:3007/html5storefront/
    X-Requested-With:XMLHttpRequest
    

    请求网址:DOMAIN / integrator / profiles / campus / gi4dgqzsgrbuelkegmydoljug4ztgl
    Safari的重定向请求(类似于IE)

    Referer:http://localhost:3007/html5storefront/
    X-Requested-With:XMLHttpRequest 
    

    请注意Safari重定向请求中Authorization标头的绝对值。

    感谢大家阅读我的问题。

0 个答案:

没有答案
相关问题