Chrome 和 Firefox CORS AJAX 调用在某些 Mac 计算机上中止

2023-11-24

我们有一个网页 www.saddleback.com/live,Chrome 和 Firefox CORS AJAX 调用在某些 Mac 计算机上会中止。在装有 OSX 10.9(最新更新)、Chrome 和 Firefox(最新更新)的 Mac 上,AJAX 调用被中止。这适用于 Safari。

此行为是孤立的,但在某些机器上可重现,但在其他机器上则不然。我们还有其他具有相同操作系统和浏览器版本的 Mac 计算机,可以成功打开该网页。

我已经验证Web服务器在500毫秒内成功响应AJAX请求。然而 Chrome 会等待响应大约 30 秒,并最终中止调用。我已经为下面失败的调用添加了 chrome://net-internals :

11645: URL_REQUEST
http://api.saddleback.com/WorshipService?version=2&null&_=1386201207191
Start Time: 2013-12-04 15:53:27.469

t=1386201207469 [st=    0] +REQUEST_ALIVE  [dt=30398]
t=1386201207470 [st=    1]   +URL_REQUEST_START_JOB  [dt=30397]
                              --> load_flags = 143540480 (DO_NOT_SAVE_COOKIES | DO_NOT_SEND_AUTH_DATA | DO_NOT_SEND_COOKIES | ENABLE_LOAD_TIMING | MAYBE_USER_GESTURE | REPORT_RAW_HEADERS | VERIFY_EV_CERT)
                              --> method = "GET"
                              --> priority = 2
                              --> url = "http://api.saddleback.com/WorshipService?version=2&null&_=1386201207191"
t=1386201207470 [st=    1]      HTTP_CACHE_GET_BACKEND  [dt=0]
t=1386201207470 [st=    1]      HTTP_CACHE_OPEN_ENTRY  [dt=0]
                                --> net_error = -2 (ERR_FAILED)
t=1386201207470 [st=    1]      HTTP_CACHE_CREATE_ENTRY  [dt=0]
t=1386201207470 [st=    1]      HTTP_CACHE_ADD_TO_ENTRY  [dt=0]
t=1386201207470 [st=    1]     +HTTP_STREAM_REQUEST  [dt=2]
t=1386201207472 [st=    3]        HTTP_STREAM_REQUEST_BOUND_TO_JOB
                                  --> source_dependency = 11647 (HTTP_STREAM_JOB)
t=1386201207472 [st=    3]     -HTTP_STREAM_REQUEST
t=1386201207472 [st=    3]     +HTTP_TRANSACTION_SEND_REQUEST  [dt=0]
t=1386201207472 [st=    3]        HTTP_TRANSACTION_SEND_REQUEST_HEADERS
                                  --> GET /WorshipService?version=2&null&_=1386201207191 HTTP/1.1
                                      Host: api.saddleback.com
                                      Connection: keep-alive
                                      Accept: application/json, text/javascript, */*; q=0.01
                                      Origin: http://www.saddleback.com
                                      User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
                                      Content-Type: application/json
                                      Referer: http://www.saddleback.com/onlinecampus/
                                      Accept-Encoding: gzip,deflate,sdch
                                      Accept-Language: en-US,en;q=0.8
t=1386201207472 [st=    3]     -HTTP_TRANSACTION_SEND_REQUEST
t=1386201207472 [st=    3]     +HTTP_TRANSACTION_READ_HEADERS  [dt=30395]
t=1386201207472 [st=    3]       +HTTP_STREAM_PARSER_READ_HEADERS  [dt=30395]
t=1386201237867 [st=30398]          CANCELLED
t=1386201237867 [st=30398]   -URL_REQUEST_START_JOB
                              --> net_error = -3 (ERR_ABORTED)
t=1386201237867 [st=30398] -REQUEST_ALIVE

以下是 Wireshark 的请求和响应:

REQUEST

GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1
    [Expert Info (Chat/Sequence): GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1]
        [Message: GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1]
        [Severity level: Chat]
        [Group: Sequence]
    Request Method: GET
    Request URI: /WorshipService?version=2&null&_=1386192341441
    Request Version: HTTP/1.1
Host: api.saddleback.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.saddleback.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Content-Type: application/json
Referer: http://www.saddleback.com/onlinecampus/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

RESPONSE

HTTP/1.1 200 OK
    [Expert Info (Chat/Sequence): HTTP/1.1 200 OK]
        [Message: HTTP/1.1 200 OK]
        [Severity level: Chat]
        [Group: Sequence]
    Request Version: HTTP/1.1
    Status Code: 200
    Response Phrase: OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: http://www.saddleback.com
Access-Control-Allow-Credentials: true
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 04 Dec 2013 21:25:41 GMT
Content-Length: 2841
    [Content length: 2841]
Set-Cookie: NSC_ndxfc1-45*80=ffffffffaf181c9545525d5f4f58455e445a4a423660;expires=Wed, 04-Dec-2013 14:44:34 GMT;path=/;httponly

我花了太多时间试图弄清楚为什么在某些 Mac 配置上失败,而在其他配置上却失败。任何帮助将非常感激。


在花了很长时间查看低级网络数据包以尝试找到问题之后。事实证明,病毒扫描程序阻止了呼叫。关闭网络扫描,它开始工作。

简而言之,Sophos 在 Firefox 和 Chrome 上阻止了 api.saddleback.com,但在 Safari 上却没有。去搞清楚。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 和 Firefox CORS AJAX 调用在某些 Mac 计算机上中止 的相关文章

随机推荐

  • VIM:按函数名称排序

    我的 menu vim 文件中有很多函数 是否可以 由我 选择它们并按函数名称对它们进行排序 p e 从乐趣中找到台词 或函数 到线endfun 查找函数名称并根据函数名称对整个块进行排序 从 a z 有时我会在函数名称上方添加一行注释 可
  • CloudKit 通知

    我可能在这里遗漏了一些明显的东西 如何创建一个 CloudKit 通知 其中包含有关您收到通知的 CKRecord 的详细信息 即不仅仅是通用的 已创建新项目 而是带有记录标题的通知 例如 吉尔和杰西卡的生日派对 为每个新记录更改创建一个带
  • 如何配置 BIRT 报告引擎直接从类路径加载字体?

    我正在编写一个使用 BIRT 生成报告的 Java 应用程序 我想将自定义字体打包在 jar 文件中 并能够将它们嵌入到 PDF 报告中 我可以先将字体提取到文件系统 然后将 BIRT 指向文件系统位置 但我想知道是否可以将 BIRT 配置
  • 树枝模板内的变量 jquery

    我正在尝试使用 twig 模板内的 jquery 变量通过 ajax 发送 但我无法访问 twig 内的 jquery 变量 我的代码是
  • JPA 实体 - 指定持久性单元?

    我有一个使用多个持久性单元的 JavaEE 项目 有没有办法指定特定 JPA 实体属于哪个持久单元 一些实体位于一个数据源中 而其他实体位于我的第二个数据源中 有没有办法使用注释来区分两者 指定哪个持久单元Entity属于 使用persis
  • 为商店构建通用应用程序时出错:“清单引用文件‘MyAppName.dll’,该文件不是有效负载的一部分。”

    当尝试为 Windows 通用应用程序的商店创建应用程序包时 我在 Visual Studio 2015 中遇到此错误 清单引用文件 MyAppName dll 该文件不是有效负载的一部分 错误是在 MyAppSourcePath Pack
  • 使用 .NET(控制台应用程序)发布多个文件和表单值

    我想将多个文件和表单变量发布到 CGI 脚本 全部在oneHTTP 请求 我相信这需要一个 HTTP postmultipart form data编码 以下是发送所需信息的 HTML 表单示例 我需要通过应用程序发送相同的信息
  • ASP.NET 捆绑/缩小:包括动态生成的 Javascript

    我有一个动态生成 Javascript 的网站 生成的代码描述了类型元数据和一些服务器端常量 以便客户端可以轻松使用服务器的服务 因此它非常可缓存 生成的 Javascript 由 ASP NET MVC 控制器提供服务 所以它有一个 Ur
  • 理解 NumPy 的 einsum

    如何np einsum work 给定数组A and B 它们的矩阵乘法和转置计算使用 A B T 或等效地 使用 np einsum ij jk gt ki A B 注 这个答案是基于一个简短的博客文章 about einsum我不久前写
  • 在 Django 中过滤窗口函数

    我有以下模型 class Foobar models Model foo models IntegerField 我想出了如何计算连续的增量foo使用窗口函数的字段 qs Foobar objects annotate delta F fo
  • Node.js HTTP 响应正文的 unicode 问题

    使用本机 http 模块的 HTTP 请求的响应正文显示 unicode 字符的问号字符 而不是其实际值 这是我正在运行的基本代码片段 var http require http var google http createClient 8
  • 未定义的行为,或者:Swift 有序列点吗?

    在 C C 中 第二条语句 int i 0 int j i i i 调用两者 未指定的行为 因为操作数的求值顺序 未指定 并且 未定义的行为 因为对同一个对象的副作用i彼此之间是无序的 参见示例 为什么这些构造 使用 是未定义的行为 未定义
  • 如何在 didReceiveRemoteNotification 中获取 userInfo JSON 值

    func application application UIApplication didReceiveRemoteNotification userInfo NSObject AnyObject PFPush handlePush us
  • Magento 产品不会显示在类别中

    我最近负责构建和部署一个大型电子商务网站 过去 我们不得不使用客户遗留的 X cart 安装进行重新开发 与他们现有的工作流程集成度太高 我们听说过 Magento 的优点 所以我设置了一个测试安装来掌握它 在几个最初的问题之后 有一个实时
  • 在 ClickOnce 应用程序中使用 EventLog

    我有一个在多个 ClickOnce 应用程序中使用的库 如果这个库出现错误 我想将错误写入窗口EventLog 我找到了一个知识库文章关于如何 但这似乎需要管理员权限才能搜索源 特别是当试图搜索时它会窒息Security事件日志 是否有办法
  • 在java中使用不同的用户调用外部进程

    我们有一个作为 Windows 服务运行的 Java 应用程序 特定功能需要执行二进制文件 但使用启动应用程序的不同用户 有什么方法可以让我们以 以不同用户身份运行 样式调用 exe 我检查了ProcessBuilder的API 但没有找到
  • Powershell 和 SQL 参数。如果为空字符串,则传递 DBNull

    我得到这个参数 objDbCmd Parameters Add telephone System Data SqlDbType VarChar 18 Out Null objDbCmd Parameters telephone Value
  • 为什么这个 Javascript RGB 到 HSL 代码不起作用?

    我发现这个 RGB 到 HSL 脚本位于http www mjijackson com 2008 02 rgb to hsl and rgb to hsv color model conversion algorithms in javas
  • 如何旋转元素并将其放置在左上角或右上角?

    我用文本旋转了一个 div 并想将其放置在左上角 我设法将其放置在顶部 但无法使其与左边缘对齐 我该怎么做呢 credit position absolute background color pink transform rotate 9
  • Chrome 和 Firefox CORS AJAX 调用在某些 Mac 计算机上中止

    我们有一个网页 www saddleback com live Chrome 和 Firefox CORS AJAX 调用在某些 Mac 计算机上会中止 在装有 OSX 10 9 最新更新 Chrome 和 Firefox 最新更新 的 M